admin 管理员组文章数量: 1086019
2024年4月20日发(作者:eclipse android开发教程)
### 先看上面的地址链接,方法和用法基本正确;
### 编译器VS2008,MFC例子进行调用,生成的文件:MLGB.h, ,
soapH.h, sopaStub.h, ,
soapWebServiceSoap11BindingProxy.h,
### wsdl2h -s -o MLGB.h -t XXXXXXXXXXXXX (在
gsoap-2.8gsoapbinwin32目录下没有,把gsoap目录下的的文件复
制到相应文件,并在最后添加上xsd__string = | std::wstring | wchar_t*即可)
### soapcpp2 -i -C MLGB.h (找不到文件错误,尝试……import……什么的,添加路
径的方法是在命令的最后添加,例如:spoap -i -C MLGB.h -I
C:gsoap-2.8gsoapimport,这样这一步就可以生成相应的代码)
### gsoap-2.8gsoapbinwin32目录下没有生成, 另外要在
gsoap-2.8gsoap目录下把stdsoap2.h, 也拷贝到相应的程序目录,同时
添加按上述链接文档中添加头文件
### 方法的调用,参数传递的形式是XML格式:
连接貌似是tcp短连接,方法调用完,对象貌似就得重新new一下(我用的时
候遇到的是这种情况,之前写个小例子,用的全局变量,但是没有重新new也没问题,这
个没有确认)
2.在soapWebServiceSoap11BindingProxy.h中对应的类
WebServiceSoap11BindingProxy
vice的url地址 _strUrl=XXXXXXXXXXXXXXX
例如:setStopTiralInfo的方法,其实两个都一样,调用第二个,前两个参数传递NULL
/// Web service operation 'setStopTrialInfo' (returns error code or SOAP_OK)
virtual int setStopTrialInfo(_ns1__setStopTrialInfo *ns1__setStopTrialInfo,
_ns1__setStopTrialInfoResponse &ns1__setStopTrialInfoResponse) { return
this->setStopTrialInfo(NULL, NULL, ns1__setStopTrialInfo,
ns1__setStopTrialInfoResponse); }
virtual int setStopTrialInfo(const char *endpoint, const char *soap_action,
_ns1__setStopTrialInfo *ns1__setStopTrialInfo, _ns1__setStopTrialInfoResponse
&ns1__setStopTrialInfoResponse);
创建对象: WebServiceSoap11BindingProxy _webClient(_strUrl);
对应参数: _ns1__setStopTrialInfo _input; _ns1__setStopTrialInfoResponse
_return;
对_input初始化:_ = &_webClient; __default(_);
__in(_, “ns1:setStopTrialInfo”, NULL);
传递XML参数:因为中文问题,所以xmlParams是wchar_t*类型,不然中文乱码。
版权声明:本文标题:C++调用Webservice方法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1713599429a642688.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论