Я пытаюсь использовать Савон 2.7.2 драгоценный камень, чтобы сделать запрос SOAP, например:Как построить правильную запрос SOAP для https://wyszukiwarkaregontest.stat.gov.pl с Савон жемчужину
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ns="http://CIS/BIR/PUBL/2014/07">
<soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:Action>http://CIS/BIR/PUBL/2014/07/IUslugaBIRzewnPubl/Zaloguj</wsa:Action>
<wsa:To>https://wyszukiwarkaregontest.stat.gov.pl/wsBIR/UslugaBIRzewnPubl.svc</wsa:To>
</soap:Header>
<soap:Body>
<ns:Zaloguj>
<!--Optional:-->
<ns:pKluczUzytkownika>abcde12345abcde12345</ns:pKluczUzytkownika>
</ns:Zaloguj>
</soap:Body>
</soap:Envelope>
Я пробовал разные aproaches для достижения этой цели, например:
client = Savon.client(wsdl: "https://wyszukiwarkaregontest.stat.gov.pl/wsBIR/wsdl/UslugaBIRzewnPubl.xsd", namespace: "http://CIS/BIR/PUBL/2014/07")
client.call(:zaloguj, message: { "pKluczUzytkownika" => "abcde12345abcde12345" })
Но это дает мне Savon::HTTPError: HTTP error (415): The server cannot service the request because the media type is unsupported
Когда я инспектировать Савон-х builder.build_document
возвращается:
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<env:Envelope xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:wsdl=\"http://CIS/BIR/PUBL/2014/07\" xmlns:env=\"http://schemas.xmlsoap.org/soap/envelope/\">
<env:Body>
<wsdl:Zaloguj>
<pKluczUzytkownika>abcde12345abcde12345</pKluczUzytkownika>
</wsdl:Zaloguj>
</env:Body>
</env:Envelope>"
Я сделал запрос к wsdl от RailsCasts без проблем, но с этим ... Я потратил пару часов, чтобы понять это и ничего. Может ли кто-нибудь мне помочь? :)
Может попытаться установить заголовок внутри Savon.client как 'заголовки: { 'Content -Type '=>' application/soap + xml; charset = utf-8 '} 'или' {' Content-Type '=>' text/xml; кодировка = UTF-8' } ' –