如何解决xfire调用cxf的webrvice问题
1、cfx调用webrvice时需要加载
cxf-2.2.10.jar
jetty-6.1.21.jar
jetty-util-6.1.21.jar
rvlet-2_5-api.jar
wsdl4j-1.6.2.jar
XmlSchema-1.4.5.jar
这些包。
服务端代码代码如下:
Server impl=new Server();
JaxWsServerFactoryBean factoryBean=new JaxWsServerFactoryBean();
factoryBean.tAddress("http://ip地址/hello");
factoryBean.tServiceClass(HelloWorldServiceInf.class);
factoryBean.tServiceBean(impl);
factoryBean.getInInterceptors().add(new LoggingInInterceptor());
factoryBean.getOutInterceptors().add(new LoggingOutInterceptor());
factoryBean.create();
客户端代码
JaxWsProxyFactoryBean factoryBean=new JaxWsProxyFactoryBean();
factoryBean.getInInterceptors().add(new LoggingInInterceptor());
factoryBean.getOutInterceptors().add(new LoggingOutInterceptor());
factoryBean.tServiceClass(HelloWorldServiceInf.class);
factoryBean.tAddress("http://***/hello");
HelloWorldServiceInf impl=(HelloWorldServiceInf) factoryBean.create();
System.out.println(impl.sayHello("hello"));
怎么使用xfire 调用.net做的webrvice
1、引入xfire依赖的jar包;
2、获取服务端的wsdl,通过wsdl2java生成客户端代码;(以什么形式放入工程不限,建议打成jar包)
3、在web服务中创建客户端调用远端服务
xfire生成webrvice客户端参数设置问题。
CXF+Spring 配参考
<jaxws:rver id="toolService"
rviceClass="com.toolServer.rvice.ToolService"
address="toolService">
<jaxws:rver id="urService"
rviceClass="com.toolServer.rvice.UrService"
address="/urService">
Xfire Webrvice 参数类型不能有int或者Integer吗
如果你用axis2那返回值只支持一种类型,xfire好用一些,也广泛了一些,但是建议你webrvice最好不要用复杂类型,都拼装成简单类型或者List就好。因为自定义类型在webrvice中有可能引起未知的错误。到时候就不好调试了。