ssi框架中发布webservie与简单调用

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客户端项目
在下图填入webservice的url,eclipes 会自动创建一个webservice的客户端程序
在这里插入图片描述
创建完之后就是一个简单的项目可以调用接口里的内容了

猜你喜欢

转载自blog.csdn.net/luluohua/article/details/84567919