一、使用jaxws
配置方法如下:
<bean id="tradeService" class="org.springframework.remoting.jaxws.JaxWsPortProxyFactoryBean"> <property name="serviceInterface" value="com.webservice.test.trade.TradeService" /> <property name="namespaceUri" value="http://trade.test.webservice.com/" /> <property name="wsdlDocumentUrl" value="http://127.0.0.1:8080/webservice/tradeService?wsdl" /> <property name="serviceName" value="tradeService" /> <property name="portName" value="tradeServiceImplPort" /> </bean>
若只知道访问路径(wsdlDocumentUrl),不确定其他参数时,可先确保访问路径正确,其他参数(namespaceUri、serviceName、portName)根据错误提示进行逐一修改即可。
TradeService代码:
package com.webservice.test.trade; import javax.jws.WebService; @WebService public interface TradeService { String callServiceXml(@WebParam(name="xml")String xml); }
注意:
a.对于接口类和相关类的包路径,一定要和服务器的一样,否则会出现
Unexpected wrapper element {****}tradeService found.……错误。
其实namespaceUri参数就是服务器包的路径
http://trade.test.webservice.com/对应服务器上的路径就是com.webservice.test.trade
b.接口参数上必须打上@WebParam(name="xml"),否则会出现:
JaxWsSoapFaultException: Unmarshalling Error: unexpected element (uri:"", local:"arg0")错误。
c.若都是Java工程间的通信,为避免一些不必要的情况出现,可以让服务端将接口进行打包,发送给客户端调用方,保证路径一致等问题。
二、使用spring ws的WebServiceTemplate
配置的方法如下:
<bean id="xxxWebService" class="org.springframework.ws.client.core.WebServiceTemplate"> <property name="defaultUri" value="http://XXX.net:8080"/> </bean>
三、使用CXF
配置方法如下:
<import resource="classpath:META-INF/cxf/cxf.xml" /> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> <jaxws:client id="xxxWebService" serviceClass="com.xxx.UploadFileService" address="http://XXX.net:8080"> </jaxws:client>
四、使用xfire
配置方法如下:
<bean id ="dwdsspWebService" class ="org.codehaus.xfire.spring.remoting.XFireClientFactoryBean"> <property name ="serviceClass"> <value>com.xxx.UploadFileService</value> </property> <property name ="wsdlDocumentUrl"> <value>http://XXX.net:8080/XXXServicePort?WSDL</value> </property> </bean>
在当前项目中主要是java工程间的通信,之前一直用Spring RMI和Spring集成hessian,比较习惯公共jar包的方式,所以我就只尝试了第一种客户端调用服务端的方式。
参考地址如下:
http://blog.csdn.net/kkdelta/article/details/7290769
http://blog.csdn.net/fu9958/article/details/5959262
http://blog.csdn.net/kkdelta/article/details/3987591
http://blog.csdn.net/jadyer/article/details/9002984
http://blog.csdn.net/vickychen89/article/details/6606571
http://coach.iteye.com/blog/894159
http://my.oschina.net/zimingforever/blog/212492
相关推荐
Springboot整合CXF发布Web service和客户端调用(用户和密码验证)打开及用
NULL 博文链接:https://zhangzhaoaaa.iteye.com/blog/1718819
CXF WebService整合Spring代码(包含服务,客户端两个工程 和 文档) 需要视频的话,留邮箱
一步一步详细的配置说明。外加代码。jar包太大只好截图相送。...配置时候还遇到spring实现 客户端调用服务器端时候 注入失败 4.在服务器端向客户端做映射的时候失败 5.在服务器端获取非基本类转化问题
3、com.morningstar.utility.WSUtility为调用WebService的客户端代码,在调用这个WebService返回数据时存在一点问题。希望有人能帮我解决下,指点下我,小弟不胜感激。EncryUtility为加密类,有MD5和SHA可选。 4、...
3、com.morningstar.utility.WSUtility为调用WebService的客户端代码,在调用这个WebService返回数据时存在一点问题。希望有人能帮我解决下,指点下我,小弟不胜感激。EncryUtility为加密类,有MD5和SHA可选。 4、...
spring整合cxf实现restful的webservice服务,代码分为服务端和客户端两个模块;服务端为接口,客户端为接口调用。
利用Rest WebService客户端(Feign)实现服务间调用 3).利用断路器(Hystrix)处理服务调用超时和失败,防止故障扩散 4).利用服务网关(Zuul)实现动态路由,利用ZuulFilter进行权限控制 5).完成商品分类表,商品表,...
利用Rest WebService客户端(Feign)实现服务间调用 3).利用断路器(Hystrix)处理服务调用超时和失败,防止故障扩散 4).利用服务网关(Zuul)实现动态路由,利用ZuulFilter进行权限控制 5).完成商品分类表,商品表,订单...
3.更易于实现缓存机制(第一次访问资源缓存,第二次访问资源,返回304客户端调用本地) JAX-RS整合spring服务器端开发 建立 maven web项目,演示RS整合spring服务发布 pom文件中导入坐标 web.xml配置...
这是模拟企业用户的开发,在远程调用的时候客户端必须传入密码,这里通过cxf框架 的自定义拦截器实现jax-ws,jax-rs下次在学习下。 创建springboot项目: 导入起步依赖以及junit pom文件如下: org.spring...
中文名: 经典Java EE企业应用实战--基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 原名: 经典Java EE企业应用实战--基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 作者: 李刚 资源格式: PDF 版本: 第一版 出版社: 电子...
如何在客户端调用服务端代码 页面一postback,它就显示页面的最顶端,怎样让它定位在某一位置? 如何保证页面刷新后的滚动条位置 清除网页历史记录,屏蔽后退按钮! 如何传值在2个页面之间 :要求不刷新父页面,并且...