2017-08-13 76 views
0

我已经继承了一个与桌面QB集成的Java应用程序。这整个设置的结构中有一些我不理解。这是我第一次使用QB API作为开发人员。QuickBooks java SOAP Web连接器结构

QB Web连接器2.2.0.71已安装且可用。我看到.qwc文件并理解它,并将其加载到Web连接器中。有一个Application类将一个端点发布到与.qwc文件中相同的URL,然后启动一个名为QBWebService的类。此Web服务类实现com.intuit.developer.TroubleshootWebServiceFSSoap并具有方法authenticate,sendRequestXML等方法sendRequestXML具有我正在测试并尝试修改的代码。但是,在我能做到这一点之前,我需要理解XML来回。

因为我不知道我不知道什么,如果我提出错误的问题,请务必说出口。

是否正确,然后,Web连接器(按计划)启动应用程序类并调用sendRequestXML方法?

我期待能找到一个URL,我可以用SOAPui之类的东西发送XML,以便测试XML并检查响应,但这似乎不是Web服务的工作原理。是否可以这样设置?或许我不明白QB Web连接器应用程序正在做什么。如果通过POST不能接受XML,那么在localhost上打开URL的目的是什么?

在此先感谢您的帮助

--Matt

+0

SOAP比今天的REST更加复杂,应该使用生成的存根,而不是“手动”解析 –

回答

0

是正确的,那么,该网络连接器(按计划)启动应用程序类,并调用sendRequestXML方法?

是的,这是正确的。

我期待找到,我可以为了测试的XML并检查响应

发送XML与像SOAPUI一个URL

您可以发送请求到您的SOAP服务(例如,你例如可以调用sendRequestXML方法)。

您将得到一个XML响应(如果您是Web连接器),然后您将中继到QuickBooks。 QuickBooks将处理响应,然后调用receiveResponseXML方法将XML响应发送回您的Web服务。

也许我不明白QB Web连接器应用程序正在做什么。

听起来像你期待QuickBooks提供一个SOAP端点,然后你可以直接发送XML请求到直接从QuickBooks查询数据。

这实际上并不是Web连接器的工作原理。 Web连接器类型的工作“向后”。

而不是直接连接到QuickBooks,Web连接器连接到(你的SOAP端点),并问你“嘿,给我做点什么!” (即send me the request XML you want to run against QuickBooks)。然后,您向它提供一个XML请求,它将针对QuickBooks运行,获取响应,然后再次连接到您并说“这是QuickBooks对您的请求作出的回应”(即here you go, receive this response XML from QuickBooks)。

因此,Web连接器本质上轮询您提供的SOAP端点,要求您将XML请求传递给QuickBooks。

这里

更详细的解释:

http://www.consolibyte.com/docs/index.php/QuickBooks_Web_Connector_Overview#About_the_QuickBooks_Web_Connector