問題は解決しましたが、なぜこの ** 問題が発生したのかまだ理解できません。
少し説明: いくつかのパラメーターを使用して、SOAP サーバーを呼び出す必要があります。
wsdl webservice からの定義は次のとおりです。
Method : "lanceDecodage"
Jeton: xsd:string
ID_JOB: xsd:string
Priorite: xsd:int
私はこれを次のようにしたかった:
@response_second = Savon.client(server).request(:lanceDecodage) do
soap.body = {
:jeton => "ABCDEF"
:ID_JOB => "123"
:Priorite => 456
}
end
しかし、サーバーは、「Priorite」パラメーターを指定しなかったと言っています。
したがって、この醜いリクエストはうまくいきました:
@response_second = Savon.client(server).request(:lanceDecodage) do
soap.body =
'<Jeton>ABCDEF</Jeton><ID_JOB>' + sound.id_job.to_s + '</ID_JOB><Priorite xsi:type="xsd:int">456</Priorite>'
end
'xsi:type="xsd:int"' の問題は何でしたか? Integer の型を指定する必要がありましたか? WebService に問題はありますか?
ご回答ありがとうございます。