首页 / 操作系统 / Linux / CXF+Spring开发WebService在MyEclipse环境下
本文采用CXF+Spring开发WebService,开发环境为MyEclipse10,Demo结构图如下:具体实现过程:1.首先在MyEclipse10中新建一个webservice工程,命名为CXFSimpDemo,工程建完之后,右键属性添加CXF类库,本文使用的是现今最新的2.7.0版本。2.然后在项目中新建接口和类,具体实现代码如下所示:接口IGetName实现:1 package com.snail;2 import javax.jws.WebService;3 @WebService4 public interface IGetName 5 {6 public String getName(String name);7 }类GetNameImpl实现: 1 package com.snail; 2 import javax.jws.WebService; 3 @WebService(endpointInterface="com.snail.IGetName") 4 public class GetNameImpl implements IGetName { 5 @Override 6 public String getName(String name) { 7 return name; 8 } 9 10 }3.在src里新建Spring配置文件applicationContext.xml,鉴于CXF本身已经集成了Spring框架,因此我们无须再添加Spring类库,具体实现代码如下: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xmlns:jaxws="http://cxf.apache.org/jaxws" 5 xsi:schemaLocation=" http://www.springframework.org/schema/beans 6http://www.springframework.org/schema/beans/spring-beans.xsd 7http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd" > 8 9 <import resource="classpath:META-INF/cxf/cxf.xml" />10 <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />11 <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />12 <jaxws:endpoint id="getNameService"13implementor="com.snail.GetNameImpl"14address="/getName" />15</beans>其中jaxws的endpoint的id可以任意更换,implementor配置的是刚刚新建的类GetNameImpl的全路径,注意如果实现接口就会报错,adderss也可以任意配置,这个地址名将在最终生成的wsdl文件中得以体现。4.尔后,配置web.xml文件,webservice启动,最先读取的就是web.xml文件,通过配置可以快速读取CXF框架,并寻找Spring配置文件applicationContext.xml,从而可以发布webservice,具体实现代码如下: 1 <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" 2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee4 http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 5 <display-name></display-name> 6 <welcome-file-list> 7 <welcome-file>index.jsp</welcome-file> 8 </welcome-file-list> 9 <context-param>10 <param-name>contextConfigLocation</param-name>11 <param-value> classpath:applicationContext.xml</param-value>12 </context-param>13 <listener>14 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>15 </listener>16 <servlet>17 <servlet-name>CXFServlet</servlet-name>18 <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>19 <load-on-startup> 1</load-on-startup>20 </servlet>21 <servlet-mapping>22 <servlet-name>CXFServlet</servlet-name>23 <url-pattern> /ws/*</url-pattern>24 </servlet-mapping>25 </web-app> 其中classpath对应着tomcat中C:Program FilesApache Software FoundationTomcat 6.0webappsCXFSimpDemoWEB-INFclasses路径下的内容,url-pattern标签如果写成/*,在后面的wsdl的URL中项目名后面就可以直接跟上jaxws的endpoint的adderss名称,否则如图/ws/*,就需要在项目名后面加上ws才能正常访问wsdl。5.代码编译过后,借助tomcat发布webservice服务,并通过WebServices Explorer测试WebService服务,如图所示:输入测试参数Test Succeed,结果如图所示:测试成功,大功告成。Ubuntu 12.10中MyEclipse 10.6+下载+安装+破解 http://www.linuxidc.com/Linux/2013-06/86102.htm安装MyEclipse10.0 Linux+破解 http://www.linuxidc.com/Linux/2013-04/82212.htmMyEclipse中配置JDK环境变量 http://www.linuxidc.com/Linux/2013-02/80017.htmUbuntu下安装MyEclipse10和MySQL全程图解 http://www.linuxidc.com/Linux/2013-01/77869.htmMyEclipse10 开发 SSH2(Struts2.1+Spring+Hibernate) http://www.linuxidc.com/Linux/2012-07/64859.htmUbuntu 13.04 配置MyEclipes 10.7环境 http://www.linuxidc.com/Linux/2014-05/101751.htmMyEclipse 的详细介绍:请点这里
MyEclipse 的下载地址:请点这里本文永久更新链接地址