spring+cxf发布webservice
来源:互联网 发布:ucloud云计算 校园 编辑:程序博客网 时间:2024/05/16 18:12
cxf引入maven
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.1.8</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.1.8</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>3.1.8</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-core</artifactId>
<version>3.1.8</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-wsdl</artifactId>
<version>3.1.8</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-simple</artifactId>
<version>3.1.8</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.2.11</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-databinding-jaxb</artifactId>
<version>3.1.8</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jaxws_2.2_spec</artifactId>
<version>1.2</version>
</dependency>
web.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"
id="WebApp_ID">
<display-name>test</display-name>
<context-param>
<param-name>defaultHtmlEscape</param-name>
<param-value>true</param-value>
</context-param>
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value></param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/webservice/*</url-pattern>
</servlet-mapping>
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 为了不影响spring配置文件,cxf.xml单独引用 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/spring/spring-servlet.xml,classpath:/spring/spring-cxf.xml</param-value>
</context-param>
<session-config>
<cookie-config>
<http-only>true</http-only>
<secure>true</secure>
</cookie-config>
</session-config>
</web-app>
spring-cxf.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<jaxws:endpoint id="jiakangxiaowu" implementor="com.test.webservice.JianKangXiaoWuServiceImpl">
<jaxws:features>
<wsa:addressing xmlns:wsa="http://cxf.apache.org/ws/addressing"/>
</jaxws:features>
</jaxws:endpoint>
</beans>
webservice接口
import javax.jws.WebMethod;
import javax.jws.WebService;
<!-- http://100.100.200.100:1118 外网地址和端口 -->
@WebService(targetNamespace = "http://100.100.200.100:1118/test/webservice/xiaowu?wsdl")
public interface JianKangXiaoWuService {
@WebMethod
String funMain(String request);
}
webserviceimpl实现
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.jws.WebService;
import javax.xml.ws.BindingType;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
<!-- webservice服务名称:JianKangXiaoWuService 不区分大小写 -->
@WebService(serviceName = "JianKangXiaoWuService",targetNamespace = "http://100.100.200.100:1118/idc-http/webservice/xiaowu?wsdl", endpointInterface = "com.sankai.idc.gateway.webservice.JianKangXiaoWuService" )
@BindingType(value = "http://www.w3.org/2003/05/soap/bindings/HTTP/")
public class JianKangXiaoWuServiceImpl implements JianKangXiaoWuService {
Logger logger = LoggerFactory.getLogger(JianKangXiaoWuServiceImpl.class);
<!-- webservice请求方法名:funMain 必须对应-->
@Override
public String funMain(String body) {
logger.info("获取到上传的数据:" + body);
Map<String, String> data = new HashMap<String, String>();
Document document = DocumentHelper.parseText(body);
Element businessdata = document.getRootElement();
data.put("checkdate", businessdata.attributeValue("checkdate"));
for(Iterator i = businessdata.elementIterator(); i.hasNext();) {
Element node = (Element) i.next();
data.put(node.getName(), node.getText());
}
logger.info("上传数据转换为的map为:" + GsonUtils.toJson(data));
}
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.1.8</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.1.8</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>3.1.8</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-core</artifactId>
<version>3.1.8</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-wsdl</artifactId>
<version>3.1.8</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-simple</artifactId>
<version>3.1.8</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.2.11</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-databinding-jaxb</artifactId>
<version>3.1.8</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jaxws_2.2_spec</artifactId>
<version>1.2</version>
</dependency>
web.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"
id="WebApp_ID">
<display-name>test</display-name>
<context-param>
<param-name>defaultHtmlEscape</param-name>
<param-value>true</param-value>
</context-param>
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value></param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/webservice/*</url-pattern>
</servlet-mapping>
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- 为了不影响spring配置文件,cxf.xml单独引用 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/spring/spring-servlet.xml,classpath:/spring/spring-cxf.xml</param-value>
</context-param>
<session-config>
<cookie-config>
<http-only>true</http-only>
<secure>true</secure>
</cookie-config>
</session-config>
</web-app>
spring-cxf.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<jaxws:endpoint id="jiakangxiaowu" implementor="com.test.webservice.JianKangXiaoWuServiceImpl">
<jaxws:features>
<wsa:addressing xmlns:wsa="http://cxf.apache.org/ws/addressing"/>
</jaxws:features>
</jaxws:endpoint>
</beans>
webservice接口
import javax.jws.WebMethod;
import javax.jws.WebService;
<!-- http://100.100.200.100:1118 外网地址和端口 -->
@WebService(targetNamespace = "http://100.100.200.100:1118/test/webservice/xiaowu?wsdl")
public interface JianKangXiaoWuService {
@WebMethod
String funMain(String request);
}
webserviceimpl实现
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.jws.WebService;
import javax.xml.ws.BindingType;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
<!-- webservice服务名称:JianKangXiaoWuService 不区分大小写 -->
@WebService(serviceName = "JianKangXiaoWuService",targetNamespace = "http://100.100.200.100:1118/idc-http/webservice/xiaowu?wsdl", endpointInterface = "com.sankai.idc.gateway.webservice.JianKangXiaoWuService" )
@BindingType(value = "http://www.w3.org/2003/05/soap/bindings/HTTP/")
public class JianKangXiaoWuServiceImpl implements JianKangXiaoWuService {
Logger logger = LoggerFactory.getLogger(JianKangXiaoWuServiceImpl.class);
<!-- webservice请求方法名:funMain 必须对应-->
@Override
public String funMain(String body) {
logger.info("获取到上传的数据:" + body);
Map<String, String> data = new HashMap<String, String>();
Document document = DocumentHelper.parseText(body);
Element businessdata = document.getRootElement();
data.put("checkdate", businessdata.attributeValue("checkdate"));
for(Iterator i = businessdata.elementIterator(); i.hasNext();) {
Element node = (Element) i.next();
data.put(node.getName(), node.getText());
}
logger.info("上传数据转换为的map为:" + GsonUtils.toJson(data));
}
0 0
- cxf+spring发布webservice
- cxf+spring发布webservice
- spring +cxf 发布webservice
- spring+cxf发布webservice
- CXF+Spring发布webservice
- cxf+spring完成webservice发布
- Spring整合CXF发布WebService
- Spring 集合cxf发布webservice
- spring集成cxf发布webservice
- cxf整合spring发布webservice
- Spring+CXF+Maven发布Webservice
- CXF WebService 7 - Spring整合CXF,发布RSETful 风格WebService
- cxf+spring发布webservice服务(服务器端)
- cxf+spring发布webservice服务(客户端)
- CXF实现和Spring整合发布WebService
- Spring 整合 Apache CXF发布webService
- Spring与CXF结合发布WebService
- Spring整合CXF,发布RSETful 风格WebService
- mysql 5.6 中 explicit_defaults_for_timestamp参数
- 图片上传本地预览
- 简析DNS解析过程
- poj 1190 生日蛋糕(dfs, 剪枝)
- 这是第一篇博客
- spring+cxf发布webservice
- 10个最受欢迎的Java类
- TabLayout+ViewPager遇到的问题
- ANR原因以及分析&&APP三大崩溃
- 笔试题:SQL统计各科目中各分数线人数
- 拾光碎片-----保存失败!未将对象引用设置到对象的实例
- Session详解
- Matlab GUI设计
- spark 的RDD依赖系