2011-10-22 2 views

답변

4

어쩌면 그 대답은 당신이 원하는 것이 아니지만 Savon . 예를 들어, 작업 (github의의 savon 페이지에서 가져온이 예제)이 조각과 같습니다.

require "savon" 

# create a client for your SOAP service 
client = Savon::Client.new("http://service.example.com?wsdl") 

client.wsdl.soap_actions 
# => [:create_user, :get_user, :get_all_users] 

# execute a SOAP request to call the "getUser" action 
response = client.request(:get_user) do 
    soap.body = { :id => 1 } 
end 

response.body 
# => { :get_user_response => { :first_name => "The", :last_name => "Hoff" } } 
+0

기본적으로 내가 작업, 바인딩, 엔드 포인트를 나열 할 필요를 사용자 친화적 인 방법으로 WSDL을 해석하는 단지 필요 이 "Savon"이 할 수 있다고 생각하십니까? –

+0

이 페이지는 http://rubydoc.info/gems/savon/0.7.9/Savon/WSDL 및 http://rubydoc.info에서 볼 수 있습니다. /gems/wasabi/2.0.0/Wasabi/Document. 모든 메소드는 Soap을 통해 사용할 수 있습니다. 클라이언트 인스턴스가 나열됩니다. 하지만 soap_endpoint, : soap_actions, : operations, : type_definitions 등을 사용할 수 있습니다. 그러나 불행히도 바인딩에 대해서는 잘 모르겠습니다. ( – WarHog

+2

그래서 SOAP4R을 다시 사용하고'require "wsdl/import"'및'@ wsdl = WSDL :: Importer.import (urlOfWsdl)'필자는 필요한 모든 데이터 (비누 끝 점/포트의 주소 위치 제외)를 인쇄 할 수있었습니다. 그러나 WSDL 2.0 파일을 인식하지 못한다는 것도 알아 냈습니다. :( –