公式のgithubに書いてあるんだけど、備忘のために記載する。
node-soapでクライアントを生成すると、自動で「(オリジナルメソッド名)+Async」という非同期用のメソッドが生成される。
が、対象となるWSDLに「(オリジナルメソッド名)」「(オリジナルメソッド名)+Async」の2種類がもともと定義されてると、node-soapが作ろうとする「(オリジナルメソッド名)+Async」と元の定義がぶつかってエラーになってしまう。
このための回避オプションとしてoverridePromiseSuffix
というのが用意されている。
overridePromiseSuffix
でnode-soapがつくるメソッドのSuffixを書き換えることができる。
let option = {
overridePromiseSuffix:"Async2"
};
let client = await soap.createClientAsync(wsdl_url , option );
みたいな感じ。
ちなみに、これやってないとPromise側のエラー(Error: Cannot promisify an API that has normal methods)が出る。
ここに実例が書いてあるので参考にしましょう。(ここに記載されてるのはnode-soapではないけど)