CXF整合Spring入门教程
来源:互联网 发布:35dir分类目录源码 编辑:程序博客网 时间:2024/05/10 00:08
开发步骤:
1,apache.org下载CXF项目
2,解压cxf后,导入lib下的部分包:cxf、spring相关的包
3,创建接口与接口实现类
<!--接口-->
package com.gufengxiachen.cxf.service;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService
public interface MessageService {
String getMessage( @WebParam (name="text" ) String text);
}
<!--实现类-->
package com.gufengxiachen.cxf.service.impl;
import javax.jws.WebService;
import com.gufengxiachen.cxf.service.MessageService;
@WebService (endpointInterface = "com.gufengxiachen.cxf.service.MessageService" ,
serviceName = "MessageService" )
public class MessageServiceImpl implements MessageService{
public String getMessage(String text) {
// TODO Auto-generated method stub
return "Welcome" +text;
}
}
4,编写web.xml与beans.xml文件如下:
<!--web.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> /WEB-INF/beans.xml </param-value >
</context-param >
<listener >
< listener-class>
org.springframework.web.context.ContextLoaderListener
</ listener-class>
</listener >
<servlet >
< servlet-name> CXFServlet </servlet-name >
< display-name> CXF Servlet </ display-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> /services/* </url-pattern >
</servlet-mapping >
</ web-app>
<!--beans.xml-->
<? xml version ="1.0" encoding= "UTF-8" ?>
<!-- START SNIPPET: beans -->
< 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= "messageService"
implementor ="com.gufengxiachen.cxf.service.impl.MessageServiceImpl"
address ="/MessageService" />
</ beans>
部署在tomcat下,运行在浏览器输入:
http://127.0.0.1:8080/cxf/services/MessageService?wsdl
客户端调用代码:
package com.gufengxiachen.cxf.client;
import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import com.gufengxiachen.cxf.service.MessageService;
public class MessageServiceClient {
public static void main(String[] args) {
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.getInInterceptors().add( new LoggingInInterceptor());
factory.getOutInterceptors().add( new LoggingOutInterceptor());
factory.setServiceClass(MessageService. class);
factory.setAddress("http://localhost:8080/cxf/services/MessageService" );
MessageService client = (MessageService) factory.create();
String reply = client.getMessage( "张三" );
System. out .println("Server said: " + reply);
}
}
附录:使用wsdl2java工具生成客户端代码:
cmd命令在cxf/bin目录下,运行:
wsdl2java -p 包名 -d 目录 wsdl url
例如:
wsdl2java -p com.gufengxiachen.cxf.service -d D:/cxf/client http://127.0.0.1/cxf/services/MessageService?wsdl
- CXF整合Spring入门教程
- 五、CXF整合Spring
- CXF整合Spring
- CXF WebService整合Spring
- Spring 整合 CXF
- CXF WebService整合Spring
- CXF WebService整合Spring
- cxf和spring整合
- spring+cxf+bonecp整合
- CXF WebService整合Spring
- CXF Spring整合案例
- CXF WebService整合Spring
- cxf和spring整合
- CXF WebService整合Spring
- CXF WebService整合Spring
- CXF WebService整合Spring
- cxf 与 spring整合
- CXF整合spring
- 使用AES加密算法
- matlab数据拟合与线性回归
- 再读信号量
- 关于cuda编程的一个问题(求解)
- 10.05,本文仅针对中文汉化版
- CXF整合Spring入门教程
- ADO.NET DataSet 常见问题目录
- C#中一个窗体怎样对另外一个窗体操作,使窗体上的数据得到刷新?
- LINQ to SQL常见问题目录
- 解题报告-HDOJ-1242(广度优先搜索)
- centos6.0下Error: Connection activation failed: Device not managed by NetworkManager解决办法
- PDF文件【由Latex、CTex或MS Word等生成】嵌入所有字体的快速解决方法
- c# 基础概念
- opengl做的三角形