我在修改我正在构建的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>
Run Code Online (Sandbox Code Playgroud)
我目前得到的是什么
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://www.webserviceX.NET/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<tns:ConvertTemp>
<tns:temperature>100</tns:temperature>
<tns:fromUnit>degreeCelsius</tns:fromUnit>
<tns:toUnit>degreeFahrenheit</tns:toUnit>
</tns:ConvertTemp>
</env:Body>
</env:Envelope>
Run Code Online (Sandbox Code Playgroud)
我的代码:
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)
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助.
Tra*_*ier 18
我能够弄清楚如何改变这些.如果有人有兴趣改变这些是:
client = Savon.client(env_namespace: :soapenv,namespace_identifier: :web)
Run Code Online (Sandbox Code Playgroud)
这实际上并没有引起我的问题.事实证明,在没有注意到的情况下,我的田地变得无人问津."FromUnit"变成了"fromUnit".