curl-library
ĦI need help please!
From: Gonzalo Astuy <gac.irdb_at_glarcam.com>
Date: Tue, 12 Apr 2005 11:04:43 +0200
Date: Tue, 12 Apr 2005 11:04:43 +0200
I have an aplicattion that send a xml file to a server; the problem
which I have this server I must specify to him that the content is
text/xml, can I do it?
I put you the code part of the aplicattion that make the conexion and
send the xml.
------------------------------------------------------------------------
------------------------------------------------------------------------
------------------------------------------------------------------------
--- string sendALNZ(string xmlReq, string url, string cert, string key) { string xmlResp = ""; string postData = xmlReq; //xmlReg is the xml file const char *ch_xmlReq = postData.data(); const char *ch_URL = url.data(); const char *ch_CERT = cert.data(); const char *ch_KEY = key.data(); CURL *curl_handle; CURLcode resp; struct MemoryStruct tempbuffer; tempbuffer.memory=NULL; // INIT Expect realloc(NULL, size) to work tempbuffer.size = 0; // INIT no data at this point //INIT CURL curl_global_init(CURL_GLOBAL_ALL); curl_handle = curl_easy_init(); if(curl_handle) { curl_easy_setopt(curl_handle, CURLOPT_URL, ch_URL); // MEM USE curl_easy_setopt(curl_handle, CURLOPT_WRITEFUNCTION, WriteMemoryCallback); //! Pass 'tempbuffer' struct to the callback function curl_easy_setopt(curl_handle, CURLOPT_WRITEDATA, (void *)&tempbuffer); curl_easy_setopt(curl_handle, CURLOPT_USERAGENT, "libcurl-agent/1.0"); curl_easy_setopt(curl_handle, CURLOPT_POSTFIELDS, ch_xmlReq); // Conexión con certificado curl_easy_setopt(curl_handle, CURLOPT_SSLCERTTYPE, "PEM"); curl_easy_setopt(curl_handle, CURLOPT_SSLCERT, ch_CERT); curl_easy_setopt(curl_handle, CURLOPT_SSLKEYTYPE, "PEM"); curl_easy_setopt(curl_handle, CURLOPT_SSLKEY, ch_KEY); //curl_easy_setopt(curl_handle, CURLOPT_CAINFO, "cacerts"); curl_easy_setopt(curl_handle, CURLOPT_SSL_VERIFYPEER, FALSE); resp = curl_easy_perform(curl_handle); curl_easy_cleanup(curl_handle); for(int index = 0; index < tempbuffer.size; index++) { xmlResp += tempbuffer.memory[index];} delete(tempbuffer.memory); } return xmlResp; } ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ --- the server response me this: ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ --- <?xml version='1.0' encoding='UTF-8'?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Protocol</faultcode> <faultstring>Unsupported content type "application/x-www-form-urlencoded", must be: "text/xml".</faultstring> <faultactor>/drsw00/servlet/rpcrouter</faultactor> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope> ------------------------------------------------------------------------ ------------------------------------------------------------------------ ------------------------------------------------------------------------ --- Can you help me? Regards. Gonzalo AstuyReceived on 2005-04-12