ウェブサイト検索

webpack - TypeScriptでWSDLからSOAPクライアントを作成する


私はこのライブラリ https://www.npmjs.com/package/soap を使用して、WSDL からクライアントを生成しており、より具体的には行 soap.createclient(url) を使用しています。

その問題は、URL がウェブサーバーによって提供される WSDL ファイルに対応している必要があるということです。私の場合、それはできません。

それで、私は wsdl ファイルをダウンロードしてプロジェクトに保存し、createClient メソッドに対して、すべての内容を文字列パラメータで渡すか、ダウンロードしたファイルのパスを渡すかのどちらかで使用したかったのですが(ちなみに私は webpack を使用しています)、これらのオプションのどれもうまくいきません。ドキュメントには createClient メソッドがローカルのファイルシステムのパスをサポートしているように書かれているので、これは少し奇妙です。

ご協力いただき、ありがとうございます

回答 #1

おそらくこれはあなたのフォルダ構成で、ルートからアプリを実行していると仮定しています:

/dist
  |- app.js
/src
  |- app.ts
  |- soap.wsdl

その場合、.wsdl ファイルの URL は './src/soap.wsdl' である必要があり、また dist フォルダと一緒に src フォルダも配布する必要があります。

もし dist フォルダだけを出荷する場合、dist フォルダに .wsdl ファイルを含め、URL を './dist/soap.wsdl' と指定する必要があります。もしビルドごとに dist フォルダを削除する場合は、ビルド時に .wsdl ファイルがそこにコピーされることを確認する必要があります。

もう一つの方法は、ルートにassetsフォルダを追加し、そこに.wsdlファイルを置き、'./assets/soap.wsdl'を使ってそれを指し、distフォルダと一緒にassetsフォルダを配布することです。