拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 通过Postman 发送SOAP 请求

通过Postman 发送SOAP 请求

白鹭 - 2022-08-19 2165 0 2

一、概述

在本文中,我们将通过Postman发送一个SOAP 请求。在此之前,我们会将WSDL 从我们的Country SOAP 服务导入API 平台。

2. 设置

在我们可以在Postman 中发出SOAP 请求之前,我们需要一个正常工作的SOAP 服务。运行我们的Country SOAP 服务后,端点将位于http://localhost:8080/ws,并且可以在http://localhost:8080/ws/countries.wsdl找到WSDL

3. 测试来自Postman 的SOAP 请求

使用Postman 测试我们的端点有四个步骤。

3.1。导入SOAP WSDL

从Postman 8.4.0开始,我们可以将WSDL导入Postman。我们可以直接导入我们国家的Postman 收藏以下是从WSDL 创建新集合的几个步骤。

首先,让我们点击Collections

sending-soap-request-via-postman.png

接下来,让我们通过提供URL 来导入我们的WSDL:

sending-soap-request-via-postman-1.png

您也可以直接使用countries.wsdl WDSL 文件进行导入。

我们的服务是从WSDL 中获取的。我们将跳过高级设置并使用默认值导入:

sending-soap-request-via-postman-2.png

导入后,我们应该可以看到我们所有的SOAP 服务:

sending-soap-request-via-postman-3.png

Postman 负责为每个请求设置正确的URL、内容类型和标头。

3.2.添加正文数据

接下来,让我们通过在信封头中添加Spain作为国家namebaeldung命名空间来自定义我们的请求正文:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:gs="http://www.baeldung.com/springsoap/gen">
<soapenv:Header/>
<soapenv:Body>
<gs:getCountryRequest>
<gs:name>Spain</gs:name>
</gs:getCountryRequest>
</soapenv:Body>
</soapenv:Envelope>

3.3.设置请求标头

通过导入我们的WSDL,Postman 已经为我们设置了适当的标头。Content-Type设置为text/xml并适用于我们的请求。text/xml优于application/xml。不明确支持text/xml的MIME 用户代理(和Web 用户代理)会将其视为text/plain,例如,将XML MIME 实体显示为纯文本。

如果请求需要其他内容类型,我们可以取消选择Postman 自动添加的Content-Type标头。然后,我们在Key字段中添加一个带有Content-Type的新行,在Value字段中添加我们的新内容类型名称。

如果服务返回状态码500,我们应该添加一个额外的标头“ SOAPAction: #POST”

3.4.发送SOAP 请求

最后,让我们点击Send按钮来调用SOAP 服务。如果我们的调用成功,Postman 会在下方选项卡中显示包含有关西班牙信息的响应:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<ns2:getCountryResponse xmlns:ns2="http://www.baeldung.com/springsoap/gen">
<ns2:country>
<ns2:name>Spain</ns2:name>
<ns2:population>46704314</ns2:population>
<ns2:capital>Madrid</ns2:capital>
<ns2:currency>EUR</ns2:currency>
</ns2:country>
</ns2:getCountryResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

这是Postman 控制台中的输出:

sending-soap-request-via-postman-4.png

4。结论

在本文中,我们学习了如何通过Postman 发送SOAP 请求。我们首先看到了如何将WSDL 导入Postman。然后,我们成功地向我们的国家/地区服务发送了请求。与往常一样,代码可在GitHub 上获得。


标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *