1.在spring配置文件中引用cxf定义相关文件
将cxf的catlog加在spring的文件头部分,然后
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation=“http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd”
<!-- 引入cfx 框架的bean定义xml文件 -->
<import resource="classpath:META-INF/cxf/cxf.xml"/>
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>
<import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>
在引用cxf配置文件之后写一个应用WebService的接口类
package ws;
import javax.jws.WebService;
@WebService
public interface HelloWebService {
public String helloWeb();
}
然后写接口实现
package ws.impl;
import org.springframework.stereotype.Service;
import ws.HelloWebService;
@Service
public class HelloWebServiceimpl implements HelloWebService{
/**
* https://localhost:8001/springMVC_firstdemo_20181123/WebService/hello?wsdl
*/
public String helloWeb() {
return "hello webService";
}
}
2.写完接口类之后还需要在spring的配置文件中发布当前的webservice
<!-- 发布webservice接口 -->
<jaxws:endpoint
id="testWS" //识别webservice的id
implementor="#helloWebServiceimpl" 接口实现,使用#获取spring注入的对象
address="/hello" //访问路径
implementorClass="ws.HelloWebService" 接口
/>
3.发布完之后最重要的一步,配置项目web.xml
<servlet>
<servlet-name>cxf</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>cxf</servlet-name>
<url-pattern>/WebService/*</url-pattern>
</servlet-mapping>
最后webservice的路径就是 localhost:8001/项目名/web.xml中servlet-mapping配置的url/在spring配置文件中的address 组成
4.发布完WebService后创建一个客户端项目
使用eclipes自带的模板
在下图填入webservice的url,eclipes 会自动创建一个webservice的客户端程序
创建完之后就是一个简单的项目可以调用接口里的内容了