2017-08-13 35 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