Consolibyte QuickBooks PHP 图书馆 - XML 验证器不工作
Consolibyte QuickBooks PHP Library - XML Validator Not Working
我有以下 XML 添加新 Quickbooks 账单的请求:
<?xml version="1.0" encoding="utf-8"?>
<?qbposxml version="3.0"?>
<QBPOSXML>
<QBPOSXMLMsgsRq onError="stopOnError">
<BillAddRq>
<BillAdd defMacro="MACROTYPE"> <!-- required -->
<VendorRef> <!-- required -->
<ListID>80012448-1569211475</ListID> <!-- optional -->
</VendorRef>
<TxnDate>2019-06-28</TxnDate> <!-- optional -->
<DueDate>2019-06-29</DueDate> <!-- optional -->
<RefNumber>Ref12345</RefNumber> <!-- optional -->
<Memo>Memo12345</Memo> <!-- optional -->
<ExternalGUID>ExternalGUID12345</ExternalGUID> <!-- optional -->
<ExpenseLineAdd defMacro="MACROTYPE"> <!-- optional, may repeat -->
<AccountRef> <!-- optional -->
<FullName>Casual Labor:Moving</FullName> <!-- optional -->
</AccountRef>
<Amount>99.99</Amount> <!-- optional -->
<Memo>VillageMemo12345</Memo> <!-- optional -->
</ExpenseLineAdd>
</BillAdd>
</BillAddRq>
</QBPOSXMLMsgsRq>
</QBPOSXML>
Web 连接器返回 0x80040400: QuickBooks found an error when parsing the provided XML text stream.
上述错误。我在 Intuit 的支持论坛上关注 post 以尝试使用内置的 XML 验证器。
当我通过验证器 运行 我的 XML 请求时,我收到以下错误:
如何解决上述验证器错误?另外,除了使用内置验证器之外,还有其他验证 QB XML 的方法吗?
您在验证器中选择的平台需要与您在 XML 中选择的平台相匹配。
您选择验证依据:
- QuickBooks(美国版)
但是你的 qbXML 是为了:
<?qbposxml version="3.0"?>
<QBPOSXML>
(QuickBooks 销售点)
由于您验证的不是您实际的 qbXML 目标,因此验证当然会失败。对于您选择的内容无效。
如果您正在针对销售点进行开发,请针对销售点进行验证。
如果您正在为美国版的 QuickBooks 开发,请为美国版的 QuickBooks 输入一些 qbXML 并验证它。
我有以下 XML 添加新 Quickbooks 账单的请求:
<?xml version="1.0" encoding="utf-8"?>
<?qbposxml version="3.0"?>
<QBPOSXML>
<QBPOSXMLMsgsRq onError="stopOnError">
<BillAddRq>
<BillAdd defMacro="MACROTYPE"> <!-- required -->
<VendorRef> <!-- required -->
<ListID>80012448-1569211475</ListID> <!-- optional -->
</VendorRef>
<TxnDate>2019-06-28</TxnDate> <!-- optional -->
<DueDate>2019-06-29</DueDate> <!-- optional -->
<RefNumber>Ref12345</RefNumber> <!-- optional -->
<Memo>Memo12345</Memo> <!-- optional -->
<ExternalGUID>ExternalGUID12345</ExternalGUID> <!-- optional -->
<ExpenseLineAdd defMacro="MACROTYPE"> <!-- optional, may repeat -->
<AccountRef> <!-- optional -->
<FullName>Casual Labor:Moving</FullName> <!-- optional -->
</AccountRef>
<Amount>99.99</Amount> <!-- optional -->
<Memo>VillageMemo12345</Memo> <!-- optional -->
</ExpenseLineAdd>
</BillAdd>
</BillAddRq>
</QBPOSXMLMsgsRq>
</QBPOSXML>
Web 连接器返回 0x80040400: QuickBooks found an error when parsing the provided XML text stream.
上述错误。我在 Intuit 的支持论坛上关注 post 以尝试使用内置的 XML 验证器。
当我通过验证器 运行 我的 XML 请求时,我收到以下错误:
如何解决上述验证器错误?另外,除了使用内置验证器之外,还有其他验证 QB XML 的方法吗?
您在验证器中选择的平台需要与您在 XML 中选择的平台相匹配。
您选择验证依据:
- QuickBooks(美国版)
但是你的 qbXML 是为了:
<?qbposxml version="3.0"?> <QBPOSXML>
(QuickBooks 销售点)
由于您验证的不是您实际的 qbXML 目标,因此验证当然会失败。对于您选择的内容无效。
如果您正在针对销售点进行开发,请针对销售点进行验证。
如果您正在为美国版的 QuickBooks 开发,请为美国版的 QuickBooks 输入一些 qbXML 并验证它。