HessianD
Radu
radu.racariu at void.space
Mon May 28 11:40:32 PDT 2007
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;
}
More information about the Digitalmars-d-announce
mailing list