2015-09-30 12 views
5

Ý tưởng là triển khai dịch vụ web QBWC bằng cách sử dụng Node.js có thể phục vụ nhiều yêu cầu đến theo kiểu không đồng bộ. Hiện tại tôi đang xem xét qbws là một dịch vụ web Node.js cho QuickBooks Desktop Web Connector. Bất kỳ ý tưởng về cách tôi có thể mở rộng này để hỗ trợ một kiến ​​trúc không đồng bộ cho các phương pháp dịch vụ?
Cảm ơn bạn đã nâng cao!Cách dịch vụ không đồng bộ nhiều máy khách QBWC với Node.js

+0

Đó là trong danh sách mong muốn của tôi để sửa đổi qbws để sử dụng gọi lại không đồng bộ cho mỗi phương pháp, nhưng hiện tại tôi không có môi trường thử nghiệm phù hợp để đảm bảo môi trường hoạt động chính xác. Tôi đã làm việc để giải quyết điều đó, nhưng bây giờ bạn sẽ cần phải sửa đổi nó cho phù hợp với nhu cầu của bạn. Nó không phải là khó khăn mặc dù; chỉ cảm thấy tự do để mở một vấn đề trên GitHub nếu bạn gặp khó khăn ở đâu đó. – JohnB

+0

@JohnB bạn sẽ có một số mã demo về cách thức hoạt động của qbws? – WABBIT0111

+0

@ WABBIT0111 mã trên GitHub có chức năng, hãy kiểm tra [Mục sử dụng] (https://github.com/johnballantyne/qbws#usage). Nếu bạn có bất kỳ câu hỏi nào về nó, hãy mở một vấn đề trên GitHub. – JohnB

Trả lời

4

soap mô-đun supports asynchronous function calls giúp dễ dàng thực hiện việc này. Để sử dụng mẫu giống như my other answer, dưới đây là cách bạn muốn làm điều đó:

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 

     } 
    } 
}; 

Có hai khác biệt:

  1. Mỗi chữ ký phương pháp có một tham số bổ sung callback
  2. Không có return, được xử lý bởi callback() thay thế.

Tôi hiện không có môi trường phù hợp để kiểm tra điều này, nhưng tôi đã tạo a client to imitate QuickBooks Web Connector và hoạt động tốt. Việc chuyển đổi các phương thức qbws thành không đồng bộ cho phép nó đồng thời phục vụ nhiều khách hàng (bao gồm cả một máy khách QBWC hợp pháp).

+0

Điều này thật tuyệt vời! .. được thử nghiệm với nhiều khách hàng QBWC thực tế .. làm việc tốt với các cuộc gọi không đồng bộ đến các máy chủ khác..Cảm ơn một tấn! – newbie

+1

@newbie: Bạn có mã ví dụ trong github hoặc nguồn mở mà tôi có thể xem không? tôi cũng đang phát triển một ứng dụng tương tự để tích hợp với QuickBooks Desktop. – WABBIT0111

+0

@newbie nếu bạn có đoạn mã này trên Github, sau đó cung cấp liên kết để chúng tôi có giao diện, tôi cũng đang làm việc trên cùng một điều. –

Các vấn đề liên quan