基于 CXF 的 restful 风格的webservice 实现
Posted TT_DUL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于 CXF 的 restful 风格的webservice 实现相关的知识,希望对你有一定的参考价值。
1、建立 cxf-server.xml 放在 src 根目录
<?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:jaxrs="http://cxf.apache.org/jaxrs"
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
http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd">
<bean id="terminalHttpService" class="com.test.httpService.TerminalServiceRS"></bean>
<jaxrs:server id="terminalService" address="/">
<jaxrs:serviceBeans>
<ref bean="terminalHttpService" />
</jaxrs:serviceBeans>
</jaxrs:server>
</beans>
2、实现 TerminalServiceRS.java
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.alibaba.fastjson.JSON;
/**
* 一个基于JAX-RS的服务
* JAX-RS是无状态的服务
*/
@Path(value="/terminal/") //声明uri路径
@Produces(value=MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON)//声明支持的类型
public class TerminalServiceRS
private static final Logger LOG = LoggerFactory.getLogger(TerminalServiceRS.class);
/**
* 接收终端的实时数据并直接推送到在线的客户端
* 接收终端的轨迹回放数据并存到内存并且推送到在线的客户端
* 通过HttpClient调用,并设置请求参数
*/
@POST
@Path(value="/location/platform/")
public String location(@PathParam("platform")String platform,String busiLocation)
return JSON.toJSONString("success");
3、需要在web.xml 中加入映射
<servlet>
<servlet-name>CXFService</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CXFService</servlet-name>
<url-pattern>/webservice/*</url-pattern>
</servlet-mapping>
最后就可以试验用浏览器访问你的 restful 了, localhost/应用名/webservice
以上是关于基于 CXF 的 restful 风格的webservice 实现的主要内容,如果未能解决你的问题,请参考以下文章
MAVEN,SPRING,CXF构建REST风格WebService