Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.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/Savon:在soap请求的命名空间方面遇到问题_Ruby_Soap_Savon - Fatal编程技术网

Ruby/Savon:在soap请求的命名空间方面遇到问题

Ruby/Savon:在soap请求的命名空间方面遇到问题,ruby,soap,savon,Ruby,Soap,Savon,我在为正在构建的SOAP xml更改名称空间时遇到问题。我不知道如何将“xmlns:env=”更改为“xmlns:soapenv=”和“xmlns:tns=”更改为“xmlns:web=” 我想建立的是: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://www.webserviceX.NET/"> <soapenv:Header/

我在为正在构建的SOAP xml更改名称空间时遇到问题。我不知道如何将“xmlns:env=”更改为“xmlns:soapenv=”和“xmlns:tns=”更改为“xmlns:web=”

我想建立的是:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:web="http://www.webserviceX.NET/">
    <soapenv:Header/>
    <soapenv:Body>
         <web:ConvertTemp>
             <web:Temperature>100</web:Temperature>
             <web:FromUnit>degreeCelsius</web:FromUnit>
             <web:ToUnit>degreeFahrenheit</web:ToUnit>
         </web:ConvertTemp>
    </soapenv:Body>
</soapenv:Envelope>

谢谢你的帮助。

我能想出如何改变这些。如果有人对此感兴趣,那么改变的方法是:

client = Savon.client(env_namespace: :soapenv,namespace_identifier: :web)

但这并不是我的问题所在。结果发现我的田地在我不注意的情况下被骆驼覆盖了。“FromUnit”变成了“FromUnit”。

我对soap也有同样的问题,你能解释一下你是如何解决这个问题的吗?将这个添加到你的客户Convert\u request\u keys\u to::none,
client = Savon.client(wsdl: "http://www.webservicex.net/ConvertTemperature.asmx?WSDL")
message = { temperature: '100',FromUnit: 'degreeCelsius' , ToUnit: 'degreeFahrenheit'}
response = client.call(:convert_temp, message: message)
client = Savon.client(env_namespace: :soapenv,namespace_identifier: :web)