Ruby on rails 关于SavonGem、WSDL和Rails请求的信息
我解决了我的问题,但我仍然不明白为什么会出现**问题。 小说明:我必须用一些参数调用SOAP服务器 以下是wsdl Web服务的定义: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 = {
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
启用它。完成此操作后,运行代码,然后在问题中发布调试信息。