文档详情

webservice四种发布方式及客户端调用.docx

发布:2018-12-24约1.36万字共18页下载文档
文本预览下载声明
WebService 四种发布方式总结 Author:yczhang CXF方式 CXF与spring搭建webservice是目前最流行的方式,但是传闻cxf与jdk1.5有些不兼容,我没有遇到过,我遇到的问题是cxf与was6.1.1不兼容,表现在cxf必须的jar包“wsdl4j-1.6.2.jar”报错,报的错为: java.lang.IncompatibleClassChangeError,明显的jar包不兼容问题,很是头痛,后来查找资料找到解决办法是,将上述jar包新建一个was共享库,可以解决,但是客户周经理不想用此种方式,因为需要修改was,于是改用了axis2方式,下文会介绍。该问题在此处做个记录,以后使用cxf与was的时候需要注意!!! 使用cxf+spring搭建WebService: 第一步,添加jar包。此处需要注意,不同环境(tomcat、was)jar也不一定相同,例如我本地cxf+spring只需要如下jar包: 而泰康的was环境则需要如下jar包: 明显的多了很多,原因应该是服务器jar包池的不同。根据错误提示缺什么补什么就可以了,注意jar包勿重复。 第二步,配置web.xml文件,如下(重要的地方已标记): context-param param-namecontextConfigLocation/param-name param-valueclasspath:/applicationContext.xml/param-value /context-param listener listener-classorg.springframework.web.context.ContextLoaderListener/listener-class /listener !-- Character Encoding filter -- filter filter-nameencodingFilter/filter-name filter-classorg.springframework.web.filter.CharacterEncodingFilter/filter-class init-param param-nameencoding/param-name param-valueUTF-8/param-value /init-param /filter filter-mapping filter-nameencodingFilter/filter-name url-pattern/*/url-pattern /filter-mapping servlet servlet-nameCXFServlet/servlet-name servlet-classorg.apache.cxf.transport.servlet.CXFServlet/servlet-class load-on-startup1/load-on-startup /servlet servlet-mapping servlet-nameCXFServlet/servlet-name url-pattern/webservice/*/url-pattern /servlet-mapping 上述标记的地方,第一处是spring配置文件路径;第二出是wsdl地址内容; 第三步,编写接口类与实现类,注意注解 接口类 @WebService public interface SendService { public boolean sendOA(@WebParam(name=param)String param); public boolean sendOrg(OrgEntity org); } 实现类 @WebService(endpointInterface=com.service.SendService,serviceName=sendService) public class SendServiceImpl implements SendService{ public boolean sendOA(String param) { System.out.println(-------sendOA---------param:+param); if(param.equals(zhoujian)){ return true; } return false; } public boolean
显示全部
相似文档