Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Quickbooks Php SDK-CheckNullResponseAndThrowException-Response Null或空_Php_Sdk_Quickbooks - Fatal编程技术网

Quickbooks Php SDK-CheckNullResponseAndThrowException-Response Null或空

Quickbooks Php SDK-CheckNullResponseAndThrowException-Response Null或空,php,sdk,quickbooks,Php,Sdk,Quickbooks,请协助我处理以下错误: 2015-04-16 10:45:10-D:\projects\QuickBooksv3-php-sdk-2.0.5\DataService\DataService.php-340-CheckNullResponseAndThrowException-Response Null或空 3天前,我成功地测试了quickbooks php sdk。 但今天当我要和系统集成时,它遇到了错误。 代码与3天前相同 这是我的密码: //Create new invoice $invoi

请协助我处理以下错误: 2015-04-16 10:45:10-D:\projects\QuickBooksv3-php-sdk-2.0.5\DataService\DataService.php-340-CheckNullResponseAndThrowException-Response Null或空

3天前,我成功地测试了quickbooks php sdk。 但今天当我要和系统集成时,它遇到了错误。 代码与3天前相同

这是我的密码:

//Create new invoice
$invoiceObj2 = new IPPInvoice();
$invoiceObj2->DocNumber="1025";

//Add customer
$customerRef2= new IPPReferenceType();
$customerRef2->value= "1";
$invoiceObj2->CustomerRef= $customerRef2;

//Create Line
$line2 = new IPPLine();
$line2->Amount= 1*90.84;

$linetype2= new IPPLineDetailTypeEnum();
$linetype2->value="SalesItemLineDetail";

$lineDetail2 = new IPPSalesItemLineDetail();
$lineDetail2->ItemRef = "4";
$lineDetail2->UnitPrice = 90.84;
$lineDetail2->Qty= 1;

$line2->DetailType=$linetype2;
$line2->SalesItemLineDetail=$lineDetail2;

$invoiceObj2->Line=$line2;

$resultingInvoiceObj2 = $dataService->Add($invoiceObj2);

echo "Created Invoice Id={$resultingInvoiceObj2->Id}. Reconstructed response body:<br/><br/>";
$xmlBody = XmlObjectSerializer::getPostXmlFromArbitraryEntity($resultingInvoiceObj2, $urlResource);
echo "<pre>";
echo $xmlBody . "<br/>";
echo "</pre>";
//创建新发票
$invoiceObj2=新发票();
$invoiceObj2->DocNumber=“1025”;
//添加客户
$customerRef2=新的IPPReferenceType();
$customerRef2->value=“1”;
$invoiceObj2->CustomerRef=$customerRef2;
//创建线
$line2=新的IPPLine();
$line2->Amount=1*90.84;
$linetype2=新的IPPLineDetailTypeEnum();
$linetype2->value=“SalesItemLineDetail”;
$lineDetail2=新的IPPSalesItemLineDetail();
$lineDetail2->ItemRef=“4”;
$lineDetail2->单价=90.84;
$lineDetail2->Qty=1;
$line2->DetailType=$linetype2;
$line2->SalesItemLineDetail=$lineDetail2;
$invoiceObj2->Line=$line2;
$resultingInvoiceObj2=$dataService->Add($invoiceObj2);
echo“创建的发票Id={$resultingInvoiceObj2->Id}。重建的响应正文:

”; $xmlBody=XmlObjectSerializer::GetPostXmlFromArbiaryEntity($resultingInvoiceObj2,$urlResource); 回声“; echo$xmlBody。“
”; 回声“;

请帮忙指出我的错误。谢谢

请更改使用沙盒QBO帐户的基本url或使用生产令牌连接到现有QBO帐户。 您的问题可能与此更改有关-


您也可以尝试更改值,然后尝试集成到QB中

我已经解决了检查所需参数的相同问题。请检查必填字段

必填字段至少为:

Line.DetailType
Line.Amount
Line.Description
至少有一行记录

Line.SalesItemLineDetail.ItemRef
Line.SalesItemLineDetail.Quantity
Line.SalesItemLineDetail.UnitPrice
至少有一个
行。SalesItemLineDetail

//Create new invoice
$invoiceObj2 = new IPPInvoice();
$invoiceObj2->DocNumber="1025";
$invoiceObj2->TxnDate = "2016-10-19";

//Add customer
$customerRef2= new IPPReferenceType();
$customerRef2->value= "1";
$invoiceObj2->CustomerRef= $customerRef2;

//Create Line
$line2 = new IPPLine();
$line2->Amount= 1*90.84;
$Line2->Description = 'Test Product';

$linetype2= new IPPLineDetailTypeEnum();
$linetype2->value="SalesItemLineDetail";

$lineDetail2 = new IPPSalesItemLineDetail();
$lineDetail2->ItemRef = "4";
$lineDetail2->UnitPrice = 90.84;
$lineDetail2->Qty= 1;

$line2->DetailType=$linetype2;
$line2->SalesItemLineDetail=$lineDetail2;

$invoiceObj2->Line=$line2;

$resultingInvoiceObj2 = $dataService->Add($invoiceObj2);

echo "Created Invoice Id={$resultingInvoiceObj2->Id}. Reconstructed response body:<br/><br/>";
$xmlBody = XmlObjectSerializer::getPostXmlFromArbitraryEntity($resultingInvoiceObj2, $urlResource);
echo "<pre>";
echo $xmlBody . "<br/>";
echo "</pre>"; 
我已经修改了你的代码并运行了。它起作用了

最终修改代码:

//创建新发票
$invoiceObj2=新发票();
$invoiceObj2->DocNumber=“1025”;
$invoiceObj2->TxnDate=“2016-10-19”;
//添加客户
$customerRef2=新的IPPReferenceType();
$customerRef2->value=“1”;
$invoiceObj2->CustomerRef=$customerRef2;
//创建线
$line2=新的IPPLine();
$line2->Amount=1*90.84;
$Line2->Description=‘测试产品’;
$linetype2=新的IPPLineDetailTypeEnum();
$linetype2->value=“SalesItemLineDetail”;
$lineDetail2=新的IPPSalesItemLineDetail();
$lineDetail2->ItemRef=“4”;
$lineDetail2->单价=90.84;
$lineDetail2->Qty=1;
$line2->DetailType=$linetype2;
$line2->SalesItemLineDetail=$lineDetail2;
$invoiceObj2->Line=$line2;
$resultingInvoiceObj2=$dataService->Add($invoiceObj2);
echo“创建的发票Id={$resultingInvoiceObj2->Id}。重建的响应正文:

”; $xmlBody=XmlObjectSerializer::GetPostXmlFromArbiaryEntity($resultingInvoiceObj2,$urlResource); 回声“; echo$xmlBody。“
”; 回声“;
虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生变化,只有链接的答案可能无效。@Mamounbenghzal同意,将在我写下的下一个答案中解决这个问题。
//Create new invoice
$invoiceObj2 = new IPPInvoice();
$invoiceObj2->DocNumber="1025";
$invoiceObj2->TxnDate = "2016-10-19";

//Add customer
$customerRef2= new IPPReferenceType();
$customerRef2->value= "1";
$invoiceObj2->CustomerRef= $customerRef2;

//Create Line
$line2 = new IPPLine();
$line2->Amount= 1*90.84;
$Line2->Description = 'Test Product';

$linetype2= new IPPLineDetailTypeEnum();
$linetype2->value="SalesItemLineDetail";

$lineDetail2 = new IPPSalesItemLineDetail();
$lineDetail2->ItemRef = "4";
$lineDetail2->UnitPrice = 90.84;
$lineDetail2->Qty= 1;

$line2->DetailType=$linetype2;
$line2->SalesItemLineDetail=$lineDetail2;

$invoiceObj2->Line=$line2;

$resultingInvoiceObj2 = $dataService->Add($invoiceObj2);

echo "Created Invoice Id={$resultingInvoiceObj2->Id}. Reconstructed response body:<br/><br/>";
$xmlBody = XmlObjectSerializer::getPostXmlFromArbitraryEntity($resultingInvoiceObj2, $urlResource);
echo "<pre>";
echo $xmlBody . "<br/>";
echo "</pre>";