Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 关于SavonGem、WSDL和Rails请求的信息_Ruby On Rails_Ruby_Soap_Ruby On Rails 3.1_Wsdl - Fatal编程技术网

Ruby on rails 关于SavonGem、WSDL和Rails请求的信息

Ruby on rails 关于SavonGem、WSDL和Rails请求的信息,ruby-on-rails,ruby,soap,ruby-on-rails-3.1,wsdl,Ruby On Rails,Ruby,Soap,Ruby On Rails 3.1,Wsdl,我解决了我的问题,但我仍然不明白为什么会出现**问题。 小说明:我必须用一些参数调用SOAP服务器 以下是wsdl Web服务的定义: Method : "lanceDecodage" Jeton: xsd:string ID_JOB: xsd:string Priorite: xsd:int 我想这样做: @response_second = Savon.client(server).request(:lanceDecodage) do soap.body = {

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

小说明:我必须用一些参数调用SOAP服务器

以下是wsdl Web服务的定义:

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
@response\u second=Savon.client(server).request(:lanceDecodage)do
soap.body=
“ABCDEF”+sound.id_job.to_s+“456”
终止
“xsi:type=“xsd:int”有什么问题?我们必须为Integer指定类型吗?Web服务有问题吗


谢谢您的回复。

我没有一个很好的答案,但问题显然来自糟糕的SOAP服务。。。
感谢您的回复

您能将Savon日志发布到它发送SOAP请求的地方吗?是的,我可以,但如何做到这一点?您想要SOAP服务器的响应吗?如果没有,您需要什么文件?要在Savon中启用调试,您需要通过config/initializers/Savon_config.rb
config.log=true
启用它。完成此操作后,运行代码,然后在问题中发布调试信息。