Ý 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
Trả lời
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:
- Mỗi chữ ký phương pháp có một tham số bổ sung
callback
- Không có
return
, được xử lý bởicallback()
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).
Đ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
@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
@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. –
- 1. Máy chủ QTcpS chậm với nhiều khách hàng đồng thời
- 2. Cách tạo mã phía máy khách cho nhiều dịch vụ WCF với các kiểu chia sẻ
- 3. Nhiều cuộc gọi WCF đồng thời từ một máy khách đến Dịch vụ
- 4. quyết định wcf: một hợp đồng dịch vụ nhiều hoặc nhiều dịch vụ
- 5. Cách phát video YouTube đồng bộ trên nhiều khách hàng?
- 6. WCF Test Lỗi máy khách: Không thể gọi dịch vụ
- 7. Node.js - chờ cho nhiều cuộc gọi không đồng bộ
- 8. Phát hiện dịch vụ JmDNS trong máy khách-máy chủ
- 9. JAX-WS Các kỹ thuật khách hàng đồng bộ để gọi các dịch vụ web
- 10. Dịch vụ đồng bộ hóa và iOS
- 11. Điểm cuối duy nhất với nhiều hợp đồng dịch vụ
- 12. Máy khách Java không thể sử dụng dịch vụ WCF
- 13. Cách liên lạc với máy chủ Node.js từ máy khách Android
- 14. Nhiệm vụ không đồng bộ so với dịch vụ để tải xuống dữ liệu
- 15. Lưu trữ nhiều hợp đồng trong một dịch vụ WCF
- 16. Dịch vụ web RESTful không đồng bộ có thể không?
- 17. Node.js WriteStream đồng bộ
- 18. máy chủ http node.js http dưới dạng dịch vụ Windows
- 19. Cách viết các hàm không đồng bộ cho Node.js
- 20. Tạo phương thức dịch vụ web không đồng bộ
- 21. Dịch vụ WCF không đồng bộ thực sự
- 22. Gọi dịch vụ Web Api từ máy khách .NET 2.0
- 23. chiến lược để gọi dịch vụ đồng bộ gọi không đồng bộ trong C#
- 24. Cách đồng bộ hóa Dịch vụ Play Thời gian thực Nhiều người chơi
- 25. PhpStorm không đồng bộ với máy chủ
- 26. Đảm bảo trạng thái tệp trên máy khách được đồng bộ với máy chủ NFS
- 27. Máy khách JAX-WS: duy trì phiên/cookie trên nhiều dịch vụ
- 28. Threading nhiều cuộc gọi không đồng bộ
- 29. Truyền một blob Azure tới máy khách không đồng bộ với .NET 4.5 async, chờ
- 30. Cuộc gọi dịch vụ đồng bộ trong Android
Đó 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
@JohnB bạn sẽ có một số mã demo về cách thức hoạt động của qbws? – WABBIT0111
@ 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