我解决了我的问题,但我仍然不明白为什么会有这个**问题。
小解释:我必须使用一些参数调用 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
但是服务器说我没有指定“优先”参数。
所以这个丑陋的请求成功了:
@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"' 有什么问题?我们必须指定整数的类型吗?WebService 有问题吗?
谢谢您的答复。