2012-10-26 1 views
1

Savon-rubygem을 사용하여 SOAPClient를 만들려고합니다.Savon : wcse를 사용하는 WCF 비누 서비스 auth : EndpointDispatcher에서 AddressFilter가 일치하지 않습니다.

https를 통한 WSSE 인증의 WCF soap 서비스입니다. 여기에 내가 노력 코드입니다 :

require 'savon' 

client = Savon::Client.new do 
    wsdl.document = "https://svc.sxxxxxify.com:8081/ConfSet.svc?wsdl" 
    config.soap_version = 2 
    wsse.credentials "[email protected]", "test123" 
end 

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

는하지만이 오류 얻을 :

http://www.w3.org/2005/08/addressing/soap/fault2012-10-26T06:07:42.247Z2012-10-26T06:12:42.247Zs:Sendera:DestinationUnreachableThe message with To '' cannot be processed at the receiver, due to an AddressFilter mismatch at the EndpointDispatcher. Check that the sender and receiver's EndpointAddresses agree.

합니다.

The message with To '' cannot be processed at the receiver, due to an AddressFilter mismatch at the EndpointDispatcher. Check that the sender and receiver's EndpointAddresses agree. (Savon::SOAP::Fault)

나에게이 문제

+0

savon 지원 WS-A는 무엇입니까? ws-addressing을 위해 savon을 사용하여 어떻게 전달합니까? –

답변

1

를 해결하는 데 도움이 바랍니다 나는 약간의 문제가 있었다. 머리글 항목과 새 네임 스페이스를 제공하여 '대상'문제를 해결했습니다. 'Action'헤더도 필요했지만 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}"})