16,548
社区成员




gSoap?那篇博客我也看过,用的时候没出现问题。 生成的头文件里面没声明getInputorUser吗
我以前编写过webservice程序,基本上都差不多,也是先下载最新gsoap包,然后通过gsoap调用webservice,都是那几步,没什么特别的,唯一不好弄得就是参数配置。当时折腾了我三天,我的经验是既然你要调用人家的webservice,一般人家都会提供调用例子,你用抓包程序跟踪一下他们提供的例子,然后再比较自己的例子哪里不一样,就知道问题了。
int IFXCZFAPIHttpBindingProxy::getInputorUser(const char *endpoint, const char *soap_action, _ns1__getInputorUser *ns1__getInputorUser, _ns1__getInputorUserResponse *ns1__getInputorUserResponse)
{ struct soap *soap = this;
struct __ns1__getInputorUser soap_tmp___ns1__getInputorUser;
if (endpoint)
soap_endpoint = endpoint;
if (!soap_endpoint)
soap_endpoint = "http://10.118.153.249/fxczfWebService.ws";
if (!soap_action)
soap_action = "";
soap->encodingStyle = NULL;
soap_tmp___ns1__getInputorUser.ns1__getInputorUser = ns1__getInputorUser;
soap_begin(soap);
soap_serializeheader(soap);
soap_serialize___ns1__getInputorUser(soap, &soap_tmp___ns1__getInputorUser);
if (soap_begin_count(soap))
return soap->error;
if (soap->mode & SOAP_IO_LENGTH)
{ if (soap_envelope_begin_out(soap)
|| soap_putheader(soap)
|| soap_body_begin_out(soap)
|| soap_put___ns1__getInputorUser(soap, &soap_tmp___ns1__getInputorUser, "-ns1:getInputorUser", NULL)
|| soap_body_end_out(soap)
|| soap_envelope_end_out(soap))
return soap->error;
}
if (soap_end_count(soap))
return soap->error;
if (soap_connect(soap, soap_endpoint, soap_action)
|| soap_envelope_begin_out(soap)
|| soap_putheader(soap)
|| soap_body_begin_out(soap)
|| soap_put___ns1__getInputorUser(soap, &soap_tmp___ns1__getInputorUser, "-ns1:getInputorUser", NULL)
|| soap_body_end_out(soap)
|| soap_envelope_end_out(soap)
|| soap_end_send(soap))
return soap_closesock(soap);
if (!ns1__getInputorUserResponse)
return soap_closesock(soap);
ns1__getInputorUserResponse->soap_default(soap);
if (soap_begin_recv(soap)
|| soap_envelope_begin_in(soap)
|| soap_recv_header(soap)
|| soap_body_begin_in(soap))
return soap_closesock(soap);
ns1__getInputorUserResponse->soap_get(soap, "ns1:getInputorUserResponse", "");
if (soap->error)
return soap_recv_fault(soap, 0);
if (soap_body_end_in(soap)
|| soap_envelope_end_in(soap)
|| soap_end_recv(soap))
return soap_closesock(soap);
return soap_closesock(soap);
}
我用vs2005没问题,vc++倒是没用过。你截个图看看。。