magento soap api v2 catalogProductInfo不工作
当我调用api函数时,如下所示magento soap api v2 catalogProductInfo不工作,magento,soap,magento-1.7,Magento,Soap,Magento 1.7,当我调用api函数时,如下所示 我得到以下错误。我确信所有传递的变量都设置正确,因为其他MagentoAPI函数工作正常 产品不存在 错误:发生内部错误 我假设这是调用语法的错误。我找不到使用sku而不是产品id调用catalogProductInfo的合适示例。 文档向我表明我的呼叫是正确的 任何关于我做错了什么的想法都将受到高度赞赏。我想你的电话可能会遇到可选参数的问题catalogProductInfo()可以接受五个参数,其中第一个参数是sessionId;所有其他参数都被传递到方法M
我得到以下错误。我确信所有传递的变量都设置正确,因为其他MagentoAPI函数工作正常
产品不存在
错误:发生内部错误
我假设这是调用语法的错误。我找不到使用sku而不是产品id调用catalogProductInfo的合适示例。
文档向我表明我的呼叫是正确的
任何关于我做错了什么的想法都将受到高度赞赏。我想你的电话可能会遇到可选参数的问题
catalogProductInfo()
可以接受五个参数,其中第一个参数是sessionId
;所有其他参数都被传递到方法Mage\u Catalog\u Model\u Product\u Api\u V2::info()
,该方法将这些参数如下所示:
公共函数信息($productId,$store=null,$attributes=null,$identifierType=null)
如您所见,只有$productId
是必需的,其他参数是可选的。但是,如果要将$identifierType
参数传递给该方法,则必须同时传递所有其他参数。因此,在本例中,您省略了一个$store
或$attributes
参数,该方法将sku
作为$attributes
参数。这就产生了你的错误
因此,要么传递缺少的参数,要么忽略$identifierType
参数。Magento可以从$productId
的输入猜出您传递的标识符类型(产品ID或sku)。info()
方法调用\u getProduct()
方法,该方法依次调用Mage::helper('catalog/product')->getProduct($productId,$this->\u getStoreId($store),$identifierType)
。在此方法中,Magento猜测您的$productId
参数:
if ($identifierType === null) {
if (is_string($productId) && !preg_match("/^[+-]?[1-9][0-9]*$|^0$/", $productId)) {
$expectedIdType = 'sku';
}
}
尝试提交空格作为SKU的最后一个字符。 e、 g.如果SKU是
“1234”
提交“1234”
如果您提交的sku仅包含数字,则有时会出现此问题。您遗漏了4。帕拉姆 功能是smth。像这样:
public catalogProductReturnEntity catalogProductInfo(
string sessionId,
string product,
string storeView,
**catalogProductRequestAttributes attributes,**
string productIdentifierType)
作为“属性”,您通过了“sku”。谢谢!最后我做了
$result=$client->catalogProductInfo($session,$id.“”)代码>如您所建议。现在,当我使用时,购物车显示为空。我猜我的购物车id需要通过smtg?不知道为什么要通过$id.“”
?而且:您的API调用是针对目录的,而不是针对购物车的,您不应该将这8个小时的搜索混为一谈,最终找到了这个答案。我想拥抱你