Spring+ cxf做服务
来源:互联网 发布:超市美工基础知识 编辑:程序博客网 时间:2024/05/22 10:56
介绍
个人觉的这已经是最简单的了,不费脑,好记。一步一步来,就实现了
工程环境所依赖的各软件的版本
首先需要新建一个maven工程,工程运行环境为:
java:jdk1.8.0_92
tomcat:apache-tomcat-8.0.35
cxf:cxf-3.1.5
操作系统:win7
一、动不动咱先来个javabean压压惊
package com.zkrj.wl.health.controller.webservice.server;public class User { private String name; private String age; private String sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } @Override public String toString() { return "用户 [用户姓名:=" + name + ", 用户年龄=" + age + ", 用户性别=" + sex + "]"; }}
二、首先先导入cxf的包,spring这里不做解释
<properties><!-- cxf --> <cxf.version>3.1.5</cxf.version><!-- 添加cxf支持 --></properties>
<dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-core</artifactId> <version>${cxf.version}</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>${cxf.version}</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http</artifactId> <version>${cxf.version}</version> </dependency>
三、紧接着,咱按着套路走,配置web.xml
<!--cxf核心控制器 --> <servlet> <servlet-name>CXFServlet</servlet-name> <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>CXFServlet</servlet-name> <url-pattern>/webservice/*</url-pattern> </servlet-mapping>
四、java接口
package com.zkrj.wl.health.controller.webservice.server;import javax.jws.WebParam;import javax.jws.WebService;import javax.jws.soap.SOAPBinding;import javax.jws.soap.SOAPBinding.Style;@WebService@SOAPBinding(style = Style.RPC)public interface IUserService {public User findAll(@WebParam(name="arg0") User user);}package com.zkrj.wl.health.controller.webservice.server;import javax.jws.WebService;import org.springframework.stereotype.Component;
五、实现类
@Component("helloWorld")@WebServicepublic class UserServiceImpl implements IUserService {@Overridepublic User findAll(User user) {System.out.println(user.toString());user.setAge("12");return user;}}
六、applicationContext.xml配置
<!-- 利用Spring管理实现类webservice--> <context:component-scan base-package="com.zkrj.wl.health.controller.webservice.server" /> <!-- cxf服务端 --> <import resource="classpath:META-INF/cxf/cxf.xml"/> <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/> <!-- 暴露webservice服务 --> <!-- implementor对应实现类上的注解 @Component("helloWorld"),address的值是暴露的服务--> <jaxws:endpoint implementor="#helloWorld" address="IUserService"> </jaxws:endpoint>
七、以上完成,启动tomcat即可。
wsdl地址:http://192.168.1.108:8080/health/webservice/IUserService?wsdl
下面便是生成的wsdl
<wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://server.webservice.controller.health.wl.zkrj.com/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" name="UserServiceImplService" targetNamespace="http://server.webservice.controller.health.wl.zkrj.com/"><wsdl:types><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://server.webservice.controller.health.wl.zkrj.com/" version="1.0"><xs:complexType name="user"><xs:sequence><xs:element minOccurs="0" name="age" type="xs:string"/><xs:element minOccurs="0" name="name" type="xs:string"/><xs:element minOccurs="0" name="sex" type="xs:string"/></xs:sequence></xs:complexType></xs:schema></wsdl:types><wsdl:message name="findAll"><wsdl:part name="arg0" type="tns:user"></wsdl:part></wsdl:message><wsdl:message name="findAllResponse"><wsdl:part name="return" type="tns:user"></wsdl:part></wsdl:message><wsdl:portType name="IUserService"><wsdl:operation name="findAll"><wsdl:input message="tns:findAll" name="findAll"></wsdl:input><wsdl:output message="tns:findAllResponse" name="findAllResponse"></wsdl:output></wsdl:operation></wsdl:portType><wsdl:binding name="UserServiceImplServiceSoapBinding" type="tns:IUserService"><soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation name="findAll"><soap:operation soapAction="" style="rpc"/><wsdl:input name="findAll"><soap:body namespace="http://server.webservice.controller.health.wl.zkrj.com/" use="literal"/></wsdl:input><wsdl:output name="findAllResponse"><soap:body namespace="http://server.webservice.controller.health.wl.zkrj.com/" use="literal"/></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service name="UserServiceImplService"><wsdl:port binding="tns:UserServiceImplServiceSoapBinding" name="UserServiceImplPort"><soap:address location="http://192.168.1.108:8080/health/webservice/IUserService"/></wsdl:port></wsdl:service></wsdl:definitions>
八、客户端实现
请参考:
http://blog.csdn.net/qq_35123802/article/details/77247145
阅读全文
1 0
- Spring+ cxf做服务
- Spring + cxf 做服务
- jfinal集成spring cxf做webservice服务
- Jfinal 集成spring 、cxf 做webService服务
- CXF+Spring 发布SOAP服务
- cxf+spring发布RESTful服务
- 使用CXF做webService(集成spring)
- cxf+spring发布webservice服务(服务器端)
- cxf+spring发布webservice服务(客户端)
- Eclipse+Maven+Spring+CXF 构建webservice 服务
- (四)CXF整合Spring发布WebService服务
- 使用CXF和spring发布rest服务
- 使用CXF和Spring发布Soap服务
- CXF+Spring+JAXB+Json构建Restful服务
- JAVA SPRING CXF集成创建WebService服务
- 使用CXF和spring搭建webService服务
- Web Service ---- CXF + SPRING 开发 SOAP服务
- 使用Spring与CXF编写rest服务
- eclipse 启动maven web项目
- break和continue的区别
- 双头队列+spfa的运用
- 前端渲染与后端渲染的区别
- Linux下patch的使用
- Spring+ cxf做服务
- Batch Normalization
- document.execCommand()接口文档
- td自动换行
- oracle 辅助文档
- Terms of Service
- Unity3D实现Android上下状态栏显示
- Queue 与List, LinkedList与 ArrayList 用法与区别
- nyoj邮票分你一半