java - QuickBooks java SOAP Web 连接器结构

标签 java xml web-services soap quickbooks

我继承了一个与桌面QB集成的java应用程序。整个设置的结构中有一些我不理解的东西。这是我作为开发人员第一次使用 QB api。

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

由于我不知道我不知道什么,如果我问了错误的问题,请务必指出。

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

我希望找到一个 URL,我可以使用 SOAPui 之类的东西将 XML 发送到该 URL,以便测试 XML 并检查响应,但这似乎不是该 Web 服务的工作方式。这样设置可以吗?

也许我不明白 QB Web 连接器应用程序在做什么。如果本地主机无法通过 POST 接受 XML,那么在本地主机上打开 URL 的目的是什么?

提前感谢您的帮助

--马特

最佳答案

is it correct, then, that the web connector (on schedule) launches the application class and calls the sendRequestXML method?

是的,没错。

i was expecting to find a URL that i could send XML to with something like SOAPui in order to test the XML and examine the response

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

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

perhaps i don't understand what the QB web connector application is doing.

听起来您希望 QuickBooks 提供 SOAP 端点,然后您可以直接向该端点发送 XML 请求以直接从 QuickBooks 查询数据。

这并不是 Web 连接器的真正工作方式。 Web 连接器有点“向后”工作。

Web 连接器不是直接连接到 QuickBooks,而是连接到(您的 SOAP 端点)并询问您“嘿,给我一些事情做!” (即向我发送您想要针对 QuickBooks 运行的请求 XML)。然后,您给它一个 XML 请求,它针对 QuickBooks 运行该请求,获取响应,然后再次连接到您并说“这是 QuickBooks 响应您的请求的内容”(即 在这里,从以下位置接收此响应 XML QuickBooks)。

因此,Web 连接器本质上会轮询您提供的 SOAP 端点,要求您向其提供 XML 请求以传递到 QuickBooks。

这里有更长的解释:

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

关于java - QuickBooks java SOAP Web 连接器结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45662460/

相关文章:

java - Java 中的签名算法 SHA256withRSA 失败

java - org.apache.cxf.ws.policy.PolicyException : None of the policy alternatives can be satisfied

java - JAXB proguard 优化后的空字段

c++ - 我想读取该 XML 文件并将其存储到 C++ 中的本地字符串变量中

javax.net.ssl.SSLHandshakeException : Unsupported curveId: 29

.net - WSDL.exe 的位置

java - JsonDeserializer 不处理空值

java - 如何正确格式化 ActionEvent 以便 JButton 正常工作

java - IntStream 什么时候真正关闭? SonarQube S2095 是 IntStream 的误报吗?

Android:在 XML 中覆盖自己的 XML View