您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 通过CXF开发webService接口(soap协议maven项目)
1.引入cxf的jar包pom文件里面直接增加依赖dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.11/versionscopetest/scope/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-webmvc/artifactIdversion4.0.0.RELEASE/version/dependencydependencygroupIdorg.apache.cxf/groupIdartifactIdapache-cxf/artifactIdversion2.4.3/versiontypepom/type/dependency2.配置web.xml文件?xmlversion=1.0encoding=UTF-8?web-appxmlns=:xsi=:schemaLocation=://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsdversion=3.1display-nameArchetypeCreatedWebApplication/display-namecontext-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath:config/spring/metadataWebService-spring.xml/param-value/context-paramlistenerlistener-classorg.springframework.web.context.ContextLoaderListener/listener-class/listenerservletservlet-nameCXFServlet/servlet-nameservlet-classorg.apache.cxf.transport.servlet.CXFServlet/servlet-class/servletservlet-mappingservlet-nameCXFServlet/servlet-nameurl-pattern/services/*/url-pattern/servlet-mappingfilterfilter-nameencodingFilter/filter-namefilter-classorg.springframework.web.filter.CharacterEncodingFilter/filter-classinit-paramparam-nameencoding/param-nameparam-valueUTF-8/param-value/init-paraminit-paramparam-nameforceEncoding/param-nameparam-valuetrue/param-value/init-param/filterfilter-mappingfilter-nameencodingFilter/filter-nameurl-pattern/*/url-pattern/filter-mapping/web-app3.配置cxf.xml文件?xmlversion=1.0encoding=UTF-8?beansxmlns=:xsi=:jaxws=:context=:jaxrs=:schemaLocation=://://cxf.apache.org/jaxws://://://cxf.apache.org/jaxrs!--simpleWebService.xml配置文件start--importresource=classpath:META-INF/cxf/cxf.xml/!--importresource=classpath:META-INF/cxf/cxf-extension-soap.xml/--importresource=classpath:META-INF/cxf/cxf-servlet.xml/context:annotation-config/!--SOAP服务开放--beanid=wSS4JInInterceptorclass=org.apache.cxf.ws.security.wss4j.WSS4JInInterceptorconstructor-arg!--mapentrykey=actionvalue=UsernameToken/entrykey=passwordTypevalue=PasswordText/entrykey=uservalue=cxfServer/entrykey=passwordCallbackRefvalue=ss//map--/constructor-arg/beanbeanid=jaxWsServerFactoryBeanclass=org.apache.cxf.jaxws.JaxWsServerFactoryBeanscope=prototypepropertyname=inInterceptorslist!--refbean=wSS4JInInterceptor/--/list/property/beanbeanid=jaxWsWebServicePublisherBeanPostProcessorclass=org.apache.cxf.jaxws.spring.JaxWsWebServicePublisherBeanPostProcessorpropertyname=urlPrefixvalue=//propertyname=prototypeServerFactoryBeanNamevalue=jaxWsServerFactoryBean//bean!--simpleWebService.xml配置文件end--!--导入soap协议的服务支持serviceClass为对应的webService接口类--jaxws:serverid=ResumeUploadserviceClass=com.sigmatrix.soap.webService.DemoServiceaddress=/ResumeUpload!--添加webService接口实现类--jaxws:serviceBeanrefbean=demoServiceImpl//jaxws:serviceBean!--添加协议使用MTOM附件--jaxws:propertiesentrykey=mtom-enabledvalue=true//jaxws:properties/jaxws:server/beans4.要开放的接口加上cxf服务的注解接口类:@WebService(portName=inbound.webServices.ticket.saServiceSoap12)@javax.xml.ws.soap.MTOMpublicinterfaceDemoService{@WebMethodpublicStringdemo(@WebParam(name=demo)Demodemo);}接口实现类:@Component@WebService(portName=inbound.webServices.ticket.saServiceSoap12)@BindingType(value=)publicclassDemoServiceImplimplementsDemoService{publicStringDemo(Demodemo){StringuserName=demo.getUserName();Stringpassword=demo.getPassword();returnsuccess;}Demo实体类:publicClassDemo(){publicStringuserName;publicStringpassword;publicStringgetUserName(){returnuserName;}publicvoidsetUserName(StringuserName){this.userName=userName;}publicStringgetPassword(){returnpassword;}publicvoidsetPassword(Stringpassword){this.password=password;}}5.部署到tomcat启动即可,测试访问ip:端口号//项目名称/services/
本文标题:通过CXF开发webService接口(soap协议maven项目)
链接地址:https://www.777doc.com/doc-2007464 .html