如题,原系统使用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生成的客户端是可以成功调用的
分享到:
相关推荐
总之,使用CXF客户端调用Axis服务端涉及多个步骤,包括生成客户端代码、配置客户端、创建服务代理以及进行实际调用。理解这些步骤并正确实现它们是成功通信的关键。在实际开发过程中,可能会遇到各种问题,需要耐心...
在描述中,“用框架cxf调用axis2提供的接口服务的一个简单例子”,意味着我们将探讨一个简单的CXF客户端如何与Axis2服务端进行交互。这通常涉及到以下步骤: 1. **创建CXF客户端**:首先,我们需要创建一个CXF...
为了能够通过Axis 1.4客户端调用上面部署的WebService,需要对生成的WSDL文件进行一定的修改,使其符合Axis 1.4的要求。 **步骤四:修改WSDL文件** 1. **下载WSDL文件**:通过访问服务的WSDL URL将其保存为`...
要深入学习这个主题,可以参考博客“WebService:Axis客户端调用需要身份验证的CXF服务”。这个博客很可能详细解释了如何在实际代码中实现上述步骤,包括如何配置Axis客户端、如何处理认证头以及如何与CXF服务进行...
在本文中,我们将重点关注CXF客户端调用Web服务的方法,特别是处理Map类型参数的问题。 首先,CXF客户端调用Web服务时,通常会通过服务接口类来实现。在给出的示例中,`TestService`接口定义了几个服务方法,如`...
1. **CXF客户端调用** CXF是一个开源的Java框架,它支持多种Web服务标准,包括JAX-WS和JAX-RS。对于客户端调用,CXF提供了一种基于接口的方式,这使得调用服务就像调用本地方法一样简单。 **服务接口定义:** ```...
以下是一个CXF客户端代码示例,用于调用远程服务的方法: ```java public class CXFClientSample { public static void main(String[] args) throws Exception { JaxWsProxyFactoryBean factory = new ...
本文将详细讲解如何使用Axis2来发布Web服务以及如何生成客户端代码来调用这些服务。 首先,让我们了解发布Web服务的过程: 1. **创建WebService**:在Axis2中,可以通过编写一个简单的Java类并暴露其方法作为Web...
- **Axis2客户端**:Axis2不仅用于服务端,还有客户端库,可以方便地从Java应用中调用Web服务。 - **Web服务的生命周期管理**:包括服务的创建、部署、测试和调试,这些过程在Axis2中都有详细的指南和支持。 - **...
5. **测试服务**:创建一个Web服务客户端,调用服务接口进行测试。可以使用CXF或Axis2提供的客户端工具,或者编写自己的Java代码。 6. **运行实例**:运行客户端,你应该能在控制台看到服务返回的“Hello, name”...
【标题】"cxf+spring+axis包"指的是在Java开发环境中使用Apache CXF、Spring框架和Axis工具进行Web服务集成的一种...4. 客户端调用:同样利用Spring的bean定义,创建服务代理对象,进行服务调用。 总的来说,这个"cx
CXF 客户端调用提供了一种更稳定的方法,尤其是在调用 CXF 自身发布的服务时更为方便。 **调用示例:** - 使用 CXF 客户端调用或其他方式调用 ### 总结 以上介绍了 WebService 的四种常见发布方式及其客户端调用...
Axis2是Apache软件基金会开发的一个Web服务框架,它提供了动态调用Web服务的能力。本文将深入探讨如何使用Axis2来动态地调用Web Service,并通过分析`WebServiceInvoker.java`这个文件来理解其实现原理。 1. **Java...
在这个基于CXF的Web服务完整例子中,我们将深入探讨CXF的核心概念、配置、以及如何创建和调用Web服务。 1. **CXF框架介绍**:CXF,全称为"Code first eXtended Framework",最初由XFire项目发展而来,后与Apache ...
在这个场景下,"Xfire客户端调用webservice jar包"是指Xfire客户端为了实现某些功能,如获取服务器数据或更新信息,需要调用Web服务的接口。这些接口通常以Java的jar包形式提供,方便开发者集成到他们的应用中。 ...
- **动态代理**:对于CXF,可以通过JAX-WS API动态生成客户端代理,无需WSDL文件,只需知道服务地址和服务接口,即可在运行时动态创建并调用服务。 在选择使用Axis还是CXF时,开发者应根据项目需求考虑灵活性、...
在客户端调用WebService时,这个库用于解析服务的WSDL文件,从而生成相应的代理类,使得客户端代码能够方便地调用服务。 3. **axis-jaxrpc-1.4.jar**:这个jar包是Apache Axis的一部分,它实现了JAX-RPC(Java API ...
6. **测试调用**:最后,你可以通过CXF客户端调用Web服务接口,此时ws-security的设置将会自动应用到请求中,保证了调用的安全性。 在提供的压缩包文件"WsClient"中,可能包含了实现以上步骤的示例代码,例如Java...
- 客户端调用:使用AXIS客户端工具或者自定义代码调用服务。 【xfire篇】 XFire是另一个开源的SOAP和RESTful Web Services框架,后来被集成到了CXF项目中。XFire以其轻量级和高性能著称,它简化了服务的开发和调用...