从 wsdl 在 typescript 中创建肥皂客户端
Posted
技术标签:
【中文标题】从 wsdl 在 typescript 中创建肥皂客户端【英文标题】:create soap client in typescript from wsdl 【发布时间】:2019-06-25 09:31:23 【问题描述】:我正在使用这个库 https://www.npmjs.com/package/soap 从 wsdl 生成一个客户端,更具体地说是soap.createclient(url) 行。
问题在于 url 必须对应于网络服务器提供的 wsdl 文件,在我的情况下,我不能这样做。
所以我想下载 wsdl 文件,将其存储在我的项目中,并将其提供给 createclient 方法,方法是提供字符串参数中的所有内容或提供下载文件的类似内容(我正在使用 webpack fyi ),但是这些选项都不起作用,这看起来很奇怪,因为它在文档中写到 createclient 方法似乎支持本地文件系统路径。
提前感谢您的帮助
【问题讨论】:
我正在使用同一个库并加载本地 wsdl 定义没有任何问题:import createClientAsync from 'soap'; client = await createClientAsync(localFilePath);
【参考方案1】:
我假设这大致是您的文件夹结构,并且您正在从根目录运行应用程序:
/dist
|- app.js
/src
|- app.ts
|- soap.wsdl
在这种情况下,.wsdl 文件的 url 需要为 './src/soap.wsdl' 才能正常工作,并且您需要将 src 文件夹与 dist 文件夹一起提供。
如果您只发送 dist 文件夹,您需要在 dist 文件夹中包含 .wsdl 文件,并将 url 指定为“./dist/soap.wsdl”。如果您在每次构建时删除 dist 文件夹,则需要确保将 .wsdl 文件复制到构建中。
另一种选择是在根目录中添加 assets 文件夹,将 .wsdl 文件放在那里,使用 './assets/soap.wsdl' 指向它,然后将 assets 文件夹与 dist 文件夹一起传送。
【讨论】:
以上是关于从 wsdl 在 typescript 中创建肥皂客户端的主要内容,如果未能解决你的问题,请参考以下文章
使用 Amazon Web Services WSDL 的最佳 python 肥皂堆栈是啥?