6

我正在尝试使用 Insomnia 拨打肥皂电话 - 特别是试图让帖子成功。我将 URL 定义为端点,并将正文类型作为带有 SOAP 内容(信封、标题、正文)的 XML。我在标题中定义了用户 ID 和密码。当我运行时,我得到 415 Unsupported Media Type。由于信封中的所有 URL 寻址,我无法真正粘贴肥皂内容。我正在使用 Insomnia 成功地进行 REST 调用以获取我的信息(出于某种疯狂的原因,获取的是 REST,但帖子是 SOAP)但无法让插入工作。我需要什么特别的东西,还是 Insomnia 不支持 SOAP 后处理?我用谷歌搜索,它出现在 2018 年,这是添加的。我没有可用的 WSDL。

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

4

2 回答 2

15

我需要做的只是:

  • 请求方法:POST
  • Content-Type标题设置为text/xml; charset=utf-8application/xml给了我 415 响应)。
  • 将请求正文包装在适当的 SOAP 信封中。

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

<?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>

指南和信封样本的学分归于这个答案

于 2020-02-28T19:35:03.663 回答
7

您可以导入WSDL文件,以便自动创建所有方法、标头等。点击:

  1. 转到仪表板
  2. 点击Create
  3. 选择URL(在import from下)
  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

于 2020-12-22T09:13:08.380 回答