前言
在前端开发中,我们常常需要对 Web 服务进行调用。而对企业级应用而言,SOAP 协议是一种相对常用的协议。因此,使用 wsdl2.js-ssl 这个 npm 包可以帮助我们在前端页面中进行 SOAP 协议的调用。
本篇文章将会详细介绍如何使用 wsdl2.js-ssl 这个 npm 包进行 SOAP 协议的调用。
安装
在使用 wsdl2.js-ssl 之前,我们需要先进行安装。在命令行中,执行以下命令即可进行安装:
npm install wsdl2.js-ssl
使用方法
使用 wsdl2.js-ssl 调用 SOAP 协议,需要经过以下几个步骤:
1. 生成 SOAP 请求报文
使用 wsdl2.js-ssl,我们可以通过调用 createClient()
方法来生成一个 SOAP 请求报文实例。
const soapClient = require('wsdl2.js-ssl').createClient(wsdl, options);
其中,wsdl
为 WSDL 文件的路径或 URL,options
为配置对象,可以指定一些请求的参数。
2. 指定 SOAP 请求头
在生成 SOAP 请求报文实例之后,我们需要通过调用 setHeaders()
方法来指定 SOAP 请求头信息。
const headers = { 'Content-Type': 'text/xml;charset=UTF-8', 'SOAPAction': 'http://www.example.org/HelloWorld/SayHello', 'Authorization': 'Basic xxxxxxxxxxxx' }; soapClient.setHeaders(headers);
其中,'Content-Type'
表示请求头的类型,'SOAPAction'
表示要请求的操作,'Authorization'
表示认证信息。
3. 调用 SOAP API
在指定了请求头之后,我们可以通过调用 call()
或者 asyncCall()
方法来调用 SOAP API。
-- -------------------- ---- ------- ----- ---------- - ----------- ----- ---- - - ----- ------- -- --------------------------- ----- -------- ----- ------- - -- ----- - ------------------- ------- - -------------------- ---
其中,methodName
表示要调用的方法名称,args
表示要传递给方法的参数,这里以 JSON 格式传递。
4. 返回结果解析
当调用完成之后,我们可以通过解析返回结果来获取 API 的执行结果。
const parser = require('xml-js'); const result = parser.xml2js(xmlResponse, { compact: true, ignoreComment: true }); console.log(result);
当然,如果我们只需要结果中的某些字段,我们可以进行转换成 JSON 后再进行过滤。
示例代码
最后,我们来看看一个完整的示例代码。这个例子将会调用一个 URL 为 http://localhost:8080/HelloWorld?wsdl
的 SOAP API,并调用其中的 SayHello
方法。
-- -------------------- ---- ------- ----- ---------- - ------------------------------------------------------------------------------ ----- ------- - - --------------- ------------------------- ------------- --------------------------------------------- ---------------- ------ ------------- -- ------------------------------- ----- ---------- - ----------- ----- ---- - - ----- ------- -- --------------------------- ----- -------- ----- ------- - -- ----- - ------------------- ------- - -------------------- ---
总结
使用 wsdl2.js-ssl 这个 npm 包可以帮助我们在前端页面中进行 SOAP 协议的调用。通过本篇文章的介绍,相信大家已经掌握了如何使用 wsdl2.js-ssl 进行 SOAP 协议的调用,希望对大家的工作有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671178dd3466f61ffe6a5