Rails中的SOAP中的命名空间

时间:2011-11-16 21:27:17

标签: ruby-on-rails soap savon

我正在使用Savon gem与WSDL互动。出于某种原因,Savon使用env作为命名空间而不是soapenv

如何使Savon使用soapenv命名空间而不是env命名空间生成请求?

2 个答案:

答案 0 :(得分:1)

Savon.config.env_namespace = :soapenv

答案 1 :(得分:0)

有一个特殊属性:

Savon.env_namespace = :soapenv

使用此属性设置,Savon将生成如下请求:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                                    xmlns:wsdl="http://www.examples.com/wsdl/HelloService.wsdl"
                                    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
        <wsdl:sayHello></wsdl:sayHello>
    </soapenv:Body>
</soapenv:Envelope>