小编dwn*_*dwn的帖子

SOAP post()操作获取Java nullptr异常

我遇到使用Savon发布SOAP的Ruby代码的问题

我有一个参数XML_BODY,显然没有被发送,或者,如果它是,接收它的Java代码看起来为null(如果我尝试返回"TEST"+ XML_BODY,响应显示"TEST null")

其他数据似乎发送好 - 真的很困惑

客户端操作是pub_mugs(),post(),subscribe()

这个Python/Zeep代码完全成功

from requests import Session
from zeep import Client
from zeep.transports import Transport

if __name__ == "__main__":

  url="http://localhost:8080/Wormhole?wsdl"

  with open('../../web/web/xsd/DETEP2012-with-content.xml', 'r') as f:
    xml=f.read().replace('\n', '')

  session = Session()
  session.verify = False
  transport = Transport(session=session)
  client = Client(url, transport=transport)

  print client.service.PubMugs(username='usr',password='pwd') #SUCCESS

  print client.service.subscribe(username='usr',password='pwd') #SUCCESS

  print client.service.post(username='usr',password='pwd',mug='110',XML_BODY=xml) #SUCCESS
Run Code Online (Sandbox Code Playgroud)

这个Ruby/Savon代码成功用于pub_mugs()和subscribe(),但是对于post()失败了

  client = Savon.client(wsdl: ENV["WSDL"],
      :ssl_verify_mode => :none,
      :raise_errors => false,
      pretty_print_xml: true)

  doc = File.open("../web/web/xsd/DETEP2012-with-content.xml") { |f| Nokogiri::XML(f) }

  xml = doc.to_xml.delete("\n").split(">",2)[1] …
Run Code Online (Sandbox Code Playgroud)

ruby soap savon zeep

4
推荐指数
1
解决办法
256
查看次数

标签 统计

ruby ×1

savon ×1

soap ×1

zeep ×1