我尝试通过QB Web连接器实现example_web_connector 我将应用程序添加到QBWC,密码,通过身份验证,但QBWC收到错误消息“ 0x80045242:QBPOSXML:未知请求版本” 我必须在哪一边“观看”?
QBC
const oldestPilots = pilots => pilots.reduce((oldest, pilot) => {
if (!oldest.length || oldest[0].years < pilot.years) return [pilot];
if (oldest[0].years == pilot.years) return [...oldest, pilot];
return oldest;
}, [])
<?xml version="1.0"?>
<QBWCXML>
<AppName>QB</AppName>
<AppID>IDNTS_POS_1</AppID>
<AppURL>http://localhost/</AppURL>
<AppDescription>QB</AppDescription>
<AppSupport>http://localhost/dashboard/</AppSupport>
<UserName>test</UserName>
<OwnerID>{A91CC425-ABC4-4972-9FC6-D5F6B90F0472}</OwnerID>
<FileID>{349C0857-7A5D-428c-B0B9-E0AC9377EE14}</FileID>
<QBType>QBPOS</QBType>
<Style>Document</Style>
</QBWCXML>
我也只安装了QB POS服务器工作站
答案 0 :(得分:0)
您收到以下错误消息:
0x80045242: QBPOSXML: Unknown request version
因为您正在发送错误版本的请求。这些请求:
$xml = '<?xml version="1.0" encoding="utf-8"?>
<?qbxml version="2.0"?>
<QBXML>
<QBXMLMsgsRq onError="stopOnError">
<CustomerAddRq requestID="' . $requestID . '">
<CustomerAdd>
适用于QuickBooks Pro / Premier / Enterprise。它们根本不是不是 QuickBooks 销售点请求。 QuickBooks销售点是与QuickBooks Pro / Premier / Enterprise不同的产品系列。
您正在使用的库:
有一个专门针对QuickBooks销售点的示例:
您可以看到请求的结构不同(并且具有不同的版本和XML标头):
// We're just testing, so we'll just use a static test request:
$xml = '
<?xml version="1.0" encoding="utf-8"?>
<?qbposxml version="3.0"?>
<QBPOSXML>
<QBPOSXMLMsgsRq onError="stopOnError">
<CustomerAddRq>
您还可以在此处查看说明这些请求的文档: