Savon은 WSDL에서 SOAP 봉투를 생성하는 데 완고합니다. 그것은 부적절하게 그것을 고칠 방법이 없습니다. 어떤 이유로 든 모든 것에 wsdl:
네임 스페이스를 삽입 할 자유가 있습니다.Savon :: Model을 사용하여 기본 네임 스페이스를 설정할 수 있습니까?
내가 작성중인 요청은 tns:
네임 스페이스를 사용합니다. 나는 Savon :: 모델을 사용할 수 있도록 싶지만, 지금 내가해야 할 :
client.request :tns, :function_name do
soap.body = { params }
end
과 같이 대신에 :
super(params)
모든 기능에 요청 블록을 만들기가 지루 , 나는 Savon이 자동으로 적절한 함수를 호출하는 대신 함수 이름을 정의해야한다. 지금 내 기능은 다음과 같습니다.
def foo
client.request :tns, :foo do
...
end
"foo"는 두 번 우스꽝스럽게 보입니다. Savon :: Model을 확장 한 클래스의 모든 요청에 대해 기본 네임 스페이스를 설정하는 방법이 있습니까?
이 당신의 대답에 약간의 설명을 추가하십시오 (내 예를 공식 savon homepage에서 일을 기반으로). – Brody