Spring整合cxf搭建webservice【一、服務端】
阿新 • • 發佈:2018-12-05
1、匯入jar包(普通web專案)
引入依賴(maven專案)
<!-- webservice依賴框架CXF --> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>${cxf.version}</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http</artifactId> <version>${cxf.version}</version> </dependency> <!-- webservice依賴框架CXF -->
2、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>
3、ApplicationContext-cxf.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd" xmlns="http://www.springframework.org/schema/beans"> <bean id="jaxWsServiceFactoryBean" class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"> <property name="wrapped" value="true" /> </bean> <jaxws:endpoint id="serviceimp" address="/LinTongWeather" implementor="cn.jiamall.webservice.WeatherWebServiceImpl"> </jaxws:endpoint> </beans>
4、建立介面類
package cn.jiamall.webservice;
import javax.jws.WebService;
@WebService
public interface WeatherWebService {
// String sayHi(@WebParam(name="text")String text);
String getLinTongWeather();
}
5、建立實現
package cn.jiamall.webservice;
import java.util.Map;
import javax.annotation.Resource;
import javax.jws.WebService;
@WebService(endpointInterface="cn.jiamall.webservice.WeatherWebService",serviceName="LinTongWeather")
public class WeatherWebServiceImpl implements WeatherWebService {
// @Override
// public String sayHi(String text) {
// // TODO Auto-generated method stub
// return "Hello " + text;
// }
@Override
public String getLinTongWeather() {
//程式碼細節
return result;
}
}
6、啟動服務
訪問http://你的地址:埠/你的專案名/webservice/剛才配置的地址?wsdl
main方法釋出服務(不整合spring的釋出方法)
package cn.jiamall.webservice;
import javax.xml.ws.Endpoint;
public class WebServiceApp {
public static void main(String[] args) {
System.out.println("web service start");
WeatherWebServiceImpl implementor= new WeatherWebServiceImpl();
String address="http://localhost:8090/Weather_LT";
Endpoint.publish(address, implementor);
System.out.println("web service started");
}
}