2015-09-30 6 views
5

複数の着信要求を非同期で処理できるNode.jsを使用してQBWC Webサービスを実装する方法が考えられます。現在、QuickBooks Desktop Web ConnectorのNode.js Webサービスであるqbwsを探しています。サービスメソッドの非同期アーキテクチャをサポートするためにこれをどのように拡張することができるかについてのアイデアはありますか?
ありがとうございました!Node.jsを使用して複数のQBWCクライアントを非同期でサービスする方法

+0

qbwを変更して各メソッドの非同期コールバックを使用することを願っていますが、現在適切なテスト環境がないため、正常に動作していません。私はそれを解決するために取り組んできましたが、今はニーズに合わせて変更する必要があります。それは難しいことではありません。 GitHubの問題をどこかでつかまえてしまうと、自由に気軽に問題を開くことができます。 – JohnB

+0

@JohnB qbwの仕組みに関するデモコードをお持ちですか? – WABBIT0111

+0

@ WABBIT0111 GitHubのコードが機能している場合は、[Usage section](https://github.com/johnballantyne/qbws#usage)を確認してください。それについて質問がある場合は、GitHubで問題をオープンしてください。 – JohnB

答えて

4

soapモジュールsupports asynchronous function callsこれは簡単に行うことができます。 my other answerと同じテンプレートを使用するには、ここにあなたがそれを行うだろう方法は次のとおりです。

var soap = require('soap'); 

var yourService = { 
    QBWebConnectorSvc: { 
     QBWebConnectorSvcSoap: { 
      serverVersion: function (args, callback) { 

       // serverVersion code here 

       callback({ 
        serverVersionResult: { string: retVal } 
       }); 
      }, 
      clientVersion: function (args, callback) { 

       //clientVersion code here 

       callback({ 
        clientVersionResult: { string: retVal } 
       }); 
      }, 

      // and all other service functions required by QBWC 

     } 
    } 
}; 

2つの違いがあります。

  1. は、各メソッドのシグネチャは、追加callbackパラメータ
  2. を持って何returnは、ありません代わりにcallback()によって処理されます。

私は現在、これをテストするのに適した環境を持っていませんが、a client to imitate QuickBooks Web Connectorを作成して正常に動作しました。 qbwsメソッドを非同期に変換すると、複数のクライアントを同時にサービスすることができました(1つの正当なQBWCクライアントを含む)。

+0

これは素晴らしいです!..複数の実際のQBWCクライアントでテスト済み..他のサーバーへの非同期呼び出しでうまく動作します。 – newbie

+1

@newbie:githubやオープンソースのサンプルコードがありますか?私はQuickBooks Desktopと統合するための同様のアプリを開発中です。 – WABBIT0111

+0

@newbie Githubにこのコードスニペットがある場合は、リンクを提供して見ていただきたいと思います。同じことをやっています。 –

関連する問題