webservice--CXF+Spring整合发布SOAP协议的服务

CXF+Spring整合发布SOAP协议的服务

服务端

开发步骤:

第一步:创建web项目(引入jar包)

第二步:创建SEI接口

package cn.itcast.ws.cxf.server;

import javax.jws.WebService;
import javax.xml.ws.BindingType;
import javax.xml.ws.soap.SOAPBinding;

/**
 * 
 * 

Title: WeatherInterface.java

*

Description:SEI接口

*/ @WebService @BindingType(SOAPBinding.SOAP12HTTP_BINDING) public interface WeatherInterface { public String queryWeather(String cityName); }

第三步:创建SEI实现类

package cn.itcast.ws.cxf.server;

/**
 * 
 * 

Title: WeatherInterfaceImpl.java

*

Description:SEI实现类

*/ public class WeatherInterfaceImpl implements WeatherInterface { @Override public String queryWeather(String cityName) { System.out.println("from client..."+cityName); if("北京".equals(cityName)){ return "冷且霾"; } else { return "暖且晴"; } } }

第四步:配置spring配置文件,applicationContext.xml,

标签发布服务,设置1.服务地址;2.设置服务接口;3设置服务实现类



	
	
		
			
		
	
	
	


第五步:配置web.xml,配置spring配置文件地址和加载的listener,配置CXFservlet



  ws_2_cxf_spring_server
  
  
  
  	
  	contextConfigLocation
  	classpath:applicationContext.xml
  
  
  	org.springframework.web.context.ContextLoaderListener
  
  
  
  
  	CXF
  	org.apache.cxf.transport.servlet.CXFServlet
  
  
  	CXF
  	/ws/*
  
  
  
    index.html
    index.htm
    index.jsp
    default.html
    default.htm
    default.jsp
  


第六步:部署到tomcat下,启动tomcat

第七步:测试服务,阅读使用说明书

         WSDL地址规则:http://ip:端口号/项目名称/servlet拦截路径/服务名称?wsdl


拦截器配置

配置applicationContext.xml中。

webservice--CXF+Spring整合发布SOAP协议的服务_第1张图片

Endpoint标签发布服务

标签

import javax.jws.WebService;

/**
 * 
 * 

Title: HelloWorld.java

*

Description:简单类

*/ @WebService public class HelloWorld { public String sayHello(String name){ return "hello,"+name; } }

applicationContext.xml:


		
			            
	
	
	
		
			
		
		
		
		
			
		
		
			
		
	
	
	
	
	
	
	

客户端

开发步骤:

第一步:引入jar包

第二步:生成客户端代码

webservice--CXF+Spring整合发布SOAP协议的服务_第2张图片

第三步:配置spring配置文件,applicationContent.xml



		
	


第四步:从spring上下文中获取服务实现类


第五步:调用查询方法,打印

package cn.itcast.cxf.client;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import cn.itcast.cxf.weather.WeatherInterface;

public class WeatherClient {

	public static void main(String[] args) {
		//初始化spring的上下文
		ApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
		WeatherInterface  weatherInterface = (WeatherInterface) context.getBean("weatherClient");
		String weather = weatherInterface.queryWeather("保定");
		System.out.println(weather);
	}
}





你可能感兴趣的:(JavaEE,webservice)