Savon을 사용하여 본문 태그에 인코딩 속성을 추가하려면 어떻게해야합니까?Savon : 본문 태그에 인코딩 추가
일부 배경 : SOAP 자원에 연결하기 위해 savon을 사용하려고합니다. WSDL 파일을 가져 와서 메서드를 검색 할 수 있습니다.
@client = Savon::Client.new("http://some.domain.com/v2messaging/service?WSDL")
내가이 오류를 얻을 로그인 방법
response = @client.request :service, :login do
soap.body = {
"String_1" => "username",
"String_2" => "password"
}
end
를 사용하려고하면
장애/오류 : 응답 = @ client.request : 서비스 : 로그인 Savon를 수행합니다 : SOAP :: Fault : (env : Client) 요청을 처리하는 동안 예외가 잡혔다 : 예기치 않은 인코딩 스타일 : expected = http : //schemas.xmlsoap.org/soap/encoding/, 실제
본문 태그의 차이.
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:service="etapestryAPI/service">
<env:header/>
<env:body>
<service:login env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<String_1>username</String_1>
<String_2>password</String_2>
</service:login>
</env:body>
</env:Envelope>
Savon가 전송 : 여기에 (SOAPUI 응용 프로그램을 통해 발견) 예상 XML입니다
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:service="etapestryAPI/service" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ins0="http://java.sun.com/jax-rpc-ri/internal" xmlns:ins1="etapestryAPI/service">
<env:Body>
<service:login>
<String_1>username</String_1>
<String_2>password</String_2>
</service:login>
</env:Body>
</env:Envelope>
이 사이에 약간의 차이가 있습니다,하지만 오류는 ENV과 관련이있다 반환 인코딩 스타일 속성을 env : login 태그에 있습니다. 이 속성을 추가하는 방법은 무엇입니까?