如何使用libcurl检查SOAP响应

时间:2011-09-12 23:39:12

标签: c soap libcurl

我正在向Web服务发送SOAP请求,我想查看收到的响应。怎么做到这一点?

我的代码是:

#include <stdio.h>
#include <curl/curl.h>

int main(void)
{
  CURL *curl;
  CURLcode res;


const char *temp = "<?xml version=\"1.0\" encoding=\"utf-8\"?> <S:Envelope xmlns:S=\"http://schemas.xmlsoap.org/soap/envelope/\"xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"xmlns:tns=\"http://ThermodynamicProperties/\"><S:Body> <tns:getSpeciesInformation> <speciesSymbol>CO2</speciesSymbol> <phase>GAS</phase> </tns:getSpeciesInformation> </S:Body> </S:Envelope>";

printf("%s",temp);

curl = curl_easy_init();
  if(curl) {
    /* First set the URL that is about to receive our POST. This URL can
       just as well be a https:// URL if that is what should receive the
       data. */ 
    curl_easy_setopt(curl, CURLOPT_URL, "http://thermo.sdsu.edu/servlet/ThermodynamicProperties/ThermodynamicPropertiesService");
    /* Now specify the POST data */ 
    curl_easy_setopt(curl, CURLOPT_POSTFIELDS, temp);

    printf("OK \n");

    /* Perform the request, res will get the return code */ 
    res = curl_easy_perform(curl);

      /* always cleanup */ 
    curl_easy_cleanup(curl);
  }
  return 0;
}

现在我得到的回应是:

发送请求。 阅读回应。 收到123个字节。

如何打印我收到的内容?

1 个答案:

答案 0 :(得分:0)

您可以使用传递响应的回调函数。您可以找到example here