Spring+CXF开发WebService
2016-12-15 21:18
344 查看
ps:所有源码下载地址: http://download.csdn href="http://lib.csdn.net/base/dotnet" target=_blank>.NET/download/gaowenhui2008/7977097
准备工作:
下载spring,apache-cxf,soapUI
新建Web项目 testWebService
接口
Java代码
package com.gary.test.ws.service;
import javax.jws.WebService;
@WebService
public interface GreetingService {
public String greeting(String userName);
}
实现
Java代码
package com.gary.test.ws.service.impl;
import java.util.Calendar;
import javax.jws.WebService;
import com.gary.test.ws.service.GreetingService;
@WebService(endpointInterface = "com.gary.test.ws.service.GreetingService")
public class GreetingServiceImpl implements GreetingService {
public String greeting(String userName){
return "Hello " + userName + ", currentTime is " + Calendar.getInstance().getTime();
}
}
applicationContext.xml如下
Xml代码
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/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.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
<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" />
<jaxws:endpoint id="greetingService"
implementor="com.gary.test.ws.service.impl.GreetingServiceImpl"
address="/GreetingService" />
</beans>
web.xml如下
Xml代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
到此代码部分结束,所需jar包列表
部署到tomcat,项目启动后可以看到
安装soapUI,打开soapUI,new soapUI Project,如下,WSDL写之前配置的地址http://gary-pc:8080/testWebService/GreetingService?wsdl,OK
添加参数arg0的值,submit,可以看到右侧的返回结果
OK测试通过,成功返回正确结果
不用soapUI的话也可以直接写测试类
Java代码
package com.gary.test.ws.test;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import com.gary.test.ws.service.GreetingService;
public class TestGreetingService {
public static void main(String[] args) {
//创建WebService客户端代理工厂
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
//注册WebService接口
factory.setServiceClass(GreetingService.class);
//设置WebService地址
factory.setAddress("http://gary-pc:8080/testWebService/GreetingService");
GreetingService greetingService = (GreetingService)factory.create();
System.out.println("invoke webservice...");
System.out.println("message context is:"+greetingService.greeting("gary"));
}
}
准备工作:
下载spring,apache-cxf,soapUI
新建Web项目 testWebService
接口
Java代码
package com.gary.test.ws.service;
import javax.jws.WebService;
@WebService
public interface GreetingService {
public String greeting(String userName);
}
实现
Java代码
package com.gary.test.ws.service.impl;
import java.util.Calendar;
import javax.jws.WebService;
import com.gary.test.ws.service.GreetingService;
@WebService(endpointInterface = "com.gary.test.ws.service.GreetingService")
public class GreetingServiceImpl implements GreetingService {
public String greeting(String userName){
return "Hello " + userName + ", currentTime is " + Calendar.getInstance().getTime();
}
}
applicationContext.xml如下
Xml代码
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/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.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
<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" />
<jaxws:endpoint id="greetingService"
implementor="com.gary.test.ws.service.impl.GreetingServiceImpl"
address="/GreetingService" />
</beans>
web.xml如下
Xml代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
到此代码部分结束,所需jar包列表
部署到tomcat,项目启动后可以看到
安装soapUI,打开soapUI,new soapUI Project,如下,WSDL写之前配置的地址http://gary-pc:8080/testWebService/GreetingService?wsdl,OK
添加参数arg0的值,submit,可以看到右侧的返回结果
OK测试通过,成功返回正确结果
不用soapUI的话也可以直接写测试类
Java代码
package com.gary.test.ws.test;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import com.gary.test.ws.service.GreetingService;
public class TestGreetingService {
public static void main(String[] args) {
//创建WebService客户端代理工厂
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
//注册WebService接口
factory.setServiceClass(GreetingService.class);
//设置WebService地址
factory.setAddress("http://gary-pc:8080/testWebService/GreetingService");
GreetingService greetingService = (GreetingService)factory.create();
System.out.println("invoke webservice...");
System.out.println("message context is:"+greetingService.greeting("gary"));
}
}
相关文章推荐
- CXF+Spring 开发WebService
- Spring+CXF开发WebService
- CXF开发webservice需要的最少jar包以及CXF 和 Spring集成所需jar包
- spring和cxf整合开发Webservice步骤
- 基于Spring+CXF技术开发WebService
- spring cxf 开发webservice
- CXF整合Spring开发WebService
- cxf+spring开发(一)--- 实现webservice简单输出实例
- CXF整合Spring开发WebService
- CXF开发webservice(2):利用spring开发webservice接口
- 使用Spring+CXF开发WebService
- 谈谈WebService开发-应用篇(四)-CXF基于Spring的应用
- 基于Spring和CXF的webservice开发环境搭建
- 在web项目中使用cxf开发webservice,包含spring支持
- spring3.0+cxf webservice开发
- CXF Spring开发WebService,基于SOAP和REST方式
- maven+CXF+Spring+tomcat 开发webservice
- CXF3.0.4与spring整合开发Webservice功能的web项目
- Android开发中调用Spring CXF整合发布的WebService接口为什么抛出异常错误?
- CXF+Spring+Tomcat开发webservice接口,并添加SSL双向认证