2017-08-13 5 views
0

J'ai hérité d'une application Java qui s'intègre au bureau QB. Il y a quelque chose dans la structure de cette installation entière que je ne comprends pas. C'est mon premier coup avec l'API QB en tant que développeur. Le QB Web Connector 2.2.0.71 est installé et fonctionnel.Structure du connecteur Web Java SOAP de QuickBooks

Je vois le fichier .qwc et le comprends, et il est chargé dans le connecteur web. Il existe une classe Application qui publie un noeud final dans la même URL que celle du fichier .qwc, puis démarre une classe nommée QBWebService. cette classe de service Web implémente com.intuit.developer.TroubleshootWebServiceFSSoap et possède des méthodes d'authentification, sendRequestXML, etc. La méthode sendRequestXML possède le code que je suis en train de tester et que je tente de modifier. mais, avant que je puisse le faire, j'ai besoin de comprendre le XML qui va et vient.

puisque je ne sais pas ce que je ne sais pas, si je pose les mauvaises questions, par tous les moyens, s'il vous plaît dites-le.

est-il correct, alors, que le connecteur Web (sur le calendrier) lance la classe d'application et appelle la méthode sendRequestXML? Je m'attendais à trouver une URL avec laquelle je pourrais envoyer du XML avec quelque chose comme SOAPui afin de tester le XML et examiner la réponse, mais cela ne semble pas être le fonctionnement de ce service web. est-il possible de le configurer de cette façon? Peut-être que je ne comprends pas ce que fait l'application de connecteur Web QB. quel est le but de l'ouverture de l'URL sur localhost si elle ne peut pas accepter XML via POST?

grâce à l'avance pour l'aide

--matt

+0

SOAP est plus compliqué que d'aujourd'hui REST, devrait utiliser stub généré et non Parse 'manuellement' –

Répondre

0

est-il exact, alors, que le connecteur Web (le programme) lance la classe d'application et appelle la méthode sendRequestXML?

Oui, c'est correct.

je comptais trouver une URL que je pourrais envoyer XML avec quelque chose comme SoapUI afin de tester le code XML et examiner la réponse

Vous pouvez envoyer des demandes à votre service SOAP (par exemple, vous peut appeler la méthode sendRequestXML par exemple).

Vous obtiendrez une réponse XML qui (si vous étiez le Connecteur Web) vous serait alors relayer à QuickBooks. QuickBooks traite la réponse, puis appelle la méthode receiveResponseXML pour renvoyer la réponse XML à votre service Web. Peut-être que je ne comprends pas ce que fait l'application de connecteur Web QB. Il semble que vous vous attendiez à ce que QuickBooks fournisse un point de terminaison SOAP, auquel vous pouvez envoyer directement des requêtes XML pour interroger des données directement depuis QuickBooks.

Ce n'est pas vraiment le fonctionnement du Web Connector. Le Web Connector fonctionne en quelque sorte "en arrière".Au lieu de se connecter directement à QuickBooks, le connecteur Web se connecte à (votre point de terminaison SOAP) et vous demande "Hé, donnez-moi quelque chose à faire!" (c'est-à-dire send me the request XML you want to run against QuickBooks). Vous lui donnez ensuite une requête XML, qu'il exécute contre QuickBooks, obtient la réponse, puis se connecte à nouveau à vous et dit "voici ce que QuickBooks a répondu à votre requête" (par exemple, here you go, receive this response XML from QuickBooks).

Ainsi, le Web Connector interroge essentiellement un point de terminaison SOAP que vous fournissez, vous demandant de lui donner des demandes XML à passer à QuickBooks.

explication plus ici:

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