xmlRpc客户端例子

 

1,The xmlrpcclient-----xmlrpc客户端

在说XML-RPC server前,我们需要拥有一个XmlRpcClient的实例。

它是一个无状态,线程安全的对象。客户端通过设置如下对象来进行配置:

      A,ClientConfig:这个对象是XmlRpcClientConfig的实例。它有许多的原子属性,定义了如SERVER URL,credentials,字符集等等详细设置。

      B,TransportFactory:它的任务是创建一个用于与服务端通信的对象,这个对象使用clientConfig的设置进行配置。

      C,XmlWriterFactory:它是一个用来创建XML的对象。

 

客户端的一个例子:

    import org.apache.xmlrpc.client.XmlRpcClient;

    import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;

    XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();

    config.setServerURL(new URL("http://127.0.0.1:8080/xmlrpc"));

    XmlRpcClient client = new XmlRpcClient();

    client.setConfig(config);

    Object[] params = new Object[]{new Integer(33), new Integer(9)};

Integer result = (Integer) client.execute("Calculator.add", params);

这个示例展示我了我们调用远端的Calculator对象的add方法,参数由params指定,result作为方法的返回值。

这个示例默认使用的是java.net.URLConnection类来与服务端进行连接。假如你想要使用HTTPClient包来与服务端连接,则只需要做一个修改:

import org.apache.xmlrpc.client.XmlRpcClient;

    import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;

    import org.apache.xmlrpc.client.XmlRpcCommonsTransportFactory;

    XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();

    config.setServerURL(new URL("http://127.0.0.1:8080/XmlRpcServlet"));

    XmlRpcClient client = new XmlRpcClient();

    client.setTransportFactory(new XmlRpcCommonsTransportFactory(client));

    client.setConfig(config);

    Object[] params = new Object[]{new Integer(2), new Integer(3)};

    Integer result = (Integer) client.execute("Calculator.add", params);

换句话说,transport factory决定了客户端如何与服务端进行通信,最重要的tansprot factory如下:

A,XmlRpcSunHttpTransprotFactory:这是默认的transport factory,通过使用java.net.HttpURLConnection来与HTTP服务端 建立连接。

B,XmlRpcCommonsTransportFactory:另一个HTTP transport factory,通过使用the jakarta commons httpclient来与服务端进行通信。

C,XmlRpcLiteHttpTransportFactory:这也是一个HTTP transport factory,它是基于一个私有的,非常轻量的HTTP客户端。它很可能是最快的transport factory。但是,它不能支持HTTP/1.1,因此不能使用keepalive连接。

D,XmlRpcLocalTransportFactory:这个transport factory 有一个内嵌的XML-RPC服务器,可以通过直接的java调用来调用它。这个对于调试和开发是特别有用。

2,Server-side XML-RPC(服务端XML-RPC)

对于服务端来说,和客户端其实没太大区别。首先,需要一个叫做XmlRpcServer的对象。这个对象的目的是接收和执行来自客户端的XML-RPC调用。XmlRpcServer能够被嵌入到一个servlet container或者另一个HTTP server中。就像the local transport一样,XML-RPC server被嵌到了client application中。

就像XmlRpcClient,XmlRpcServer需要一个配置,这个配置通过XmlRpcServerConfigImpl对象提供。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值