WebService 的服务端 webservice 开发 axis2 简单部署服务 就是用前一章中的服务端
wsdl如下:
http://localhost:8080/axis2/services/SimpleService?wsdl
下载 gsoap 2.8 版本
第一步生成头文件:
wsdl2h –o hello.h -s http://localhost:8080/axis2/services/SimpleService?wsdl
参数说明 -s 不要使用STL代码
第二步 根据头文件生成stub
soapcpp2.exe -i -C -x hello.h -IF:\gsoap-2.8\gsoap\import
参数说明 -i 直接使用C++包装类 -x 不要生成一堆看了就恶心的xml -C 只生成客户端相关代码 -I 指定import路径
第三步 VS2008 创建 命令行工程 ws5
第四步 编辑工程属性 C/C++ -> 预编译头 -> 创建/使用预编译头 选择 不使用预编译头
第五步 编辑工程属性 链接器->输入->附件依赖项 输入 WSock32.Lib
第六步 把刚才gsoap生成的文件 soapH.h soapC.c soapStub.h soapClient.c
和gsoap文件夹下的 stdsoap2.h stdsoap2.c 拷贝到当前工程下面
第七步 实现
#include "stdafx.h"
#include <locale.h>
#include <stdio.h>
#include <stdlib.h>
#include "soapH.h"
#include "SimpleServiceSoap11Binding.nsmap"
int _tmain(int argc, _TCHAR* argv[])
{
struct soap *soap = soap_new();
struct _ns1__getGreetingResponse out;
soap->mode|=SOAP_C_MBSTRING;
soap_set_mode(soap,SOAP_C_MBSTRING);
setlocale(0,"chs");
struct _ns1__getGreeting resq;
resq.name="超人";
if(soap_call___ns1__getGreeting(soap,NULL,NULL,&resq,&out)==SOAP_OK){
printf("%s\n",out.return_);
}
printf("Press enter to continue ...");
getchar();
return 0;
}
输出结果:
你好 超人
Press enter to continue ...
分享到:
相关推荐
创建一个简单的"HelloWorld"服务,定义一个接口,实现该接口的类,然后通过Axis2工具生成aar文件并部署到Axis2服务器。客户端通过SOAP请求调用服务,获取返回的"Hello, World!"信息。 总结,基于Axis2的Web服务...
通过以上步骤,我们可以在Axis2服务器上部署一个简单的Webservice,并通过gSOAP客户端进行测试和调用。 综上所述,Webservice作为一种跨平台、跨语言的技术,通过WSDL、SOAP和XML等标准技术,实现了不同应用程序...
Web服务(WebService)是一种基于互联网的、平台独立的交互方式,它允许不同的应用程序之间进行通信和数据交换。在本文中,我们将深入探讨Web服务的安装组件及其重要性,以及如何在开发环境中设置和使用这些组件。 ...
3. **客户端库的使用**:根据DEMO,可能使用了像 Axis2, JAX-WS, gSOAP 等工具或框架,这些工具可以帮助简化Web服务的调用过程。 4. **XML和XSD**:Web服务通常涉及XML数据交换,因此你需要理解XML的结构和XSD(XML...
在实际开发中,为了简化流程,还可以使用第三方库,如gSOAP或Apache Axis C++,它们提供了更方便的SOAP客户端API,可以自动处理XML编码、解码和网络通信。 需要注意的是,进行SOAP通信时,必须确保与Web服务的版本...
2. **生成SOAP绑定代码**:使用GSOAP工具从接口头文件生成SOAP服务和客户端的代码。 3. **实现服务逻辑**:在生成的服务处理函数中填写实际的计算逻辑。 4. **启动HTTP服务器**:配置并启动HTTP服务器,监听指定端口...
2. **解析WSDL**:使用SOAP库或者开发工具(如Apache CXF、axis2、gSOAP等)解析WSDL文件,生成客户端代理类或 Stub。这些类提供了与服务交互的方法。 3. **创建客户端**:在Java中,你可以使用JAX-WS(Java API ...
使用了布局RelativeLayout,LinearLayout.包含ListActivity的使用,Spinner和ListView的使用,以及Notification,Toast,...并且还有ksoap2调用webservice(.net,axis2,gsoap2)的成功测试调用。包含单元测试代码
Java调用.NET编写的Web服务,主要是通过SOAP协议进行通信,这涉及到跨平台的互操作性。以下是关于这个主题的详细知识: 1. **SOAPAction HTTP Header**: SOAPAction HTTP请求头用于指示SOAP消息的目标,它的值是...
2. **编译客户端代码**:接着,使用soapcpp2工具处理生成的头文件,生成C++源代码和库。这会创建一个客户端代理类,用于实际调用Web Service。 3. **编写应用逻辑**:在"WebServiceDemo.cpp"中,实例化客户端代理类...
- **重要性**:对于SOAP实现的WebServices而言,WSDL文档是必不可少的,因为它为客户端提供了一个明确的服务接口定义。 #### 四、ONVIF开发工具:gSOAP gSOAP是一款用于自动生成C/C++代码框架的工具,支持SOAP Web...
- 在 Java 平台上,通常使用 JAX-WS 或者 Axis2 等工具。 - 对于跨平台的解决方案,有开源的工具如 Apache CXF 和 gSOAP。 总之,Web Service 是现代企业级系统集成的重要工具,通过标准化的接口和通信协议,实现...
而Unix环境,包括Linux和Mac OS X,常使用开源工具如Apache Axis、GSOAP或者Python的SOAP库(如suds-jurko)来处理XML和SOAP通信。尽管环境不同,但XML和SOAP的标准化特性确保了跨平台的兼容性。 在"OperationXml...