相关疑难解决方法(0)

Rails - Savon设置了多个名称空间

我正在使用savon版本2(使用Ruby on Rails)来调用web服务,我需要为我的Envelope注入一些额外的命名空间.就像是:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:add="http://schemas.xmlsoap.org/ws/2003/03/addressing" 
xmlns:newNamespace1="http://someURL.pt/Test1" 
xmlns:newNamespace2="http://someURL.pt/Test2" 
xmlns:newNamespace3="http://someURL.pt/Test3"
Run Code Online (Sandbox Code Playgroud)

我目前的代码是:

client = Savon.client do
        wsdl "https://someValidURL?wsdl"

        namespace "http://someURL.pt/Test1" 
        namespace "http://someURL.pt/Test2" 
        namespace "http://someURL.pt/Test3"
end

response = client.call( ...the webservice call... )
Run Code Online (Sandbox Code Playgroud)

...但在我的请求中,Savon只放置最后一个命名空间

<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsns="http://someURL.pt/Test3" 
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
Run Code Online (Sandbox Code Playgroud)

我没有在Savon Git项目上找到任何关于此的文档.

有没有人有这个问题的解决方法?

PS-我还检查一个可能的解决方案是将所有xml请求(信封)设置为请求但是......嗯...太像黑客了.

如果这是不可能的并且还有其他好的宝石可以做到这一点,请告诉我=)

soap namespaces ruby-on-rails savon

8
推荐指数
2
解决办法
4617
查看次数

标签 统计

namespaces ×1

ruby-on-rails ×1

savon ×1

soap ×1