`
yangjayup
  • 浏览: 252333 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

CXF创建webservice客户端和服务端

阅读更多

一、CXF的介绍

Apache CXF是一个开源的WebService框架,CXF大大简化了Webservice的创建,同时它继承了XFire的传统,一样可以和spring天然的进行无缝的集成。CXF框架是一种基于servlet技术的SOA应用开发框架,要正常运用基于CXF应用框架开发的企业应用,除了CXF应用本身之外,还需要JDK和servlet容器的支持。

 

二、CXF的准备条件

所需要的jar包:

  xmlbeans-2.4.0.jar

  wss4j-1.5.9.jar

  jetty-server-7.1.6.v20100715.jar

  jetty-util-7.1.6.v20100715.jar

  geronimo-ws-metadata_2.0_spec-1.1.3.jar

  geronimo-activation_1.1_spec-1.1.jar

  geronimo-servlet_3.0_spec-1.0.jar

  velocity-1.6.4.jar

  jaxb-xjc-2.2.1.1.jar

  xml-resolver-1.2.jar

  wsdl4j-1.6.2.jar

  cxf-2.3.0.jar

  XmlSchema-1.4.7.jar

  jaxb-api-2.2.1.jar

  jaxb-impl-2.2.1.1.jar

  neethi-2.0.4.jar

  geronimo-annotation_1.0_spec-1.1.1.jar

  geronimo-stax-api_1.0_spec-1.0.1.jar

下载地址:http://download.csdn.net/detail/ch656409110/5748183   (取自己需要的jar包)

 

三、创建webservice服务端

1、先将jar包放入lib目录

2、在web.xml中配置CXF框架的核心servlet

 

[html] view plaincopy
 
  1. <!-- CXF -->  
  2. <servlet>    
  3.     <servlet-name>CXFServlet</servlet-name>    
  4.     <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>    
  5.     <load-on-startup>1</load-on-startup>    
  6. </servlet>    
  7. <servlet-mapping>    
  8.     <servlet-name>CXFServlet</servlet-name>    
  9.     <url-pattern>/ws/*</url-pattern>    
  10. </servlet-mapping>  

3、在applicationContext.xml中导入xml,并且发布webservice服务

 

[html] view plaincopy
 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans  
  3.     xmlns="http://www.springframework.org/schema/beans"  
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.     xmlns:p="http://www.springframework.org/schema/p"  
  6.     xmlns:tx="http://www.springframework.org/schema/tx"  
  7.     xmlns:aop="http://www.springframework.org/schema/aop"  
  8.     xmlns:jaxws="http://cxf.apache.org/jaxws"    
  9.     xmlns:jaxrs="http://cxf.apache.org/jaxrs"    
  10.     xsi:schemaLocation="http://www.springframework.org/schema/beans   
  11.                         http://www.springframework.org/schema/beans/spring-beans-2.5.xsd  
  12.                         http://www.springframework.org/schema/tx  
  13.                         http://www.springframework.org/schema/tx/spring-tx-2.5.xsd  
  14.                         http://www.springframework.org/schema/aop  
  15.                         http://www.springframework.org/schema/aop/spring-aop-2.5.xsd  
  16.                         http://cxf.apache.org/jaxws    
  17.                         http://cxf.apache.org/schemas/jaxws.xsd    
  18.                         http://cxf.apache.org/jaxrs    
  19.                         http://cxf.apache.org/schemas/jaxrs.xsd  
  20.                         "  
  21.                         default-autowire="byName"  
  22.                         >  
  23.     <import resource="classpath:META-INF/cxf/cxf.xml" />  
  24.     <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />  
  25.     <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />  
  26.       
  27.     
  28.   <bean id="userWebservice" class="com.mm.ws.service.impl.UserWebserviceImpl"></bean>
  29.   <jaxws:endpoint implementor="#userWebservice"
  30.     address="/userWebservice">
  31.   </jaxws:endpoint>
  32. </beans>   

4、定义webservice接口UserWebservice和 实现类UserWebserviceImpl

package com.mm.ws.service;

import javax.jws.WebParam;
import javax.jws.WebService;
import com.mm.ws.result.UserResult;

@WebService(targetNamespace="http://ws.mm.com/")
public interface UserWebservice {
    /**
     *  用户登录
     *  这里的WebParam必须指定,否则调用的时候返回null 
     */
    public UserResult login(@WebParam(name = "userName") String userName, @WebParam(name = "pwd") String pwd);
}

 
public class UserWebserviceImpl implements UserWebservice {
 

    @Override
    public UserResult login(String userName, String password) {
        UserResult loginResult = new UserResult();
        return loginResult;
    }
}

 

 这样子,基本上就可以了。

 

5、保存代码,发布项目,启动tomact。

在地址栏输入:http://localhost:8880/ws/userWebservice?wsdl  即可看到发布的服务端的明细。

 

6、通过客户端调用服务端webservice,CXF生成客户端代码

通过maven引入cxf相关jar包

maven:

<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>
      <dependency>
         <groupId>org.apache.cxf</groupId>
         <artifactId>cxf-tools-common</artifactId>
         <version>${cxf.version}</version>
         <exclusions>
            <exclusion>
               <groupId>org.apache.velocity</groupId>
               <artifactId>velocity</artifactId>
            </exclusion>
         </exclusions>
      </dependency>

 

通过ant生成客户端代码:

 

<?xml version="1.0"?>
<project name="cxf wsdl2java" basedir="." default="cxfWSDLToJava">
	<property name="cxf.home" location="E:\tools\apache-cxf-2.5.0" />

	<path id="cxf.classpath">
		<fileset dir="${cxf.home}/lib">
			<include name="*.jar" />
		</fileset>
	</path>


	<target name="cxfWSDLToJava">
		
		<java classname="org.apache.cxf.tools.wsdlto.WSDLToJava" fork="true">
		            <arg value="-client" />
		            <arg value="-p" />
		            <arg value="com.dii.ws.user" />
		            <arg value="-b" />
		            <arg value="ydd-user-binding-date.xml" />
		            <arg value="-d" />
		            <arg value="../src/main/java" />
		            <arg value="http://localhost:8880/ws/userWebservice?wsdl" />
		            <classpath>
		                <path refid="cxf.classpath" />
		            </classpath>
		        </java>
		</target>

</project>

 

 

 

7、在applicationContext.xml中导入xml,并且配置webservice客户端

<?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" xmlns:http-conf="http://cxf.apache.org/transports/http/configuration"
   xsi:schemaLocation="
       http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
       http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd 
       http://cxf.apache.org/transports/http/configuration
       http://cxf.apache.org/schemas/configuration/http-conf.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:client id="userWebservice" serviceClass="com.dii.ws.user.UserWebservice"
      address="http://localhost:8880/ws/userWebservice" />
</beans>

 

分享到:
评论

相关推荐

    Java cxf开发webservice,分别有客户端和服务端

    3.这个服务端和客户端的小demo 在服务端 对外开放接口服务,然后在客户端 调用服务端的方法, 实现客户端(一个javaweb项目)对服务端(javaweb项目)方法的调用, 实际上就是发送和接收消息,实现两个系统间消息的...

    CXF 一个完整的webService(整合客户端和服务端)

    CXF基于JAX-WS(Java API for XML Web Services)标准,提供了一套工具和服务,用于创建服务端和客户端的应用程序。CXF的核心组件包括: - **服务接口和服务实现**:定义Web服务的公共API和服务的具体业务逻辑。 - ...

    java webservice 客户端、服务端生成工具

    Java WebService客户端和服务端生成工具是用于简化Java开发者在创建和调用Web服务时工作的实用程序。这些工具自动生成所需的代码框架,使开发者能够快速地与WebService进行交互,而无需手动编写大量的XML Schema...

    springboot整合CXF发布webservice和客户端调用

    SpringBoot整合CXF是将流行的Java Web服务框架CXF与SpringBoot轻量级框架结合,以便更方便地创建和消费Web服务。这个项目提供了一个很好的示例,通过详细注释帮助开发者理解如何在SpringBoot应用中发布和调用Web服务...

    cxf+spring开发webservice客户端与服务端实例

    本实例将详细阐述如何利用CXF和Spring来构建Web服务的客户端和服务端。 一、CXF简介 CXF是一个开源的Java框架,专门用于构建和消费Web服务。它支持SOAP、RESTful等多种服务模型,并且可以方便地与Spring框架集成,...

    Java webservice cxf客户端调用demo和服务端

    Java WebService CXF客户端调用和服务端的实现是企业级应用程序中常见的通信方式,它基于标准的SOAP(Simple Object Access Protocol)协议,提供了一种在分布式环境中交换信息的方法。CXF是一个开源框架,它简化了...

    CXF协议WebService+Spring客户端和服务端程序,实现了多数据源动态切换

    CXF是一个流行的开源框架,它允许开发者创建和消费SOAP(简单对象访问协议)和RESTful(Representational State Transfer)Web服务。本项目重点是利用CXF实现基于Spring的Web服务客户端和服务端程序,并且具有多数据...

    搭建WebService服务端和客户端的jar报

    CXF使得开发者能够轻松地创建和部署Web服务,同时也提供了丰富的客户端API来调用远程服务。 二、搭建WebService服务端 1. 添加依赖:在项目中引入CXF相关的jar包,如Spring_CXF_WebService压缩包中的内容。这些jar...

    WebService的客户端和服务端的全套代码

    本项目提供了基于Apache CXF框架的WebService客户端和服务端的全套代码,涵盖了从服务创建到消费的全过程。 Apache CXF是一个开源的Java框架,用于构建和开发SOAP(Simple Object Access Protocol)和RESTful...

    CXF建立webservice服务端和客户端

    它支持多种Web服务标准,如SOAP、RESTful API、WS-*规范等,使得开发者能够轻松地创建服务端和客户端应用程序。在本项目中,我们将详细探讨如何使用CXF来创建一个基于XML的SOAP Web服务以及对应的客户端。 首先,让...

    springboot+webservice搭建webservice服务端及使用java客户端两种方式进行调用webservice接口

    Spring Boot是一个流行的Java框架,用于简化Spring应用的创建和管理。本教程将讲解如何使用Spring Boot集成Apache CXF(一个强大的Java Web Service框架)来构建服务端,并探讨两种Java客户端调用Web Service接口的...

    cxf开发webservice客户端

    在IT行业中,Web服务是应用程序之间进行通信的一种标准方法,而Apache CXF是一个开源框架,用于构建和开发Web服务。本篇文章将详细讲解如何...理解这些步骤以及CXF的特性,将有助于你高效地创建和维护Web服务客户端。

    Cxf+webservice(客服端和服务端)

    综上所述,"Cxf+webservice(客服端和服务端)"项目是一个理想的起点,帮助开发者了解和实践使用Apache CXF创建和消费Web Service。通过这个简洁的示例,我们可以深入理解Web Service的工作原理,以及CXF提供的强大...

    03.使用CXF开发WebService客户端

    在IT行业中,Web Service是一种基于网络的、松散耦合的软件组件交互方式,它允许不同的应用...使用CXF开发WebService客户端.wmv"会更深入地展示这一过程,提供实际操作的步骤和示例,帮助你更好地理解和掌握这项技术。

    cxf webservice简单例子 服务端 客户端

    CXF(CXF: Composite eXtensible Framework)是一个开源的Java框架,它提供了一种在Java应用程序中创建和消费Web服务的方式。本教程将基于CXF构建一个简单的Web服务,包括服务端和客户端的实现。我们将使用CXF提供的...

    webservice cxf 服务端客户端传递参数的例子demo

    CXF是一个Java框架,它允许开发者通过简单的API来创建和使用Web服务。CXF支持多种Web服务标准,如WS-I Basic Profile、WS-Security等,并且可以与Spring框架无缝集成。它提供了SOAP和RESTful两种服务模式,使得...

    CXF开发webservice服务端

    ### CXF 开发 WebService 服务端详解 #### 一、引言 随着企业级应用对服务化的不断追求,Web Service 成为了实现不同系统间通信的重要手段之一。Apache CXF 是一个高性能、易于使用的框架,它支持多种协议,如SOAP...

    使用cxf和spring开发基于https的webservice服务端以及客户端样例

    Apache CXF是一个开源的Java框架,它支持创建和消费各种Web服务,包括SOAP和RESTful API。而Spring框架则是一个全面的企业级应用开发框架,它提供了丰富的功能,如依赖注入、AOP(面向切面编程)以及与CXF的良好集成...

    Springboot整合CXF发布Web service和客户端调用(用户和密码验证)

    而Apache CXF则是一个强大的Web服务框架,用于创建和消费Web服务。本教程将详细介绍如何利用Spring Boot与CXF进行集成,以发布Web服务并实现用户和密码验证的客户端调用。 首先,我们需要在Spring Boot项目中引入...

Global site tag (gtag.js) - Google Analytics