在java客户端调用C++ GSoap生成的webservice
C++通过 GSoap生成的wsdl文件如下
<?xml version="1.0" encoding="UTF-8"?> <definitions name="Service" targetNamespace="http://tempuri.org/ns.xsd/Service.wsdl" xmlns:tns="http://tempuri.org/ns.xsd/Service.wsdl" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns="http://tempuri.org/ns.xsd" xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:MIME="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:DIME="http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/" xmlns:WSDL="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <types> <schema targetNamespace="http://tempuri.org/ns.xsd" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns="http://tempuri.org/ns.xsd" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified" attributeFormDefault="unqualified"> <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> <!-- operation request element --> <element name="T10003"> <complexType> <sequence> <element name="a" type="xsd:double" minOccurs="1" maxOccurs="1"/><!-- ns__T10003::a --> <element name="b" type="xsd:double" minOccurs="1" maxOccurs="1"/><!-- ns__T10003::b --> </sequence> </complexType> </element> <!-- operation response element --> <element name="T10003Response"> <complexType> <sequence> <element name="result" type="xsd:double" minOccurs="0" maxOccurs="1" nillable="true"/><!-- ns__T10003::result --> </sequence> </complexType> </element> </schema> </types> <message name="T10003Request"> <part name="parameters" element="ns:T10003"/><!-- ns__T10003::ns__T10003 --> </message> <message name="T10003Response"> <part name="parameters" element="ns:T10003Response"/> </message> <portType name="ServicePortType"> <operation name="T10003"> <documentation>Service definition of function ns__T10003</documentation> <input message="tns:T10003Request"/> <output message="tns:T10003Response"/> </operation> </portType> <binding name="Service" type="tns:ServicePortType"> <SOAP:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="T10003"> <SOAP:operation soapAction=""/> <input> <SOAP:body parts="parameters" use="literal"/> </input> <output> <SOAP:body parts="parameters" use="literal"/> </output> </operation> </binding> <service name="Service"> <documentation>gSOAP 2.8.14 generated service definition</documentation> <port name="Service" binding="tns:Service"> <SOAP:address location="http://localhost:80"/> </port> </service> </definitions>
在java端始终报错如下
2014-3-26 17:02:39 org.codehaus.xfire.transport.http.HttpChannel sendViaClient
严重: java.net.ConnectException: Connection refused: connect
Exception in thread "main" org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: Couldn't send message.
org.codehaus.xfire.fault.XFireFault: Couldn't send message.
at org.codehaus.xfire.fault.XFireFault.createFault(XFireFault.java:89)
at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:30)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)
at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114)
at org.codehaus.xfire.client.Client.invoke(Client.java:336)
at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
at $Proxy8.t10003(Unknown Source)
我怀疑是路径问题,请问在C++服务器端生成wsdl时,路径应该如何配置?
谢谢。。。。。。。。
相关推荐
C++通过gSOAP开发WebService客户端 本文档主要介绍了使用C++语言和gSOAP库开发WebService客户端的步骤和方法。gSOAP是一个基于C/C++的WebService开发库,支持SOAP和XML协议。下面是开发WebService客户端的详细步骤...
C++做客户端,通过gSoap调用webservice,所调用的webservice方法返回的是自定义实体类,如果返回int,String等基本数据类型,这很容易实现;但这里函数返回的是List,Course,List甚至是Object,应该很有价值!
- JAX-WS提供了工具,如wsimport,可以从WSDL文件生成Java客户端存根类,这些类可以被Java代码直接调用。 3. **C++ Webservice实现**: - C++可以使用多种库来实现Web服务,如gSOAP、Apache CXF、Qt等。 - WSDL...
标题"\"C++使用gsoap调用webservice接口\"\"指出,这个资源是关于如何在C++项目中使用gSOAP库来与Web服务进行交互。gSOAP不仅实现了SOAP协议,还支持HTTP(S)传输,这使得它能够处理基于HTTP的安全通信。 描述中提到...
"C++环境下使用gsoap开发WebService接口操作指南" 本文主要介绍了在C++环境下使用gsoap开发WebService接口的操作指南。首先,文中对WebService的概念和特点进行了介绍,包括WebService的定义、特点、架构和技术规则...
3. **编写客户端代码**:在项目中引入生成的头文件,并实例化gSoap生成的客户端类。使用这些类的成员函数来调用Web服务。例如,如果你的Web服务有一个名为`addNumbers`的方法,你可以这样调用: ```cpp soap ...
2. **生成gSOAP代码**:使用gSOAP的wsdl2h工具处理WebService的WSDL(Web Services Description Language)文件,生成对应的C++头文件。然后使用soapcpp2工具将这些头文件转化为可编译的源代码。 3. **集成到MFC...
gSOAP是一个开源的C和C++库,用于生成能够在不同操作系统和编译器上运行的跨平台客户端和服务端代码。它支持SOAP 1.1和1.2协议,以及WSDL(Web服务描述语言)和WS-Security等标准。gSOAP 2.8.17是该库的一个稳定...
然而,C++实现WebService通常会借助gsoap工具,这是一个用于生成SOAP Web服务和客户端绑定的开源库。gsoap允许C++开发者遵循SOAP协议来创建Web服务。 当C++和C#的WebService尝试通信时,会面临一些挑战: 1. URL...
C++做客户端,通过gSoap调用java发布的webservice,所调用的java方法返回的是自定义实体类,如果返回int,String等基本数据类型,这很容易实现;但这里函数返回的是List,Course,List甚至是Object,应该很有价值! ...
gSOAP是著名的开源工具,专为C和C++开发者设计,用于构建Web服务客户端和服务器端应用程序。这个工具包提供了一种高效、灵活且易于使用的框架,使得在C/C++中实现SOAP(Simple Object Access Protocol)协议变得...
总结,本示例“c++ gsoap webservice文件传送demo”展示了如何在Windows 7下,使用Visual C++和gSOAP库实现Web服务的文件传输。通过理解gSOAP的工作原理和API,以及掌握客户端和服务端的实现细节,你可以创建自己的...
通过以上步骤,开发者可以成功地使用VS2010、C++和gSOAP来创建一个Web服务客户端,调用远程服务并处理返回的数据。这个过程涉及到了软件工程的多个方面,包括编译、链接、网络通信和错误处理,对于深入理解C++和Web...
gSOAP提供了一套编译器和运行时库,可以自动生成用于访问Web服务的客户端代码,使得C/C++程序能够与符合WS-I标准的任何SOAP服务进行通信。 首先,为了在VS2010中使用gSOAP,你需要下载并安装gSOAP的开发包。安装...
安装gSOAP后,我们需要通过wsdl2h工具从Web服务的WSDL(Web Service Description Language)文件生成C++头文件,然后用soapcpp2工具生成相应的源代码。 接着,我们来看如何使用这些生成的代码。假设我们有一个名为`...
gSOAP是一个开源工具包,用于在C和C++中生成SOAP(简单对象访问协议)客户端和服务端代码,使得C++开发者能够方便地实现Web Service。 标题"‘C++利用gsoap实现webService服务端代码" 指的是,我们将探讨如何使用...
Qt是一个流行的C++跨平台应用开发框架,而gSOAP则是一个强大的工具,用于生成客户端和服务器端的代码,使得C/C++应用程序能够与Web服务进行交互。 首先,让我们了解什么是gSOAP。gSOAP是一个开源软件开发工具包,它...
总的来说,使用gSOAP在C++中调用Web服务涉及多个步骤,包括生成代码、配置项目、编写客户端代码以及处理错误。熟悉这些步骤是成功实现Web服务的关键。在实际开发中,还需要注意性能优化、安全性考虑以及与不同平台的...