On 12/15/2009 08:32 AM, [email protected] wrote:
So, I added the line suggested by you in my code.&  post modification,
my code looks like:


************************************************************************
************************
struct curl_slist SOAPaction;
struct curl_slist content_type;

memset(&SOAPaction, 0, sizeof(SOAPaction));
memset(&content_type, 0, sizeof(content_type));

content_type.data = "Content-Type: text/xml";
SOAPaction.data = "SOAPAction: \"\"";  /* Empty SOAPAction is the ID-WSF
(and SAML?) standard */

SOAPaction.next =&content_type;    //curl_slist_append(3)

mCurl = curl_easy_init();
curl_easy_setopt(mCurl, CURLOPT_VERBOSE, TRUE);

curl_easy_setopt(mCurl, CURLOPT_URL,"http://10.31.251.161:5985/wsman";);
                
curl_easy_setopt(mCurl, CURLOPT_POST, 1);
                
curl_easy_setopt(mCurl, CURLOPT_POSTFIELDS, strHttpContent.c_str());
                
curl_easy_setopt(mCurl, CURLOPT_USERPWD, "administrator:coll...@234");

//set size of postfield data
curl_easy_setopt(mCurl, CURLOPT_POSTFIELDSIZE, strHttpContent.length());

//pass headers
curl_easy_setopt(mCurl, CURLOPT_HTTPHEADER,&SOAPaction);

Where is the curl header append function for your code???
I think its safe and less error prone if you follow the standard.
Do this:

struct curl_slist *content_type=NULL; //note the pointer here
headers = curl_slist_append(content_type, "Content-Type: text/xml");
curl_easy_setopt(mCurl, CURLOPT_HTTPHEADER, content_type);

SOAP is just xml over http so its crucial that if you will use libcurl you use the standard of using the pointer to curl_slist layout above so you can pass the right headers with post.

1)Create a header pointer and append the header type.
2)set the header to your handle
3)call perform();

-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html

Reply via email to