Я tryng использовать для этого веб-сервиса для того, чтобы получить финансовую информацию, но так как я очень мало знаю об этом языке я считаю, что это очень трудно даже подключиться:Подключение к веб-службе комплекса SOAP
http://www2.sentinelperu.com/ws/asentinelws02.aspx?wsdl
Я бы очень признателен за любую помощь. До сих пор я попытался это:
library(RCurl)
headerFields =
c(Accept = "text/xml",
Accept = "multipart/*",
'Content-Type' = "text/xml; charset=utf-8",
SOAPAction = "http://www2.sentinelperu.com/ws/asentinelws02.aspx?wsdl")
body = '<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://www.w3.org/2001/12/soap-envelope">
<soap:Body>
<Usuario>XXXX</Usuario>
<Password>XXXX</Password>
<Servicio>005</Servicio>
<Tipodoc>42945948</Tipodoc>
<Nrodoc>06594002</Nrodoc>
</soap:Body>
</soap:Envelope>'
curlPerform(url = "http://www2.sentinelperu.com/ws/asentinelws02.aspx?wsdl",
httpheader = headerFields,
postfields = body
)
Выход: не
OK
0
<?xml version = "1.0" encoding = "utf-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
</SOAP-ENV:Envelope>
Это почти работал, но когда я включаю пароль и имя пользователя (Новичок), я получаю сообщение об ошибке, если я исполню xml_ret:> xml_ret <- XMLParse (h $ значение (), asText = TRUE) xmlns: URI AFPrivado не является абсолютным – JVALLEJO
Вы можете увидеть ответ с помощью 'cat (h $ value())'. Я предполагаю, что у него есть некоторые проблемы с XML, но если ошибки не являются фатальными, 'xml_ret' должен содержать анализируемый XML. – bergant
Дополнительный комментарий: проблема заключается в том, что этот ответ службы использует относительные ссылки URI в объявлении пространства имен (_AFPrivado_ вместо _http: //.../..._). Парсер будет выдавать предупреждение, но не будет останавливаться с ошибкой. – bergant