emoran / QuickBooksDesktopService

QuickBooks Desktop Integration using JAVA webservice. Integration with Salesforce.com
http://yucelmoran.com
6 stars 1 forks source link

Getting javax.servlet.ServletException after deploying #1

Closed acypert closed 5 years ago

acypert commented 5 years ago

Hi,

I was able to deploy your code to Tomcat, but on opening the page I'm receiving this exception:

javax.servlet.ServletException: File [/axis2-web/listSingleService.jsp] not found org.apache.jasper.servlet.JspServlet.handleMissingResource(JspServlet.java:407) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:374) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.axis2.transport.http.AbstractAgent.renderView(AbstractAgent.java:119) org.apache.axis2.transport.http.ListingAgent.processListService(ListingAgent.java:200) org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:634) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

Do you know why this is happening?

acypert commented 5 years ago

Fixed by

You need to update the services.xml file at: src\main\webapp\WEB-INF\services\QBWebConnectorSvc\META-INF\services.xml

There are two references to class files, change both of them to com.emoran.testWS.[...] instead of com.test.ws.[...]

com.emoran.testWS.QBWebConnectorSvcMessageReceiverInOut com.emoran.testWS.QBWebConnectorSvcSkeleton

emoran commented 5 years ago

Thanks @acypert ! I was about to build the project locally and debug the issue, thanks for the fix, I was also getting the same.

acypert commented 5 years ago

No problem! Thanks for putting this project up, it's a big help.

Now that I have the server running, what should be the process to communicate with the connector? Should the process be to send a SOAP POST to the server address? I found this example, but when I perform the POST it doesn't seem to be actually interacting with Quickbooks.

`<?xml version="1.0" encoding="utf-8"?>

string string string string int int ` https://www.connexforquickbooks.com/qbwebservice.asmx?op=sendRequestXML
emoran commented 5 years ago

@acypert the way I've used this is basically, once the WSDL is exposed I followed this steps:

  1. Install WebConnector in the machine where QuickBooks Desktop is installed: Download
  2. Create a new file called "integration.qwc" with this content:

`<?xml version="1.0" encoding="UTF-8"?>

Sitetraker-Integration http://127.0.0.1:8080/emoran-1.0-SNAPSHOT/services/QBWebConnectorSvc?wsdl Integration http://127.0.0.1:8080/emoran-1.0-SNAPSHOT/services admin {57F3B9B1-86F1-4fcc-B1EE-566DE1813D20} {90A44FB5-33D9-4815-AC85-BC87A7E7D1EB} QBFS 15 ` 3. Open web connector and clic on "Add Application" ![image](https://user-images.githubusercontent.com/1028534/64459083-1589d500-d0c5-11e9-94fc-50d0cbb8c3c0.png) 4. Web Connector will allow you to add http URL only if you're testing locally, for a exposed service you need to have SSL (https) 5. Once the integration is setup then you can sync on demand or set an interval of time, At this point what happens is that Web Connector will ask the web service for actions and is there when the code executed in the sendRequestXML method gets executed, now you can set the actions for query or create on quickbooks and catch the responses on the getResponse method. I will try to set the steps in this repo with some images, need to set an environment as I'm testing with a trial version for now.
acypert commented 5 years ago

Gotcha @emoran . I still wasn't able to get it to communicate, unfortunately, so I decided to go the route of Jacob (COM Bridge) to communicate with Quickbooks (https://www.molecularbear.com/blog/using-the-quickbooks-sdk-via-jacob-java-com-bridge), and I'll configure a server to enable communication between all of the other applications.

Either way, thanks again for providing this resource.