xfire调用已经存在的远程webservice,使用包:
org.codehaus.xfire.client.Client;
使用如下的代码动态生成客户端。如何传递一个自定义的对象,网上没有看到有人有这种例子,希望有园友可以,谢谢
Person p=new Person();
client = new Client(
new URL(
"http://example.com?wsdl"));
client.invoke("reviewAlterConfig", new Object[]{p});
mark一下,我现在也遇到了java调用.net的webservice传递自定义对象,所以怎么都传送不过去。
一般不用Client。使用ServiceFactory,下面是官方给的例子,你可以参考:
// Create a service model for the client
ObjectServiceFactory serviceFactory = new ObjectServiceFactory();
Service serviceModel = serviceFactory.create(Echo.class); // 这里传递客户端stub(就是web服务的接口)的类名
// Create a client proxy
XFireProxyFactory proxyFactory = new XFireProxyFactory();
Echo echo = (Echo) proxyFactory.create(serviceModel, "http://localhost:8191/Echo"); //这里进行方法调用 System.out.println(echo.echo("Hello World"));