I've modified the code to parse UTF-8 into wchar_t and std::wstring if anyone is interested in a patch. The current hessiancpp code threw exceptions for me with UTF-8 data, as the parsing code looks like it's copied from Java, where char is natively "wide", unlike C++.
I've also implemented a SWIG-based interface with Perl 5 based on hessiancpp and I can publish that if there's any interest. I implemented it this way because the Perl Hessian::Client module is not currently ready and using the Java Hessian client from Perl's Inline::Java module is OK (first class support for version 2 Hessian protocol is the advantage), but performed poorly in some cases for our Perl web application under load because of the RMI network calls.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I say submit your patches. The UTF-8 patch looks especially useful. I haven't had great luck with my latest patch, but my Sourceforge email did not work until very recently. Maybe rapopescu has also not been receiving emails from Sourceforge until recently.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This thing is so wonderful,please publish it. Now ,the project I undertake needs UTP-8 support. I am desired for it.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2010-10-05
The existing UTF-8 code is also broken with respect to 8 bit characters too. The method string_input_stream::read needs to use an unsigned char for the variable "c" in order for the existing code to work properly. Otherwise, it returns a negative integer and the code in hessian_input::read_string_impl will fail to process the multi-byte encodings correctly.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm sorry for the delays, and thanks to everyone for their comments and contributions!
Indeed the forum updates and emails were going to an email address I no longer had access to.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've modified the code to parse UTF-8 into wchar_t and std::wstring if anyone is interested in a patch. The current hessiancpp code threw exceptions for me with UTF-8 data, as the parsing code looks like it's copied from Java, where char is natively "wide", unlike C++.
I've also implemented a SWIG-based interface with Perl 5 based on hessiancpp and I can publish that if there's any interest. I implemented it this way because the Perl Hessian::Client module is not currently ready and using the Java Hessian client from Perl's Inline::Java module is OK (first class support for version 2 Hessian protocol is the advantage), but performed poorly in some cases for our Perl web application under load because of the RMI network calls.
I say submit your patches. The UTF-8 patch looks especially useful. I haven't had great luck with my latest patch, but my Sourceforge email did not work until very recently. Maybe rapopescu has also not been receiving emails from Sourceforge until recently.
This thing is so wonderful,please publish it. Now ,the project I undertake needs UTP-8 support. I am desired for it.
The existing UTF-8 code is also broken with respect to 8 bit characters too. The method string_input_stream::read needs to use an unsigned char for the variable "c" in order for the existing code to work properly. Otherwise, it returns a negative integer and the code in hessian_input::read_string_impl will fail to process the multi-byte encodings correctly.
The current code in CVS works correctly. It also implements string and binary chunking.
I'm sorry for the delays, and thanks to everyone for their comments and contributions!
Indeed the forum updates and emails were going to an email address I no longer had access to.
Released as 1.1.0