我是在原有的web项目基础上搭建webservices接口的,web项目的创建过程,就省略掉了(其实我真不会。。。呵呵)
利用CXF+Spring+structs搭建webservices服务器过程
步骤一:
引入cxf发布所必要的Jar包
以上包可以cxf的官网下载,可能使用的包难带过于久远需要更新下总是好的嘛!!其中红框中标注的jar就是一下升级过(我曾经遇见过包中引入两个重复的该包,导致接口发布成功但是app总是娶不到数据的问题,所以说引入的jar包最好不要重复,即使删除引入的低版本的jar包,避免带来不必要的麻烦)
步骤二:
直接上例子
我自己的例子
其中的Calenderttest为一个测试类,因为是要用手机获取数据,我这里直接没用
直用了发布的接口类
接口的写法请注意 注释和参数(这是我写的获取新闻数据的测试阿方法,注意>@WebService
@WebService
public class NewsWebservices {
//http://10.1.40.32:8080/DhccEHR/cxf/NewsWebservices
public String test(){
return "sfq-debug--->>>NewsWebservices-ok";
}
}
以上只是一个无参数的测试方法
对于有参数的方法,其参数的表示方式
类似这样
public String getNewsInfoDetail(@WebParam(name="User_id")String User_id,@WebParam(name="News_id")String News_id){}
步骤三:返回来看下Spring的配置
<!-- cxf配置 -->
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
最后导入新闻接口的Spring
<!-- 新闻webservices -->
<import resource="/com/dhcc/news/config/spring3.xml"/>
步骤三:web.xml的配置
<pre name="code" class="java"> <!-- CXF声明 -->
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>
org.apache.cxf.transport.servlet.CXFServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
步骤四:看新闻模块的Spring3.xml配置同样是
另外+最后一步接口的发布实现
<!-- webservices的发布 -->
<bean id="newsservice" class="com.dhcc.news.webservices.NewsWebservices">
<!-- 在这可以注入dao -->
</bean>
<jaxws:endpoint id="newsWebservices" implementor="#newsservice" address="/NewsWebservices"></jaxws:endpoint>
至此webservices接口发布成功,可以通过手机访问测试了