webservice之cxf实现[web项目中基于maven与spring整合]
webservice现开发的已实现组件不少,使用过的就有xfire及cxf. STEP 1. 依赖包添加在pom.xml文件的标签中增加如下(版本号依个人需要调整): <dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf</artifactId>
<version>2.7.7</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>2.7.7</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>2.7.7</version>
</dependency>
STEP 2. 编写服务类代码接口定义: package test.service;
import javax.jws.WebService;
/** * * @Description: webservice测试服务 * @author LeonWang * @date 2016-2-2 下午2:46:33 * */
@WebService
public interface MyService {
public void sayHi(String name);
}
接口实现 package test.service.impl;
import javax.jws.WebService;
import test.service.MyService;
@WebService(endpointInterface = "test.service.MyService")
public class MyServiceImpl implements MyService {
@Override
public void sayHi(String name) {
System.out.println("hello,"+name);
}
}
STEP 3.配置springbean及webservice发布创建cxf-servlet.xml将其放在spring配置文件扫描路径下 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.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"/>
<bean id="myService" class="test.service.impl.MyServiceImpl" />
<jaxws:endpoint id="testService" implementor="#myService" address="/testService"/>
</beans>
说明: <jaxws:endpoint id="testService" implementor="test.service.impl.MyServiceImpl" address="/testService"/>
3.address参数是重点,这是webservice发布后其wsdl的相对路径,其绝对路径为应用访问路径/cxf拦截路径/address?wsdl STEP 4.配置webservice拦截在web.xml中增加cxf的拦截配置,如下: <servlet>
<servlet-name>cxf</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>cxf</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
STEP 5.测试服务是否发布成功部署并启动服务,访问wsdl,本配置访问如下: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 访问webservice 时遇到的概念 HTTP-GET 和 HTTP-POST 的比
- Redis的安装和客户端使用注意事项
- Angular 2问题获取选择选项值
- angular – 属性间隔在observable类型中不存在
- angularjs指令中link方法无法正确获取element
- 解析 – Scala 2.9中的错误或奇怪的行为
- scala – 用于java可执行jar的SBT项目
- twitter-bootstrap – Twitter Bootstrap – Center Modal
- BootStrap给table表格的每一行添加一个按钮事件
- scala – 无法通过Jupyter导入sqlContext.implicits._而不会