У меня есть успешный запрос, который прекрасно работает в SOAPUI после настройки WSDL и SSL-сертификата / пароля. Это необработанные данные HTTP-запроса от SOAPUI:
POST https://dlws.bloomberg.com/dlps HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: text/xml;charset=UTF-8
SOAPAction: "submitGetDataRequest"
Content-Length: 1116
Host: dlws.bloomberg.com
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
Я не буду включать тело запроса SOAP, потому что Stack Overflow жалуется на количество кода в моем вопросе, но можно предположить, что там в этом нет ничего плохого с телом. Я могу указать это в комментариях, если это необходимо.
Я пытаюсь продублировать этот запрос в R, используя пакет httr
, но я где-то ошибаюсь и не могу понять. Вот мой код R:
headerfields <- c("Accept-Encoding" = "gzip,deflate",
"Content-Type" = "text/xml;charset=UTF-8",
"SOAPAction" = "submitGetDataRequest",
"Connection" = "Keep-Alive")
httr::POST("https://dlws.bloomberg.com/dlps", add_headers(headerfields),
user_agent("Apache-HttpClient/4.1.1 (java 1.5)"), body = body,
config(sslcert = "C:/DLWSDotnetSample/DLWSDotnetSample/DLWSCert.p12", sslkey = "********"))
Я получаю ошибку: Error in curl::curl_fetch_memory(url, handle = handle) :
schannel: next InitializeSecurityContext failed: SEC_E_ILLEGAL_MESSAGE (0x80090326) - This error usually occurs when a fatal SSL/TLS alert is received (e.g. handshake failed). More detail may be available in the Windows System event log.
Но вполне вероятно, что я даже не добираюсь до рукопожатия SSL, потому что мой хост утверждает, что я никогда не трогал их серверы.
Любое понимание этого было бы здорово, это сводило меня с ума на недели.