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;