Я использую веб-сервисы с Savon, а WSDL поставляется с двумя привязками. Как указать, какую привязку использовать в Savon? Один из них - http
, а другой - https.
Я пытаюсь воспользоваться услугой https
.
Информация о wsdl
<wsdl:service name="ExampleService">
<wsdl:port name="ES" binding="tns:ES">
<soap:address location="http://example.com/service.svc"/>
</wsdl:port>
<wsdl:port name="ES1" binding="tns:ES1">
<soap:address location="https://example.com/service.svc"/>
</wsdl:port>
</wsdl:service>
Как мне использовать ES1? Код, который я сейчас использую с savon:
require 'savon'
require 'httpclient'
wsdl = "https://example.com/Messages.wsdl"
driver = Savon::Client.new(wsdl)
response = driver.request "someAction"
Когда я использую soap4r, я могу выбрать привязку, используя следующий код:
require 'httpclient'
require 'soap/wsdlDriver'
wsdl = "https://example.com/Messages.wsdl"
soap_client = SOAP::WSDLDriverFactory.new(wsdl)
driver = soap_client.create_rpc_driver('ExampleService','ES1')