2014-11-03 32 views
7

Qualcuno sa come formulare la richiesta SOAP successiva con R?Richiesta SOAP in R

POST /API/v201010/AdvertiserService.asmx HTTP/1.1 
Host: advertising.criteo.com 
Content-Type: text/xml; charset=utf-8 
Content-Length: length 
SOAPAction: "https://advertising.criteo.com/API/v201010/clientLogin" 

<?xml version="1.0" encoding="utf-8"?> 
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
    <clientLogin xmlns="https://advertising.criteo.com/API/v201010"> 
     <username>string</username> 
     <password>string</password> 
     <source>string</source> 
    </clientLogin> 
    </soap:Body> 
</soap:Envelope> 
+1

Quali sono i vostri attuali sforzi finora ottenuti? – Thomas

+0

Grazie @Thomas. Ho trovato la soluzione nella [documentazione del pacchetto RCurl] (http://www.omegahat.org/RCurl/RCurlJSS.pdf). – jburkhardt

+0

Grande. Ricorda di contrassegnare la risposta come accettata facendo clic sulla casella di controllo a sinistra della risposta, in modo che gli altri possano vedere che il problema è stato risolto. – Thomas

risposta

8

Questo risolve il problema:

library(RCurl) 

headerFields = 
    c(Accept = "text/xml", 
    Accept = "multipart/*", 
    'Content-Type' = "text/xml; charset=utf-8", 
    SOAPAction = "https://advertising.criteo.com/API/v201010/clientLogin") 

body = '<?xml version="1.0" encoding="utf-8"?> 
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soap:Body> 
    <clientLogin xmlns="https://advertising.criteo.com/API/v201010"> 
    <username>string</username> 
    <password>string</password> 
    <source>string</source> 
    </clientLogin> 
    </soap:Body> 
    </soap:Envelope>' 

curlPerform(url = "https://advertising.criteo.com/API/v201010/AdvertiserService.asmx", 
          httpheader = headerFields, 
          postfields = body 
         ) 
Problemi correlati