`
hua0424
  • 浏览: 2428 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

如何用cxf的动态客户端调用原系统的axis服务?

阅读更多
    如题,原系统使用axis开发的webservice服务端,现在想做个前置机,前置机用cxf提供webservice给其他系统,但是功能还是得调用原系统的webservice,使用了ClientProxyFactoryBean动态客户端,不成功。

    原来的axis的wsdl文件也不能生成cxf的客户端。wsdl2java出错。而且在eclipse里面校验时有警告。
    该服务只有一个方法:productorder,参数Productorder是个对象
    axis服务端生成的wsdl文档:


   
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://_interface.productorder.product.jboss.callcenter.com" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://_interface.productorder.product.jboss.callcenter.com" xmlns:intf="http://_interface.productorder.product.jboss.callcenter.com" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--WSDL created by Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT)-->
 <wsdl:types>
  <schema targetNamespace="http://_interface.productorder.product.jboss.callcenter.com" xmlns="http://www.w3.org/2001/XMLSchema">
   <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
   <complexType name="Productorder">
    <sequence>
     <element name="card_id" type="xsd:string"/>
     <element name="product_id" type="xsd:string"/>
     <element name="opert_id" type="xsd:string"/>
     <element name="trade_id" type="xsd:string"/>
     <element name="amount_month" type="xsd:string"/>
    </sequence>
   </complexType>
  </schema>
 </wsdl:types>

   <wsdl:message name="productorderRequest">

      <wsdl:part name="productorder" type="impl:Productorder"/>

   </wsdl:message>

   <wsdl:message name="productorderResponse">

      <wsdl:part name="productorderReturn" type="soapenc:string"/>

   </wsdl:message>

   <wsdl:portType name="ProductOrderServicePort">

      <wsdl:operation name="productorder" parameterOrder="productorder">

         <wsdl:input message="impl:productorderRequest" name="productorderRequest"/>

         <wsdl:output message="impl:productorderResponse" name="productorderResponse"/>

      </wsdl:operation>

   </wsdl:portType>

   <wsdl:binding name="ProductOrderServicePortSoapBinding" type="impl:ProductOrderServicePort">

      <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>

      <wsdl:operation name="productorder">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="productorderRequest">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://_interface.productorder.product.jboss.callcenter.com" use="encoded"/>

         </wsdl:input>

         <wsdl:output name="productorderResponse">

            <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://_interface.productorder.product.jboss.callcenter.com" use="encoded"/>

         </wsdl:output>

      </wsdl:operation>

   </wsdl:binding>

   <wsdl:service name="ProductOrderServicePortService">

      <wsdl:port binding="impl:ProductOrderServicePortSoapBinding" name="ProductOrderServicePort">

         <wsdlsoap:address location="http://10.1.1.187:9000/BossServiceForTS/services/ProductOrderServicePort"/>

      </wsdl:port>

   </wsdl:service>

</wsdl:definitions>


难道一定要用axis才能调用?
PS:用axis生成的客户端是可以成功调用的
分享到:
评论
2 楼 hua0424 2008-05-04  
Oh,no
那只好还是用axis来调用了
1 楼 jnn 2008-05-03  
你的wsdl 是rpc-encoded , CXF不支持这种编码方式。

相关推荐

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

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

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

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

    webservice :spring 3+cxf3.4服务方,AXIS1.4请示方调用

    为了能够通过Axis 1.4客户端调用上面部署的WebService,需要对生成的WSDL文件进行一定的修改,使其符合Axis 1.4的要求。 **步骤四:修改WSDL文件** 1. **下载WSDL文件**:通过访问服务的WSDL URL将其保存为`...

    WebService:Axis客户端调用需要身份验证的CXF服务

    要深入学习这个主题,可以参考博客“WebService:Axis客户端调用需要身份验证的CXF服务”。这个博客很可能详细解释了如何在实际代码中实现上述步骤,包括如何配置Axis客户端、如何处理认证头以及如何与CXF服务进行...

    cxf_axis_xfire客户端调用的几种方法[收集].pdf

    在本文中,我们将重点关注CXF客户端调用Web服务的方法,特别是处理Map类型参数的问题。 首先,CXF客户端调用Web服务时,通常会通过服务接口类来实现。在给出的示例中,`TestService`接口定义了几个服务方法,如`...

    cxf_axis_xfire客户端调用的几种方法.docx

    1. **CXF客户端调用** CXF是一个开源的Java框架,它支持多种Web服务标准,包括JAX-WS和JAX-RS。对于客户端调用,CXF提供了一种基于接口的方式,这使得调用服务就像调用本地方法一样简单。 **服务接口定义:** ```...

    CXF客户端调用以及发布服务

    以下是一个CXF客户端代码示例,用于调用远程服务的方法: ```java public class CXFClientSample { public static void main(String[] args) throws Exception { JaxWsProxyFactoryBean factory = new ...

    axis2发布webservice和调用axis2服务接口

    本文将详细讲解如何使用Axis2来发布Web服务以及如何生成客户端代码来调用这些服务。 首先,让我们了解发布Web服务的过程: 1. **创建WebService**:在Axis2中,可以通过编写一个简单的Java类并暴露其方法作为Web...

    Axis2教程和java调用webservice的各种方法总结

    - **Axis2客户端**:Axis2不仅用于服务端,还有客户端库,可以方便地从Java应用中调用Web服务。 - **Web服务的生命周期管理**:包括服务的创建、部署、测试和调试,这些过程在Axis2中都有详细的指南和支持。 - **...

    webservice axis2 cxf jar包及简单实例

    5. **测试服务**:创建一个Web服务客户端,调用服务接口进行测试。可以使用CXF或Axis2提供的客户端工具,或者编写自己的Java代码。 6. **运行实例**:运行客户端,你应该能在控制台看到服务返回的“Hello, name”...

    cxf+spring+axis包

    【标题】"cxf+spring+axis包"指的是在Java开发环境中使用Apache CXF、Spring框架和Axis工具进行Web服务集成的一种...4. 客户端调用:同样利用Spring的bean定义,创建服务代理对象,进行服务调用。 总的来说,这个"cx

    webservice四种发布方式及客户端调用

    CXF 客户端调用提供了一种更稳定的方法,尤其是在调用 CXF 自身发布的服务时更为方便。 **调用示例:** - 使用 CXF 客户端调用或其他方式调用 ### 总结 以上介绍了 WebService 的四种常见发布方式及其客户端调用...

    Java动态调用webService,axis2动态调用webService

    Axis2是Apache软件基金会开发的一个Web服务框架,它提供了动态调用Web服务的能力。本文将深入探讨如何使用Axis2来动态地调用Web Service,并通过分析`WebServiceInvoker.java`这个文件来理解其实现原理。 1. **Java...

    webService(基于cxf)的完整例子

    在这个基于CXF的Web服务完整例子中,我们将深入探讨CXF的核心概念、配置、以及如何创建和调用Web服务。 1. **CXF框架介绍**:CXF,全称为"Code first eXtended Framework",最初由XFire项目发展而来,后与Apache ...

    Xfire客户端调用webservice jar包

    在这个场景下,"Xfire客户端调用webservice jar包"是指Xfire客户端为了实现某些功能,如获取服务器数据或更新信息,需要调用Web服务的接口。这些接口通常以Java的jar包形式提供,方便开发者集成到他们的应用中。 ...

    WebService Axis和XFire(CXF)的开发流程

    - **动态代理**:对于CXF,可以通过JAX-WS API动态生成客户端代理,无需WSDL文件,只需知道服务地址和服务接口,即可在运行时动态创建并调用服务。 在选择使用Axis还是CXF时,开发者应根据项目需求考虑灵活性、...

    客户端调用webservice所需完整jar包

    在客户端调用WebService时,这个库用于解析服务的WSDL文件,从而生成相应的代理类,使得客户端代码能够方便地调用服务。 3. **axis-jaxrpc-1.4.jar**:这个jar包是Apache Axis的一部分,它实现了JAX-RPC(Java API ...

    纯java调用ws-security+CXF实现的webservice安全接口

    6. **测试调用**:最后,你可以通过CXF客户端调用Web服务接口,此时ws-security的设置将会自动应用到请求中,保证了调用的安全性。 在提供的压缩包文件"WsClient"中,可能包含了实现以上步骤的示例代码,例如Java...

    WebService详细解析(axis,xfire,cxf,授权认证加密解密)

    - 客户端调用:使用AXIS客户端工具或者自定义代码调用服务。 【xfire篇】 XFire是另一个开源的SOAP和RESTful Web Services框架,后来被集成到了CXF项目中。XFire以其轻量级和高性能著称,它简化了服务的开发和调用...

Global site tag (gtag.js) - Google Analytics