正如标题所说,我在使用Ryan Winchester(https://github.com/netsuitephp/netsuite-php)创建的NetSuite PHP API客户端时没有运气将项目添加到销售订单中。它实际上只是带有名称空间和自动加载的Netsuite PHPToolKit,所以它的工作原理是一样的。当我到达SO的项目时,我循环通过它们如下:
$items = array();
foreach ($order->basketDetails->basketItems as $item) {
$cartItem = new SalesOrderItem();
$cartItem->item = $itemResponse->searchResult->recordList->record[0]->internalId;
$cartItem->quantity = $item->productQuantity;
$cartItem->rate = "42.97";
$items[] = $cartItem;
一旦我有了数组中的所有项目,我就把它们添加到SalesOrderItemList中:
$itemList = new SalesOrderItemList();
$itemList->item = $items;
然后,我将项目列表添加到销售订单($sale是在脚本的前面创建的:$销售= new SalesOrder();)
$sale->itemList->item = $itemList;
但是,当我尝试执行销售订单的创建时,我得到了以下错误:
[04-Apr-2023 15:11:52 UTC] PHP Fatal error:未捕获的SoapFault异常:[soapenv:服务器端发生异常] org.xml.sax.SAXException:{urn:sales_2021_1.transactions.webservices.netsuite.com}SalesOrderItemList上的项目必须属于/var/www/composer/vendor/ryanwinchester/netsuite-php/src/NetSuiteClient.php中的{urn:sales_2021_1.transactions.webservices.netsuite.com}SalesOrderItem类型:196
我不知道从这里到哪里去,因为每一个项目是它自己的SalesOrderItem对象。任何帮助将不胜感激。
1条答案
按热度按时间afdcj2ne1#
请尝试更改:
对此: