`
ykr327504077
  • 浏览: 2589 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

cxf3.0.x与spring3.2整合

阅读更多

 <div class="iteye-blog-content-contain" style="font-size: 14px">
  进来接到webservice相关项目,本人一直从事后台底层开发,初接项目一头雾水,网上搜索之后发现大部分cxf与spring整合都是2.X的老版 本,与我本人需求出入不小,后经我与同事共同研究并获得专业指导后终于搞定,现将流程整理如下,希望能给大家带来方便。


服务端


1.首先是在项目中导入jar包:
   spring包很常用在这里不多说,cxf用到的的jar包有:
    cxf-core-3.0.3.jar
    neethi-3.0.3.jar
    woodstox-core-asl-4.4.1.jar
    wsdl4j-1.6.3.jar
    xmlschema-core-2.1.0.jar
    asm-3.3.1.jar
    cxf-rt-bindings-soap-3.0.3.jar
    cxf-rt-databinding-jaxb-3.0.3.jar
    cxf-rt-frontend-jaxws-3.0.3.jar
    cxf-rt-frontend-simple-3.0.3.jar
    cxf-rt-transports-http-3.0.3.jar
    cxf-rt-wsdl-3.0.3.jar
    stax2-api-3.1.4.jar
(这些jar包都是我个人总结的,如有多余还请大家指出)
2.在web.xml文件中配置CXFServlet

 <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.在spring的配置文件中增加关于cxf的命名空间

xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation=“http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd”

    同时引入cxf的xml文件

<import resource="classpath:META-INF/cxf/cxf.xml" />

    注意:cxf.xml文件在cxf-core的jar包中已存在,可以直接引入

4.开发好自己需要暴露出来的接口和类,并在类上加入注解@WebService

 

    这是我开发的服务端接口

import javax.jws.WebService;

import com.yao.entity.User;
@WebService
public interface WebserviceI {
	User insertUser(String name, int age, String sex);
}

   实现类

import javax.jws.WebService;

import com.yao.entity.User;
import com.yao.webservice.WebserviceI;
@WebService
public class WebserviceImpl implements WebserviceI  {

	@Override
	public User insertUser(String name, int age, String sex) {
		User user = new User();
			user.setId(1);
			user.setName(name);
			user.setAge(age);
			user.setSex(sex);
		System.out.println("插入用户成功");
		return user;
	}

     其中User类是自己开发的一个普通封装类

5.在spring中配置发布服务

<jaxws:endpoint id="WebserviceImpl"  
		implementor="com.yao.webservice.impl.WebserviceImpl"      
		address="webyao">
</jaxws:endpoint>

    其中id为写好的实现类,implementor为实现类的全限定名,address为访问路径

 

 

这样服务端的整合就全部搞定了,访问时别忘记在你的项目路径后面加入cxfServlet中配置的/webservice和发布路径/webyao以及"?wsdl"

 

 

客户端

 

客户端电脑首先要配置cxf的环境变量CXF_HOME,路径为cxf位置,例如:D:\apache-cxf-3.0.3,然后在path中加入%CXF_HOME%\bin

 

配置完成后打开命令行输入wsdl2java命令测试,测试成功的话我们就可以通过cxf来生成客户端文件了

输入命令
wsdl2java -p com.yaokr.webservice.user -d d:\src -client  http://www.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl

-p后面是你要生成的包结构,-d后面是你生成文件的保存路劲,-client后面是你要使用的服务端访问地址.

 

生成代码之后将代码拷贝到你的项目中,也可以打成jar包后导入

 

 

接下来只需要几行简单的代码就可以搞定了

import com.ssm.service.YubaoService;
import com.ssm.service.YubaoServiceService;
import com.ssm.service.YubaoService_YubaoServicePort_Client;

public class Client {
	public static void main(String[] args) {
		YubaoServiceService yb = new YubaoServiceService();//new一个服务端实现类对象,如上文中服务端的WebserviceImpl
		YubaoService ybPort = yb.getYubaoServicePort();//用new出来的实例对象获得服务端口
		String query = ybPort.query("北京");//端口调用服务中的方法
		System.out.println(query);
	}
}

 

本段代码是我的客户端测试代码,与上文中的服务端代码不能对接。

 

 

至此,整个整合的过程就全部搞定了,希望能够帮助到大家,也希望大神指正代码中的毛病和问题

 

 

</div>

0
0
分享到:
评论

相关推荐

    CXF3.0+Spring3.2 HelloWorld实例

    在本教程中,我们将深入探讨如何使用Apache CXF 3.0与Spring 3.2框架构建一个简单的"Hello World" Web服务实例。这个过程涵盖了关键的技术组件、配置步骤以及可能遇到的问题解决策略。 首先,Apache CXF是一个开源...

    CXF3.0+Spring3.2 自定义拦截器

    2. **自定义拦截器实现**:你可以通过实现`org.apache.cxf.interceptor.Fault`和`org.apache.cxf.phase.Phase`接口来自定义拦截器。`Phase`接口定义了拦截器执行的阶段,如PRE_INVOKE、POST_INVOCATION等。每个拦截...

    CXF3.0+Spring3.2 WSSecurity

    标题中的"CXF3.0+Spring3.2 WSSecurity"指的是使用Apache CXF 3.0版本与Spring 3.2版本结合实现WSSecurity(Web Services Security)的示例或教程。WSSecurity是WS-I(Web Services Interoperability Organization)...

    CXF3.0+Spring3.2 RESTFul服务(下)

    【CXF3.0+Spring3.2 RESTFul服务(下)】 在现代Web服务开发中,RESTful API已经成为主流,它通过HTTP协议提供简洁、无状态的接口,易于客户端调用。CXF,一个强大的开源服务框架,支持SOAP和RESTful服务,而Spring...

    cxf-2.7.3与spring3整合开发步骤.

    &lt;bean id="cxf" class="org.apache.cxf.bus.spring.SpringBus"/&gt; &lt;!-- 导入服务配置 --&gt; &lt;import resource="classpath:META-INF/cxf/cxf.xml"/&gt; &lt;import resource="classpath:META-INF/cxf/cxf-extension-soap...

    CXF3.0+Spring3.2 RESTFul服务

    在IT行业中,RESTFul(Representational State Transfer)是一种广泛应用于Web服务的设计风格,它强调了...通过本教程,你已经掌握了基础的CXF 3.0+Spring 3.2 RESTFul服务发布方法,为进一步的学习和开发奠定了基础。

    org.apache.cxf.spring.remoting.Jsr181HandlerMapping.jar

    org.apache.cxf.spring.remoting.Jsr181HandlerMapping.jar

    CXF3.0+Spring3.2 传输文件

    3. **使用Spring管理CXF**:通过Spring的`&lt;cxf:bus&gt;`和`&lt;cxf:service&gt;`标签,可以将CXF服务注册到Spring容器中。这样,你可以利用Spring的依赖注入特性,将其他业务对象注入到服务实现中。 4. **错误处理与调试**:...

    tomcat2WAS9.rar

    spring4.3.x、CXF3.2.x框架部署到Websphere9,在TOMCAT8.5跑没问题,到WAS9上各种冲突,框架用的jar和工具都很新,网上资料很少, 最后干脆自己不停尝试,用了2天时间终于把冲突的jar包理顺了。方法就是各种排列组合...

    基于Apache CXF 3.0 Spring 4.0 Maven 3.0 构建简单Restful 接口

    &lt;bean id="cxf" class="org.apache.cxf.jaxrs.JAXRSServerFactoryBean"&gt; &lt;bean class="org.apache.cxf.jaxrs.provider.json.JSONProvider"/&gt; &lt;bean id="myService" class="com.example....

    apache-cxf-2.0.10.zip下载地址

    4. **配置文件**:如cxf.xml,用于配置CXF的行为和设置。 要开始使用Apache CXF 2.0.10,开发者需要解压此压缩包,将库文件添加到项目中,然后根据自己的需求配置CXF并编写相应的服务或客户端代码。需要注意的是,...

    Spring4.3整合CXF3.0.4需要使用的Jar包--亲测可用

    Spring4.3整合CXF3.0.4需要使用的Jar包,Spring4.0以上需要使用CXF3.0以上的jar包才可以,之前使用CXF2.7会报各种错误,cxf-core-3.0.4.jar,cxf-rt-bindings-soap-3.0.4.jar

    cxf spring maven 实例

    【标题】"CXF Spring Maven 实例"是一个关于如何整合并使用这些技术创建Web服务的教程。CXF是一个开源框架,主要用于构建和部署SOAP和RESTful Web服务,Spring则是一个广泛应用的Java企业级开发框架,而Maven是项目...

    CXF3.0.2jar包资源

    这些库可能包括了CXF的核心组件、与其他技术(如Spring)的适配器,以及对WS-*规范的支持库。将这些JAR添加到项目的类路径中,可以确保CXF框架的正常运行。 - **bin**:这个目录可能包含了CXF的一些可执行脚本或...

    apache-cxf3.0

    Apache CXF是一个强大的开源服务框架,它为开发者提供了一种高效、灵活的方式来构建和部署Web服务。CXF这个名字是“CXF = XFire + CXF”,...通过学习和应用CXF,你可以构建高效、灵活的服务,并与各种系统进行集成。

    ssh权限控制demo

    Struts2.3.x+Spring3.2.x+Hibernate4.2.x+CXF2.7.x+EasyUI1.3.4+Maven 演示了包括:权限控制、超大附件文件上传、EasyUI基本组件使用等等功能,具体请自行看本示例演示功能 SSHE框架环境需求:JAVA环境:JDK7+;...

    cxf+hibernate3.0+spring3.0 完整整合代码实现

    【标题】:“cxf+hibernate3.0+spring3.0 完整整合代码实现” 【描述】:“此项目实现了将CXF、Hibernate3.0和Spring3.0这三个开源框架集成到一起,提供了在WebLogic和Tomcat两种应用服务器上的无缝兼容。” ...

    cxf整合spring

    本文将深入探讨如何将CXF与Spring框架整合,以构建高效且灵活的Web服务解决方案。 首先,让我们了解CXF。CXF(CXF = CXF = "CXF 是一个框架")是一个开源的Java框架,它允许开发人员创建和消费各种Web服务,包括...

    12.CXF与Spring整合为JavaEE应用发布WebService

    【标题】:“12.CXF与Spring整合为JavaEE应用发布WebService” 【描述】:本章节将深入探讨如何将Apache CXF与Spring框架整合,以构建一个基于JavaEE的应用程序来发布Web服务。CXF是一个开源的Web服务框架,它支持...

    Spring3整合CXF2.7.10

    本文将详细介绍如何将Spring3与CXF2.7.10进行整合,以创建一个简单的Web服务示例。 ### 1. Spring与CXF整合的基础 - **Spring的作用**: Spring通过提供容器来管理对象的生命周期和依赖关系,使得开发者可以更专注...

Global site tag (gtag.js) - Google Analytics