请推荐一些课程/ tutorial/books 使用 Nodejs 创建 soap 请求

Please suggest some courses/ tutorial/books for creating soap request with Nodejs

我浏览了几乎所有的视频、博客,我可以找到与 Nodejs 集成的相关 soap,但找不到任何完全初学者的东西。请帮忙。

  1. 示例 SOAP 服务

首先,我们将从 Node 环境中获取一个样本 SOAP Web 服务来使用。让我们看看这个 SOAP 调用的结构。

请求URL

http://www.example.com/exampleapi

XML 请求模板

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
  <soap:Header>
  </soap:Header>
  <soap:Body>
    <GetUser>
      <UserId>123456</UserId>
    </GetUser>
  </soap:Body>
</soap:Envelope>

XML 响应模板

<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope/"
soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">

<soap:Body>
  <GetUserResponse>
    <Username>Clue Mediator</Username>
  </GetUserResponse>
</soap:Body>

</soap:Envelope>
  1. 添加 npm 依赖项

在这里,我们将使用 easy-soap-request npm 包通过 Node.js 简化 SOAP 请求。 运行安装npm依赖的命令如下

npm i easy-soap-request
  1. 执行 SOAP 请求

npm包安装成功后,添加以下代码片段执行SOAP请求。

const soapRequest = require('easy-soap-request');
...
...
// Example data
const url = 'http://www.example.com/exampleapi';
const sampleHeaders = {
  'Content-Type': 'text/xml;charset=UTF-8'
};
const xml = `<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
  <soap:Header>
  </soap:Header>
  <soap:Body>
    <GetUser>
      <UserId>123456</UserId>
    </GetUser>
  </soap:Body>
</soap:Envelope>
`;

// usage of module
(async () => {
  const { response } = await soapRequest({ url: url, headers: sampleHeaders, xml: xml });
  console.log(response.body);
  /* Example output:
  <soap:Envelope
  xmlns:soap="http://www.w3.org/2003/05/soap-envelope/"
  soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">

  <soap:Body>
    <GetUserResponse>
      <Username>Clue Mediator</Username>
    </GetUserResponse>
  </soap:Body>

  </soap:Envelope>
  */
})();
  1. 输出

执行上述代码时,您将获得 SOAP 请求的响应中指定的输出。您还将收到 headersstatusCode 以及 soapRequest.

的回复

您也可以从邮递员处查看相同的 SOAP 网络服务以进行验证。