【问题标题】:Create a Web Service(WCF) to integrate with QuickBooks创建 Web 服务 (WCF) 以与 QuickBooks 集成
【发布时间】:2009-08-12 16:35:11
【问题描述】:

我正在将我们的自定义 Web 应用程序与 QuickBooks Enterprise 9 集成。我的想法是我可以将 QuickBooks 用作我的“数据库”。当一个人创建发票时,发票实际上只存储在 QuickBooks 中。当一个人查看发票列表时,他们实际上是在查看 QuickBooks 发票列表。我想确保数据只存储在一个位置。

我意识到我可以使用 QB Web 连接器,但问题是我无法控制对 QB 的请求何时真正得到处理(该工作取决于 Web 连接器)。

所以我有我的 Web UI 来充当 QuickBooks 的“面孔”,但我没有任何好的方法来访问和访问位于内部服务器上的 QuickBooks 文件。我当时的想法是我可以创建一个 WCF Web 服务并将其安装在 QuickBooks 服务器上。然后,Web 服务可以成为我的集成点。然后,我的自定义 Web 应用程序可以使用 Web 服务,而且,viola,我可以访问我的 QuickBooks 文件。

我的问题是:WCF 应用程序可以连接并运行 QuickBooks 吗?如果没有,我可以创建一个 Windows 服务作为我的集成点吗?如果是这样,我的自定义 Web 应用可以“使用”Windows 服务吗?

【问题讨论】:

  • 您是否已经锁定QB作为您的后端?如果不是,我会认真地重新考虑这一点。根据我的经验,QuickBooks 本身相当缓慢且脆弱。他们的 API 也不是很有趣。
  • 我不是。我希望通过这样做,我可以加快开发速度。
  • 我在一个团队中正在做类似的事情,在 QB 盒子上运行 WCF 服务。你最终成功了吗?我们已经构建了它,但是要通过 IIS/QB 获得正确的权限以运行 Web 服务,实在是太费时间了。在 VS 服务器上运行 Web 服务效果很好,但在 IIS 上就没有这样的运气了。
  • 不...不幸的是,我决定采用批处理/Web 连接器方法。

标签: wcf quickbooks


【解决方案1】:

首先我会警告您,对于可从远程网站访问的可靠后端数据库,QuickBooks 可能不是您的最佳选择。事实上……这可能是一个非常非常糟糕的选择。

您应该拥有自己的应用程序数据库,然后如果您还需要与 QuickBooks 交换数据,请在应用程序的正常生命周期之外进行,作为单独的同步过程。

由于多种原因,QuickBooks 对于始终在线类型的应用程序通常不够可靠:

  • 不稳定的 SDK 连接
  • 更新和单用户模式将 阻止您访问 QuickBooks
  • 难以从非 GUI 进程(Windows 服务和 IIS 进程)建立 SDK 连接

话虽如此……

是的,您可以创建 WCF Web 服务,将其托管在 QuickBooks 计算机上,并使您的 WCF Web 服务将消息中继到 QuickBooks 或从 QuickBooks 中继消息。

是的,你也可以创建一个 Windows 服务来做同样的事情。

不要将其实现为 Windows 服务,不要在 IIS 中实现 - 而是将其实现为与 QuickBooks 一起运行的 GUI 应用程序。

如果您尝试将事物作为 Windows 服务或在 IIS 中实现,QuickBooks SDK 要求您有一个可用的 GUI(它使用 GUI COM 消息泵来进行事件分派或类似的东西......)来处理请求,所以您可能需要使用 QBXMLRP2e.exe 之类的东西来跨越 QuickBooks 和非 GUI Windows 服务/IIS 之间的进程边界。我的经验是,这是一个巨大的痛苦,并且还需要使用 DCOM 权限。

我有一个示例和一些文档on my QuickBooks integration wiki

IDN Forums 是提问的好地方。

我给你的建议是:

  • 使用 Web 连接器和 QuickBooks 放弃将所有数据保存在一个地方的希望。将数据缓存在真实数据库中,并通过定期查询 QuickBooks 进行更新。我现在几乎完成了一个解决方案来做到这一点,而且效果非常好。

  • 使用不同的帐户系统。 NetSuite 很不错。我不确定还有什么,但如果我是你,我会寻找基于 SQL 或具有强大 SOAP/REST API 的东西。

【讨论】:

  • Keith,您的网站包含指向“低睾酮治疗”和“如何使用 iPhone 相机”的链接以及许多其他垃圾链接。
  • @DavidMurdoch 谢谢,会检查的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-21
相关资源
最近更新 更多