QuickBooks PHP DevKit连接错误

时间:2014-02-05 22:37:52

标签: php quickbooks qbwc

我一直在尝试同步QB-Web Connector,但我一直收到错误:

第一个是:'致命错误:类'未找到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;

1 个答案:

答案 0 :(得分:0)

您正在使用的网址:

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

不是正确的网址。

如果你引用quick start guide,你会注意到它必须将Web连接器指向这个脚本:

docs/example_web_connector.php

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

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