利用失眠来打肥皂电话

Using Insomnia To Make Soap Calls

我正在尝试使用 Insomnia 进行肥皂电话 - 特别是试图让 post 成功。我将 URL 定义为终点,并将 body 类型与 SOAP 内容(信封、header、body)一起放入 XML。我在 header 中定义了用户 ID 和密码。当我 运行 我得到 415 Unsupported Media Type。由于信封中的所有 URL 地址,我无法真正粘贴肥皂内容。我正在使用 Insomnia 成功地进行 REST 调用以获取我的信息(出于某些疯狂的原因,获取是 REST 但 posts 是 SOAP)但无法使插入工作。我需要什么特别的东西吗,或者 Insomnia 不支持 SOAP post 事务?我用谷歌搜索,它出现在 2018 年,这是添加的。我没有可用的 WSDL。

我很感激这并没有提供很多信息,因此关于我可以提供更多信息以获得帮助的指导也会有所帮助。有没有人成功使用Insomnia进行SOAP调用?

我需要做的就是:

  • 请求方式:POST.
  • Content-Type header 设置为 text/xml; charset=utf-8application/xml 给了我 415 响应)。
  • 在适当的 SOAP 信封中包装请求 body。

您应该能够在 YourHandler.asmx 上调用 GET 来查找您要使用的请求的信封。信封应该看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Body>
    <HelloWorld xmlns="http://tempuri.org/">
      <foo>
        <Id>1</Id>
        <Name>Bar</Name>
      </foo>
    </HelloWorld>
  </soap:Body>
</soap:Envelope>

指南和信封示例的致谢名单为 this answer

您可以导入WSDL文件,这样所有的方法,headers等都会自动创建。点击:

  1. 转到仪表板
  2. 点击Create
  3. 选择URL(在导入自下)
  4. 粘贴 WSDL URL 并单击 Fetch and Import

例如,您可以使用以下 URL:http://www.dneonline.com/calculator.asmx?wsdl

你会得到:


写这个答案的问题是,有两个错误:

  1. 并非所有 WSDL URL 都能正确导入(例如,这个在 SOAP UI 中有效,但在 Insomnia http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?WSDL 中无效)
  2. 正在导入方法,但它们不起作用

您可以在 Github 上提交和发布,以便解决此问题:https://github.com/Kong/insomnia