1

我解决了我的问题,但我仍然不明白为什么会有这个**问题。

小解释:我必须使用一些参数调用 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 有问题吗?

谢谢您的答复。

4

1 回答 1

0

我没有一个很好的答案,但显然问题出在糟糕的 SOAP 服务上……谢谢您的回复

于 2012-08-16T09:43:37.930 回答