goreilly/web-connector

将Quickbooks Web Connector集成到Web应用框架

1.1.5 2016-07-05 20:45 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:53:07 UTC


README

端点

端点处理每个单个SOAP请求。您不需要覆盖它们,但需要注入每个端点的依赖项。

任务

任务通过实现goreilly\WebConnector\Task\TaskInterface来确定是否发送请求以及发送什么类型的xml。

处理器

处理器实现\goreilly\WebConnector\QBXMLResponseHandler\QBXMLResponseHandlerInterface。当Quickbooks返回响应时,将选择并运行支持响应内容的处理器。

示例处理器

class ItemQueryHandler implements QBXMLResponseHandlerInterface
{
    public function supports($type)
    {
        return $type === 'ItemQueryRs';
    }

    public function handle(\SimpleXMLElement $element)
    {
        // Insert items into database...
    }
}

队列

队列在请求之间持续存在。它将持续到Web Connector中的“更新所选”按钮单击一次,因为在那之后它会清除cookies。您可以按任何方式存储队列,例如在会话中。您只需在每个请求中检索并将队列传递给服务器即可。

必须将队列注入需要它的处理器中。

  • SendRequestXMLHandler:使用队列构建和发送队列中存储的任务的XML。
  • AuthenticateEndpoint:使用队列报告初始进度。
  • ReceiveResponseXMLEndpoint:使用队列报告处理响应后的进度。

身份验证

身份验证是可选的,但您必须将Authenticator对象传递给身份验证端点。如果您想始终接受每个请求,请使用NullAuthenticator。

从哪里开始

  1. 确定您想要从Quickbooks获取什么。
  2. 在Intuit文档中查找正确的查询和响应格式:https://developer-static.intuit.com/qbSDK-current/Common/newOSR/index.html(选择qbXML和正确的SDK版本)

注意

  • 如果更改似乎没有产生影响,请尝试停止并重新启动您的PHP开发服务器,因为它会缓存SOAPServer。

路线图

  1. 将响应添加到处理器中。我不知道它们是否需要它们?
  2. 单元测试
  3. 通过xsd进行QBXML验证
  4. 错误处理
  5. 找到正确的WSDL文件