0

我一直在尝试同步 QB-Web 连接器,但一直收到错误消息:

第一个是:'致命错误:找不到类'QuickBooks_Loader'',我通过在页面顶部添加包含文件位置来修复它:include_once("$_SERVER[DOCUMENT_ROOT]/qb/QuickBooks/Loader.php");

现在我从网络连接器收到以下错误:

QBWC1012:由于以下错误消息,身份验证失败。客户端发现响应内容类型为“text/html”,但预期为“text/xml”。请求失败,响应为空。有关详细信息,请参阅 QWCLog。记得打开登录。

我检查了所有文件以确保内容类型是 text/xml,仍然没有骰子。请帮忙。

<?php

/**
 * Example of generating QuickBooks *.QWC files 
 * 
 * @author Keith Palmer <keith@consolibyte.com>
 * 
 * @package QuickBooks
 * @subpackage Documentation
 */

// Error reporting... 
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);

/**
 * Require the utilities class
 */
require_once '../QuickBooks.php';

$name = 'My QuickBooks SOAP Server';                // A name for your server (make it whatever you want)
$descrip = 'An example QuickBooks SOAP Server';     // A description of your server 

$appurl = 'https://www.domain.com/qb/QuickBooks/SOAP/Server.php';       // This *must* be httpS:// (path to your QuickBooks SOAP server)
$appsupport = 'https://www.domain.com';         // This *must* be httpS:// and the domain name must match the domain name above

$username = '';     // This is the username you stored in the 'quickbooks_user' table by using QuickBooks_Utilities::createUser()

$fileid = '57F3B9B6-86F1-4FCC-B1FF-966DE1813D20';       // Just make this up, but make sure it keeps that format
$ownerid = '57F3B9B6-86F1-4FCC-B1FF-166DE1813D20';      // Just make this up, but make sure it keeps that format

$qbtype = QUICKBOOKS_TYPE_QBFS; // You can leave this as-is unless you're using QuickBooks POS

$readonly = false; // No, we want to write data to QuickBooks

$run_every_n_seconds = 600; // Run every 600 seconds (10 minutes)

// Generate the XML file
$QWC = new QuickBooks_WebConnector_QWC($name, $descrip, $appurl, $appsupport, $username, $fileid, $ownerid, $qbtype, $readonly, $run_every_n_seconds);
$xml = $QWC->generate();

// Send as a file download
header('Content-type: text/xml');
header('Content-Disposition: attachment; filename="my-quickbooks-wc-file.qwc"');
print($xml);
exit;
4

1 回答 1

0

您正在使用的网址:

$appurl = 'https://www.domain.com/qb/QuickBooks/SOAP/Server.php';

不是正确的网址。

如果您参考快速入门指南,您会注意到它必须将 Web 连接器指向此脚本:

docs/example_web_connector.php

那是应该在您的 AppURL 中的脚本。示例脚本是一个实际的 SOAP 端点,它将允许来自 Web 连接器的连接。您已将 Web 连接器指向其中一个库文件,该库文件本身不执行任何操作,并且您不需要在任何地方触摸或引用。

顺便说一句,这也是您必须添加该include_once行的原因 - 如果您将 Web 连接器指向正确的位置,则不需要添加该行。

于 2014-02-06T12:28:42.113 回答