加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 使用Savon 2发送原始XML

发布时间:2020-12-16 20:46:25 所属栏目:百科 来源:网络整理
导读:我正在尝试使用Savon将请求发送到Web服务.我正在使用的服务需要嵌套的命名空间,我还没有想出如何在请求中提供它们. 我试图手工制作请求(实际上是用nokogiri)并发送生成的xml: client.call(:some_op,:message={:"op"="elem/"}) 但savon逃脱了弦并发送 lt; el
我正在尝试使用Savon将请求发送到Web服务.我正在使用的服务需要嵌套的命名空间,我还没有想出如何在请求中提供它们.

我试图手工制作请求(实际上是用nokogiri)并发送生成的xml:

client.call(:some_op,:message=>{:"op"=>"<elem/>"})

但savon逃脱了弦并发送& lt; elem /& gt;

如何在不转义的情况下发送原始xml?

解决方法

调用应如下所示:
client.call(:some_op,xml: "<elem />")

或者,如果您只想设置一个或多个名称空间,则按如下方式创建客户端(不使用WSDL):

client = Savon.client(
  :endpoint => 'http://www.example.com',:namespace => 'urn:core.example.com',:namespaces => { 'ns1' => 'http://v1.example.com','ns2' => 'http://v2.example.com' },:log => true,:log_level => :debug,:pretty_print_xml => true
)

名称空间是Hash参数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读