Ruby/Savon:在soap请求的命名空间方面遇到问题
我在为正在构建的SOAP xml更改名称空间时遇到问题。我不知道如何将“xmlns:env=”更改为“xmlns:soapenv=”和“xmlns:tns=”更改为“xmlns:web=” 我想建立的是: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/
<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)