goreilly / web-connector
将Quickbooks Web Connector集成到Web应用框架
1.1.5
2016-07-05 20:45 UTC
Requires
- php: >=5.4.0
- ext-simplexml: *
Requires (Dev)
- phpunit/phpunit: ^5.3
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。
从哪里开始
- 确定您想要从Quickbooks获取什么。
- 在Intuit文档中查找正确的查询和响应格式:https://developer-static.intuit.com/qbSDK-current/Common/newOSR/index.html(选择qbXML和正确的SDK版本)
注意
- 如果更改似乎没有产生影响,请尝试停止并重新启动您的PHP开发服务器,因为它会缓存SOAPServer。
路线图
- 将响应添加到处理器中。我不知道它们是否需要它们?
- 单元测试
- 通过xsd进行QBXML验证
- 错误处理
- 找到正确的WSDL文件