/ / Savon: WCF Soap service with wsse auth: Невідповідність AddressFilter на EndpointDispatcher - ruby, wcf, soap, savon

Savon: WCF Мило обслуговування з wsse auth: невідповідність AddressFilter у EndpointDispatcher - ruby, wcf, soap, savon

Я намагаюся створити SOAPClient за допомогою Savon - rubygem.

Мило WCF з милом WSSE на https. Ось код, який я спробував:

require "savon"

client = Savon::Client.new do
wsdl.document = "https://svc.sxxxxxify.com:8081/ConfSet.svc?wsdl"
config.soap_version = 2
wsse.credentials "aa5@xxasxsaxsh.com", "test123"
end

p client.wsdl.soap_actions
response = client.request :get_user_clients
p response

Але я отримую цю помилку:

http: //www.w3.org / 2005/08 / адресація / мило / несправність2012-10-26T06: 07: 42.247Z2012-10-26T06: 12: 42.247Zs: Sendera: DestinationUnreachableПовідомлення з "" не може бути оброблено приймач через невідповідність AddressFilter у EndpointDispatcher. Перевірте, чи відповідають адреса відправника та одержувача згоден.

.

Повідомлення з "" не можна обробити наприймач, завдяки Невідповідність AddressFilter у EndpointDispatcher. Перевірте, чи Кінцева адреса відправника та одержувача погоджуються. (Savon :: SOAP :: Fault)

Будь ласка, допоможіть мені вирішити цю проблему

Відповіді:

1 для відповіді № 1

У мене була якась проблема. Я вирішив проблему "До", забезпечивши заголовок і нову область імен. Заголовок "Дія" також був необхідний, і я виявив, що лише після огляду журналів SoapUI. Ось що для мене спрацювало:

  @service_url = "https://svc.sxxxxxify.com:8081/ConfSet.svc/service"
@action = "your_action"
@client = Savon.client(:wsdl => "#{@service_url}?wsdl", :soap_version => 2,
:namespaces => {"xmlns:x" => "http://www.w3.org/2005/08/addressing"},
:soap_header => {"x:To" => @service_url, "x:Action" => "http://tempuri.org/#{@action}"})