`
ynp
  • 浏览: 437959 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

cxf 客户端调用gsoap生成的服务

阅读更多

cxf 客户端调用gsoap生成的服务

---》下载 cxf并解压,进入cxf的bin目录下执行如下命令

wsdl2java  -frontend jaxws21 -p com.test -d E:\codeTest\myCXF -client http://127.0.0.1:50001?wsdl


wsdl2java -p com.test -d E:\codeTest\myCXF -client  E:\codeTest\myCXF\xxxx.wsdl

参数解释:
-frontend jaxws21
若不加这个参数 有几处的super地方报错
错误原因:由于jax-ws2.2规约与java6冲突  故需要降低jax-ws规约版本
解决方法:在生成的时候服务路径前面加上 -frontend jaxws21
http://blog.csdn.net/wangnetkang/article/details/7821294


-p 生成包
-d 生成的包存放路径
-client 生成客户端调用代码
**.wsdl  wsdl路径

---》建立工程,把cxf下的lib下的tar加入工程,并把生成的com.test加入工程。
---》自动生成的代码中有个自动生成调用的类(可以在工程下搜一下main方法就知道是那个类了:D )
---》另:用gsaop生成服务端的时候

//gsoap ns service name: xxxx
//gsoap ns service namespace: http://websrv.cs.fsu.edu/~engelen/xxxx.wsdl
//gsoap ns service location: http://websrv.cs.fsu.edu/~engelen
//gsoap ns service executable: xxxx.cgi
//gsoap ns schema namespace: urn:xxxx


由于gsoap ns service location 是随便写的,以为只是命名空间,导致了如下错误:

Caused by: java.net.ConnectException: ConnectException invoking http://websrv.cs.fsu.edu/~engelen/xxxx.cgi: Connection timed out: connect
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)


改成如下,就可以。

//gsoap ns service name: xxxx
//gsoap ns service namespace: http://127.0.0.1:50001?xxxx.wsdl
//gsoap ns service location: http://127.0.0.1:50001
//gsoap ns service executable: xxxx.cgi
//gsoap ns schema namespace: urn:xxxx


---》再另:gsoap生成wsdl文件

  <import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemaLocation="http://schemas.xmlsoap.org/soap/encoding/"/>
      去掉schemaLocation="http://schemas.xmlsoap.org/soap/encoding/" ,wsdl2java否则无法解析,报如下错误:

WSDLToJava Error: org.apache.cxf.wsdl11.WSDLRuntimeException: Fail to create wsd
l definition from : http://127.0.0.1:50001?wsdl
Caused by : WSDLException: faultCode=PARSER_ERROR: Problem parsing 'http://127.0
.0.1:50001?wsdl'.: java.net.ConnectException: Connection refused: connect
分享到:
评论

相关推荐

    java客户端调用C++ GSoap生成的webservice

    Java客户端调用C++ GSoap生成的Web服务是一种跨语言的互操作性实践,它涉及到Java和C++两种编程语言的交互,以及GSoap库在其中的作用。GSoap是开源的C/C++库,用于构建SOAP(简单对象访问协议)服务和客户端,允许...

    qt-gSOAP-java的cxf的综合应用.docx

    - **C/C++客户端开发**:在C/C++端,利用gSOAP生成客户端代理代码,以便调用Java CXF服务。`2.pri`文件包含了项目配置,如头文件和源文件列表。`Main.cpp`是客户端应用程序的主入口,它会显示一个GUI窗口(可能由`...

    java调用C++ webservice

    - Java使用JAX-WS(Java API for XML Web Services)框架来处理Web服务的客户端调用。 - JAX-WS提供了工具,如wsimport,可以从WSDL文件生成Java客户端存根类,这些类可以被Java代码直接调用。 3. **C++ ...

    生成onvif框架最新的wsdl文件

    4. **生成服务客户端/服务器端代码**:使用WSDL-to-code工具(如Apache CXF、gSOAP等)将WSDL转换为实际的编程语言代码,这将自动生成服务接口和消息处理逻辑。 5. **集成到项目**:将生成的代码集成到你的应用中,...

    完整的客户端(含服务端)wsdl调用工程源码.

    3. **客户端生成**:学习如何使用WSDL文件生成客户端代理代码,例如使用Apache CXF、JAX-WS等工具。 4. **服务端实现**:理解如何根据WSDL文件定义的服务接口,实现具体的业务逻辑。 5. **HTTP与TCP/IP通信**:了解...

    C++ 调用javaWebService接口代码

    2. **选择绑定库**:C++中有很多库可以用于调用Web服务,如gSOAP、libcurl、CXF C++等。这些库提供了生成客户端代理代码的功能,这些代码可以用来调用Web服务的方法。 3. **生成客户端代码**:使用选定的库,根据...

    根据wsdl访问链接如何调用webService接口

    2. **解析WSDL**:使用SOAP库或者开发工具(如Apache CXF、axis2、gSOAP等)解析WSDL文件,生成客户端代理类或 Stub。这些类提供了与服务交互的方法。 3. **创建客户端**:在Java中,你可以使用JAX-WS(Java API ...

    多语言调用WebService技术文档.doc

    WSDL文件是客户端调用WebService的关键参考文档。 - **WSML**:Web Services Meta Language,微软特定的实现,用于描述WSDL中定义的服务与实际实现之间的对应关系。 3. **WebService的技术特点** - **跨平台**:...

    c++webservice

    在C++中调用Web服务通常需要借助第三方库或框架,如gSOAP、Apache CXF、Qt等,这些工具提供了编译器和运行时支持,帮助开发者处理SOAP消息的序列化和反序列化。 3. gSOAP库 gSOAP是广泛使用的C/C++ Web服务开发...

    WSDL.websercive转换C++.rar

    这个过程通常由代码生成工具完成,如Apache CXF、gSOAP或wsimport(JAX-WS的一部分)。这些工具解析WSDL文件,并根据其内容自动生成C++代码,包括请求和响应的消息结构,以及调用服务的方法。 以gSOAP为例,这是一...

    java调用.net写的Webservice整理.pdf

    除了Apache Axis,Java还可以使用JAX-WS(Java API for XML Web Services)标准来调用Web服务,或者使用第三方库如gSOAP、cxf等。每种方法都有其优缺点,选择取决于具体需求和项目环境。 10. **安全性**: 在实际...

    onvif之wsdl文件(适于离线生成源码)

    为了离线生成源码,开发者通常会使用工具如Apache CXF、 wsimport(JAX-WS的一部分)或gsoap(C/C++)。这些工具根据WSDL文件生成客户端或服务端的代码骨架,然后开发者可以在生成的代码基础上进行扩展和定制。 总...

    webservice安装组件

    5. **生成WSDL和客户端代码**:如果需要,使用WSDL生成器创建或修改WSDL文件,并自动生成客户端调用代码。 四、开发和调试 1. **编写服务代码**:在IDE中使用支持的语言(如Java、C#)编写Web服务的业务逻辑。 2. ...

    webservice_简介

    通过以上步骤,我们可以在Axis2服务器上部署一个简单的Webservice,并通过gSOAP客户端进行测试和调用。 综上所述,Webservice作为一种跨平台、跨语言的技术,通过WSDL、SOAP和XML等标准技术,实现了不同应用程序...

Global site tag (gtag.js) - Google Analytics