`
shyboy0358
  • 浏览: 35775 次
文章分类
社区版块
存档分类
最新评论

cxf服务端+axis2 1.6客户端配置

 
阅读更多

1. java web service(cxf)服务端配置说明

1.项目环境

struts2+hibernate3+spring2.5

  cxf版本为apache-cxf-2.3.3.zip

2.配置步骤

   a.在项目web.xml文件中加入CXF的servlet

   

      说明:@WebService注解,标注此接口为web service;

           @WebParam注解,标注方中参数名称

           @SOAPBinding(style = Style.RPC)注解,标注数据的传输方式



     @WebService

     @SOAPBinding(style = Style.RPC)

     publicclass ComplexUserServiceImplimplements IComplexUserService{

         public StringgetUserByName(@WebParam(name = "name")

             String name) {

            try {

                String n8 = newString(name.getBytes(), "utf-8");

                System.out.println("getUserByName(1)" + n8);

                System.out.println("getUserByName(2)"

                  + new String(name.getBytes(), "utf-16"));

               System.out.println("getUserByName(3)"

                  + new String(name.getBytes(), "gbk"));

               System.out.println("getUserByName(4)"

                  + new String(name.getBytes(), "gb2312"));



               System.out.println(name);

               String s = new String("我是中文 THISCODE".getBytes("gbk"));

               return s;

           } catch (Exception e) {

               // TODO Auto-generated catch block

               e.printStackTrace();

               return"";

       }

      }

   c. webservice发布配置

      增加(同spring配置文件一样)applicationContext-server.xml

      <?xml version="1.0"encoding="UTF-8"?>

      <beans xmlns="http://www.springframework.org/schema/beans"

    xmlns:context="http://www.springframework.org/schema/context"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xmlns:jaxws="http://cxf.apache.org/jaxws"

    xmlns:p="http://www.springframework.org/schema/p"

    xmlns:cxf="http://cxf.apache.org/core"

    xsi:schemaLocation="http://www.springframework.org/schema/beans

       http://www.springframework.org/schema/beans/spring-beans-2.5.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"/>

  

    

    <bean id="userServiceBean" class="com.webservice.impl.ComplexUserServiceImpl"></bean>

    <bean id="outLoggingInterceptor" class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>

  

    <jaxws:server id="userServiceWS" serviceClass="com.webservice.IComplexUserService"address="/Users">

       <jaxws:serviceBean>

           <ref bean="userServiceBean"/>

       </jaxws:serviceBean>

       <jaxws:outInterceptors>

        <ref bean="outLoggingInterceptor"/>

        </jaxws:outInterceptors>

    </jaxws:server>

      </beans>

d. 结束语

   至此,启动tomcat,cxf web service会随tomcat服务器启动而自动发布cxf服务

   访问地址为http://localhost:端口/项目名称/ cxf-webservice/Users?wsdl,

   如果能访问到wsdl文件,说明cxf服务部署成功






2. web service客户端配置

  1. 项目环境

     同上

     axis所需jar包:

     axis.jar axis2-kernel-1.6.2.jar  commons-discovery-0.2.jar  commons-logging-1.1.1.jar               wsdl4j-1.6.2.jar

  2. 部署步骤

     注:本打算用CXF做客户端访问c++(gsoap)的web service服务端,无奈gsoap发布出                   wsdl文档编码格式为encoded,而CXF已不支持encoded的编码格式。如果要连                   gsoap 的web service服务店,必须换用其它框架。

     这里直接写Main函数,连接gsoap服务器即可

    publicstaticvoid main(String[] args) throws UnsupportedEncodingException {

       try {

           String endpoint = "http://192.168.1.114:8000/";

           Service service = new Service();

           Call call = (Call) service.createCall();

           call.setTargetEndpointAddress(endpoint);

           // QName第一个参数为wdsl文档的命名空间,

           // 第二个参数为wsdl发布的方法名称

           call.setOperationName(new QName("urn:calc", "getbyname"));

            // addParameter第一个参数为wsdl发布的参数名称

call.addParameter("input", null, javax.xml.rpc.ParameterMode.IN);

           // 标明返回的类型是什么

             call.setReturnClass(String.class);

             // 设置传递的参数值

           String temp = (String) call.invoke(new Object[] { new String("<?xml version=\"1.0\"encoding=\"UTF-8\"?><xml n='me'>is中文</xml>".getBytes("gbk")) });

            

              String n8 = new String(temp.getBytes(), "utf-8");

              System.out.println("getUserByName(1)" + n8);

              System.out.println("getUserByName(2)"

                     + new String(temp.getBytes(), "utf-16"));

              System.out.println("getUserByName(3)"

                     + new String(temp.getBytes(), "gbk"));

              System.out.println("getUserByName(4)"

                     + new String(temp.getBytes(), "gb2312"));

           }



       } catch (ServiceException e) {

           // TODO Auto-generatedcatch block

           e.printStackTrace();

       } catch (RemoteException e) {

           // TODO Auto-generatedcatch block

           e.printStackTrace();

       }



    }
分享到:
评论

相关推荐

    cxf客户端调用axis服务端流程

    总之,使用CXF客户端调用Axis服务端涉及多个步骤,包括生成客户端代码、配置客户端、创建服务代理以及进行实际调用。理解这些步骤并正确实现它们是成功通信的关键。在实际开发过程中,可能会遇到各种问题,需要耐心...

    spring4+cxf3+maven3整合客户端与服务端

    2. **创建POM.xml**:在项目根目录下编写POM.xml文件,声明Spring、CXF和其它依赖,并配置相关的插件。 3. **配置Spring**:创建Spring配置文件(如`applicationContext.xml`),配置bean、数据源、事务管理器等。 4...

    cxf+spring+axis包

    【标题】"cxf+spring+axis包"指的是在Java开发环境中使用Apache CXF、Spring框架和Axis工具进行Web服务集成的一种技术组合。这个压缩包包含的版本是cxf-2.4.1、axis-1.4以及适用于Spring 3.0的库。 【描述】"cxf-...

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

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

    webservice(cxf)+ajax请求,客户端和服务器端

    【标题】:Web服务(CXF)+Ajax 请求:客户端与服务器端交互 【知识点详解】 Web服务在现代软件开发中扮演着至关重要的角色,它提供了不同系统间数据交换的标准方式。CXF 是一个流行的开源框架,用于创建和消费 ...

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

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

    CXF2.1.3+spring3.0+struts2.3.4

    【标签】"CXF+spring WebService CXF"强调了这些组件的集成,特别是CXF作为Web服务的主要提供者,以及与Spring的紧密配合。CXF不仅可以用作服务提供者,还可以作为客户端来消费其他服务,这在Spring的管理下变得更加...

    CXF2.6.4配java1.6版完整包和使用说明

    这个"CXF2.6.4配java1.6版完整包和使用说明"是一个针对Java 1.6版本优化的CXF 2.6.4发行包,包含了所有必要的组件和文档,让你能够顺利地在Java 1.6环境下使用CXF进行服务开发。 CXF的核心功能包括: 1. **SOAP和...

    使用cxf wsdl2java生成webservice客户端

    使用cxf wsdl2java生成webservice客户端命令

    cxf服务端开发jar包

    2. JAX-WS:CXF支持Java API for XML Web Services (JAX-WS),这是一种用于构建和部署SOAP Web服务的标准。开发者可以使用注解或者WSDL-first方法来定义服务接口。 3. JAX-RS:CXF也支持Java API for RESTful Web ...

    cxf服务端和客户端所需jar包

    综上所述,"cxf服务端和客户端所需jar包"这个压缩包可能包含以上列出的所有或部分jar文件,它们协同工作以确保CXF服务端能够正确地发布和执行服务,同时客户端能够成功地调用这些服务。在实际开发中,根据项目需求...

    cxf简单实例 服务端与客户端

    1. 生成客户端代理:CXF提供了工具(如wsdl2java或JAXB)可以从服务端的WSDL(Web Service Description Language)文件生成客户端所需的Java类。 2. 初始化客户端:使用生成的Java类,初始化客户端代理对象,并设置...

    ibatis+spring+cxf+mysql搭建webservice的客户端

    ibatis+spring+cxf+mysql搭建webservice的客户端,文章地址在http://blog.csdn.net/cenyi2013/article/details/17315755. 服务端源码的下载地址在http://download.csdn.net/detail/cenyi2012/6712729

    cxf与axis2区别

    CXF与Axis2框架区别详解 CXF和Axis2是两个流行的Webservice框架,都是由现有的项目逐渐演化而来的。Axis2是由Axis1.x系列演化而来,而Apache CXF则是由Celtix和XFire项目整合而生。在本文中,我们将探讨CXF和Axis2...

    cxf生成客户端 服务端代码

    cxf生成客户端 服务端代码

    springmvc+webservice(cxf)+maven 完整实例

    3. `src/main/resources`:资源文件目录,可能有Spring的配置文件(如`applicationContext.xml`、`servlet-context.xml`)、CXF的服务配置(如`cxf-servlet.xml`)以及其他资源文件。 4. `src/test/java`:测试代码...

    cxf+spring+client

    在"**cxf+spring+client**"的场景中,我们通常会创建一个Spring配置文件,定义CXF客户端的bean。这个bean将包含服务的地址、端点接口、以及可能需要的安全或认证配置。Spring容器管理CXF客户端,确保在需要时能正确...

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

    压缩包中的"cxf-web服务端客户端"可能包含了服务器端的项目源码、客户端的示例代码,以及相关的配置文件。通过解压并导入到IDE中,开发者可以直观地学习如何设置和使用CXF进行Web服务开发。 总结,这个例子是一个...

    myService_purpose1sv_cxf调用axis2的接口服务_接口服务_

    在描述中,“用框架cxf调用axis2提供的接口服务的一个简单例子”,意味着我们将探讨一个简单的CXF客户端如何与Axis2服务端进行交互。这通常涉及到以下步骤: 1. **创建CXF客户端**:首先,我们需要创建一个CXF...

Global site tag (gtag.js) - Google Analytics