我想通过向 Web Connector 发送请求来添加客户。我已经用SDK提供的示例代码完成了。我想了解使用Web Connector获取和发送数据的过程。
我如何调用 Quick Book Web Service 并发送请求和检索数据。
最佳答案
How can i call Quick Book Web Service
你不能。
这不是 QuickBooks Web 连接器的工作方式。
您的起点应该是阅读有关 QuickBooks SDK 中包含的 QuickBooks Web Connector 的 98 页 PDF。这是一个链接:
作为概述,Web 连接器是一个位于 QuickBooks 旁边的简单 SOAP 客户端,它调用您的 Web 服务,而不是相反。它会轮询您设置的 Web 服务 (SOAP),并本质上询问“嘿,我应该做什么?”一遍又一遍地。然后,您向它提供 XML (qbXML) 命令,告诉它要做什么(例如 <CustomerAdd>...</CustomerAdd>
等)
作为概述,您可以使用以下方法实现 SOAP Web 服务:
array authenticate(string strUserName, string strPassword)
您应该将用户名和密码存储在您的网络应用程序中。
如果用户名和密码有效,您将生成一个 session ID(“票证”)并将该票证存储在您的数据库中。随后对您的每次调用都将包含此票证字符串,您将进行检查以确保该票证在每次后续调用中均有效。
然后您应该检查是否有什么可做的。您应该在 SOAP 服务器中维护一个要做的事情的队列。根据规范返回适当的响应。
string sendRequestXML(string ticket, string strHCPResponse, string strCompanyFileName, string qbXMLCountry, int qbXMLMajorVers, int qbXMLMinorVer)
Web 连接器将调用此方法来询问您“嘿,我应该做什么?”。
您应该检查内部待办事项队列,并将下一项从队列中拉出。您应该以字符串形式返回该队列项的有效 qbXML XML 请求。
因此,如果您想将客户添加到 QuickBooks,您将返回类似 <CustomerAdd><Name>...</Name></CustomerAdd>
的内容。
如果您想从 QuickBooks 获取客户列表,您可以执行类似 <CustomerQuery>...</CustomerQuery>
的操作
integer receiveResponseXML(string ticket, string response, string hresult, string message)
这就是 Web 连接器将数据发送回给您的方式。例如,如果您告诉 Web Connector 添加客户,它会将客户添加到 QuickBooks,然后向您发送 XML 响应,告诉您是否成功。
这就是全部内容。
您需要使用 3 个非常简单的方法和一个充满 XML 命令的队列来实现 SOAP 服务。
这里有更详细的解释,包括 SOAP 和 qbXML 示例:
如果您在 .NET 中进行开发,那么您应该安装 QuickBooks SDK:
因为它为您提供了 .NET 中的示例代码,向您展示如何实现所有这些内容。当您安装 SDK 时,它会被放置在您的计算机上:
- C:\Program Files (x86)\Intuit\IDN\QBSDK13.0\samples\qbdt\c-sharp\qbXML\WCWebService\
关于asp.net - 使用我的应用程序快速书籍向 Web Connector 发送请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36937442/