Spring集成cxf搭建webservice【一、服务端】

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");
    }
}

猜你喜欢

转载自blog.csdn.net/AninZz/article/details/84554042