@rubiii 이전에 보여 주었다 요청 (Savon soap body problem) 당신이 Savon이루비 Savon는
class SomeXML
def self.to_s
"<some>xml</some>"
end
end
client.request :some_action do
soap.body = SomeXML
end
에 요청 그런데 왜이 같은 클래스 메소드를 사용하는 것이 사용자 정의 할 수 있습니다? 클래스의 인스턴스에 요청 본문의 해시로 전환하도록 요청하는 것이 더 가능성이 높습니다. 즉
@instance = SomeClass.new
client.request :some_action do
soap.body = @instance.to_soap
end
그러나이 작업을 시도하면 @instance 변수가 요청 블록 내의 '범위'에 없습니다. 그래서 메소드 to_soap을 nil에 호출 할 수 없습니다. 하지만 대신 클래스 메서드를 사용하면 작동하도록 할 수 있습니다. 즉
class SomeClass
@@soap_hash = nil
def self.soap_hash=(hash)
@@soap_hash = hash
end
def self.soap_hash
@@soap_hash
end
end
SomeClass.soap_hash = @instance.to_soap
client.request :some_action do
soap.body = SomeClass.soap_hash
end
나는 그것을 얻지 못합니까?
는 것 같아요 내 끊기은 "F는 *** 수동 보내고"를 참조 관해서 두 번째 포인트 동작을 설명하는 것이 었습니다 Savon에게 : Client.new. 나는 이것이 Savon :: Client # 요청 방법과 동일하다고 가정하지 않았다. 그 메소드의 서명은 rdoc 또는 뭔가에 설명되어 있습니까? 어쨌든, 입력 해 주셔서 감사 드리며 RTFM을 작성했습니다.) – SupaIrish
[SOAP 요청 실행] (http://savonrb.com/#executing_soap_requests)을 읽으시면 글쎄요. 그렇지 않다고 생각되면 [설명서를 포크하십시오] (https://github.com/rubiii/savonrb.com)를 방문하여 문제를 수정하고 이에 대해 알려주십시오. 그것은 오픈 소스이며, 나는 어떤 지원을 주셔서 감사합니다! – rubiii