利用失眠来打肥皂电话
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-8
(application/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等都会自动创建。点击:
- 转到仪表板
- 点击
Create
- 选择
URL
(在导入自下)
- 粘贴 WSDL URL 并单击
Fetch and Import
例如,您可以使用以下 URL:http://www.dneonline.com/calculator.asmx?wsdl
写这个答案的问题是,有两个错误:
- 并非所有 WSDL URL 都能正确导入(例如,这个在 SOAP UI 中有效,但在 Insomnia http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?WSDL 中无效)
- 正在导入方法,但它们不起作用
您可以在 Github 上提交和发布,以便解决此问题:https://github.com/Kong/insomnia
我正在尝试使用 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-8
(application/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等都会自动创建。点击:
- 转到仪表板
- 点击
Create
- 选择
URL
(在导入自下) - 粘贴 WSDL URL 并单击
Fetch and Import
例如,您可以使用以下 URL:http://www.dneonline.com/calculator.asmx?wsdl
写这个答案的问题是,有两个错误:
- 并非所有 WSDL URL 都能正确导入(例如,这个在 SOAP UI 中有效,但在 Insomnia http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?WSDL 中无效)
- 正在导入方法,但它们不起作用
您可以在 Github 上提交和发布,以便解决此问题:https://github.com/Kong/insomnia