gsoap调用webservice出现http500错误

傻嘚小青年 2016-09-07 09:09:45
目前我在vs控制台程序中使用gsoap调用java端的webservice的时候,出现了http 500错误,断点发现是soap_element_begin_in出现了SOAP_TAG_MISMATCH错误,想问下这个是什么原因导致的。
vs工程是win32控制台程序,使用unicode字符集;服务端的wsdl文件显示使用的utf-8格式
代码如下:

struct soap soap;
soap_init(&soap);
soap_set_mode(&soap,SOAP_C_UTFSTRING);

class _ns1__loadAllCorpsResponse resultStr;
class _ns1__loadAllCorps a;

CString in = "<?xml version=\"1.0\" encoding=\"GBK\"?><params></params>";//web接口入参
char* tmp = CStringToChar(in);//unicode转换utf-8
string buf = tmp;
a.in0 = &buf;
a.soap = &soap;
resultStr.out = NULL;
resultStr.soap = &soap;

soap_call___ns1__loadAllCorps(&soap, "http://172.18.39.37:8888/ecs/service/IExeClientService", NULL, &a, resultStr);
if(soap.error)//error HTTP 500
{
getchar();
return 0;
}

getchar();
return 0;
...全文
628 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
koniue_fullStack 2018-01-26
  • 打赏
  • 举报
回复
你好 请问怎么解决的?我也遇到了 能请教一下你吗?
赵4老师 2016-09-08
  • 打赏
  • 举报
回复
引用 2 楼 u010261617 的回复:
最后发现是因为没有正确设置命名空间导致的问题。已解决
原来如
赵4老师 2016-09-07
  • 打赏
  • 举报
回复
建议楼主先学会使用抓包软件比如wireshark 然后参考《http权威指南》
傻嘚小青年 2016-09-07
  • 打赏
  • 举报
回复
最后发现是因为没有正确设置命名空间导致的问题。已解决

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧