Hessian::Client - RPC via Hessian with a remote server.
use Hessian::Client; my $client = Hessian::Client->new( version => 1, service => 'http://some.hessian.service/.....' ); # Alternatively my $client = Hessian::Client->new( version => 2, service => 'http://some.hessian.service/.....' ); # RPC my $response = $hessian->remoteCall($arg1, $arg2, $arg3, ...);
The goal of Hessian::Client and all associated classes in this namespace is to provide support for communication via the Hessian protocol in Perl.
Hessian is a binary protocol optimized for communication in situations where it is necessary to preserve bandwidth such as in mobile web services. Due to the concise nature of the API, implementations of the Hessian protocol can be found in several languages including Java, Python, Ruby, Erlang and PHP. For some reason, till now there has been no implementation in Perl.
For a more detailed introduction into the Hessian protocol, see the main project documentation at http://www.caucho.com/resin-3.1/doc/hessian.xtp and http://hessian.caucho.com/doc/hessian-ws.html.
Hessian::Client implements basic RPC for Hessian. Although currently only tested with version 1, communication with version 2.0 servers should also work. I am currently looking for publicly available or otherwise accesible Hessian services for testing.
I probably should note that although the package was submitted under the name Hessian::Client, the real work is actually done in Hessian::Translator and its associated subclasses and roles. In fact, I will most likely change the package name to Hessian::Translator and submit this as a separate module at some point in the near future.
Hessian::Translator
1 or 2 representing the respective version of Hessian the client should speak.
1
2
A url representing the location of a Hessian server.
Not part of the public interface. See Class::Std documentation.
Note: Any method called on the client that is not defined in the public interface (so anything other than "new") will be processed into a Hessian call and posted to the service.
Testing with a Hessian 2.0 service. If anyone out there would be interested in helping with this I would be very grateful.
Work on messaging. RPC is only part of the Hessian protocol.
Make a POE filter for this perhaps.
To install Hessian::Translator, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Hessian::Translator
CPAN shell
perl -MCPAN -e shell install Hessian::Translator
For more information on module installation, please visit the detailed CPAN module installation guide.