本人需要用gsoap同时访问web service接口和web api接口(C#)。关于这一块可以看本人的上一篇文章。
https://blog.csdn.net/qq_34759481/article/details/85069194
由于需求改变,访问web api需要在http头部中添加信息,所以需要在soap中也添加头部信息。
先看一下不添加头部信息的代码
int postSoap()
{
struct soap *soap = soap_new();
char *buf;
soap_set_omode(soap, SOAP_IO_CHUNK);
soap_register_plugin(soap, http_post);
if(soap_post_connect(soap, URLPost.c_str(), NULL, "application/json; charset=utf-8")) //URLPost.c_str()为web api地址
{
soap_print_fault(soap, stderr);
return(1);
}
if(soap_send(soap, context.c_str())||soap_end_send(soap))
{
soap_print_fault(soap, stderr);
exit(1);
}
if(soap_begin_recv(soap))
{
soap_print_fault(soap, stderr);
return(1);
}
buf = soap_get_http_body(soap, NULL);
soap_end_re