HessianD

Radu radu.racariu at void.space
Tue Jun 5 05:17:16 PDT 2007


great!

Simen Haugen wrote:
> Sorry, my bad. I just implemented the interface in both the client and 
> server code as a quick hack, and that didnt work. If I use the same 
> interface file it works.. Nice work! Looking forward to trying it.
>
>     "Simen Haugen" <simen at norstat.no <mailto:simen at norstat.no>> wrote
>     in message news:f43i4t$6ej$1 at digitalmars.com...
>     Compiling works fine now, but I cannot get your examples to work.
>     When trying to run the client, I get the following error:
>      
>     hessian.Input.HessianError: invalid reply, expected 'r' instead of<
>
>         "Radu" <radu.racariu at void.space
>         <mailto:radu.racariu at void.space>> wrote in message
>         news:f43gc1$2qa$1 at digitalmars.com...
>         I've updated the project to use:
>         tango.util.time.WallClock,
>         tango.util.time.Clock,
>
>         it works with tango 0.98 RC2.
>
>         Please download hessiand again.
>
>
>         Simen Haugen wrote:
>>         I cannot compile it. You're using tango.util.time.Utc, and in my tango trunk 
>>         that file doesn't exist.
>>
>>         "Radu" <radu.racariu at void.space> wrote in message 
>>         news:f3f7n3$1r10$1 at digitalmars.com...
>>           
>>>         HessianD (http://www.dsource.org/projects/hessiand/)
>>>         A D implementation of the Hessian (http://caucho.com/hessian) binary web
>>>         service protocol.
>>>         Supports both the client and the server model.
>>>
>>>         Client sample:
>>>
>>>         import hessian.HttpProxy :
>>>         HttpProxy;
>>>         import tango.io.Stdout;
>>>
>>>         char[] echo(char[] param);
>>>
>>>         void main ()
>>>         {
>>>
>>>             // create a Http proxy on the given Http endpoint so we can post
>>>         our Hessian stream
>>>             scope service = new HttpProxy("http://localhost:5667/hessiantest");
>>>
>>>             // create a proxy method that will do the Hessian serialization
>>>         and deserialization
>>>             auto _echo = &service.proxy!(echo);
>>>
>>>             // we'll perform the remote call and display the result
>>>             Stdout ("Remote result: ") ( _echo("Hello World!") ).newline.flush;
>>>
>>>         }
>>>
>>>         Server sample:
>>>
>>>         import hessian.HttpServer:
>>>         Server;
>>>
>>>         class impl
>>>         {
>>>         char[] echo (char[] param)
>>>         {
>>>           return param;
>>>         } }
>>>
>>>         void main()
>>>         {
>>>             // create a Http server on the given port
>>>             auto server = new Server(5667);
>>>             // attach a context with the Http endpoint and the class
>>>         implementing the method
>>>             auto context = server.addContext!(impl)("/test/hessiantest");
>>>             // bind the method to the context created
>>>             context.bind!(impl.echo);
>>>             // and finally start listenning to Http Post requests
>>>             server.start;
>>>         }
>>>
>>>
>>>
>>>             
>>
>>
>>           
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.puremagic.com/pipermail/digitalmars-d-announce/attachments/20070605/e0dbd1ec/attachment.htm 


More information about the Digitalmars-d-announce mailing list