現在、ノードベースのアプリケーションでSOAPベースのサービスにリクエストしようとしています。私はノード・ソープ・モジュールを利用してこれを処理しています。 https://github.com/vpulim/node-soapSOAPを使用したWebサービスへの接続
は現在、私は私はあなたから見ることができるように、次の
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:doc="http://xxx.xxx.com">
<soapenv:Header/>
<soapenv:Body>
<doc:getAllDocsisVideoInfo>
<appKey>"appKey"</appKey>
<mac>xxxxxxx</mac>
</doc:getAllDocsisVideoInfo>
</soapenv:Body>
</soapenv:Envelope>
として、XML形式のサンプル要求を持って、サービスの応答を次の実装
var soap = require('soap');
var url = 'http:/xxxx/xxxx/xxxx?WSDL';
var appKey = 'ABYRCEE';
var xml = {
appKey: appKey,
mac: 'xxxxxxxx'
}
soap.createClient(url, function(err, client){
//console.log('Client:', client);
client.getAllDocsisVideoInfo(xml, function(err, result){
if(err){
console.log(err);
}
});
});
を持っています上記の私はのappKeyとのMACの値を渡さなければなりません。これが成功すれば、これはsuccessfu lレスポンスを適切なレスポンスでxml形式で出力します。
私はクライアントオブジェクトは適切な関数で戻ら見ることができるけど、client.getAllDocsisVideoInfo(....)を呼び出すときに、私は次のエラーに
Sを見ているようですクライアント:{} getAllDocsisVideoInfoのディスパッチメソッドが見つかりません
私はその理由がわかりません。それはxmlオブジェクトを渡しているので、サンプルリクエストをどのように渡すのですか?
https://www.npmjs.com/package/soap
あなたは次のように関数を呼び出すために持っているように見えます:あなたはあなたのようにそれを呼び出したい場合は
client.getAllDocsisVideoInfo(xml, function(err, result, raw, soapHeader){
})
ノード・石鹸のAPIを見てみると
a:console.log(client.describe());あなたがクライアントに関する情報を得るかどうかを知る(メソッドなど)。あなたは何か情報を取得していない場合、私はあなたのURLが何とか間違っているのだろうか? – cloaked
私はそれが私に必要な機能を与えたことを試みました – RRP