1、导入jar包(普通web项目)
引入依赖(maven项目)
<!-- webservice依赖框架CXF -->
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-core</artifactId>
<version>3.1.14</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxrs</artifactId>
<version>3.1.14</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.1.14</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>3.1.14</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");
}
}