Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.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
.net Magento SOAP API v2 shoppingCartProductAdd错误“;一项产品没有标识符或sku”;_.net_Vb.net_Magento - Fatal编程技术网

.net Magento SOAP API v2 shoppingCartProductAdd错误“;一项产品没有标识符或sku”;

.net Magento SOAP API v2 shoppingCartProductAdd错误“;一项产品没有标识符或sku”;,.net,vb.net,magento,.net,Vb.net,Magento,尝试提交shoppingCartProductAdd API请求时出现“一项产品没有标识符或sku”错误 我同时提交了有效的SKU和产品ID。所以这个错误对我来说没有意义 下面是一些相关的代码 Dim pendingCartItems As New List(Of shoppingCartProductEntity) If qtyAustin > 0 Then Dim ticketRequest As New shoppingCartProductE

尝试提交shoppingCartProductAdd API请求时出现“一项产品没有标识符或sku”错误

我同时提交了有效的SKU和产品ID。所以这个错误对我来说没有意义

下面是一些相关的代码

Dim pendingCartItems As New List(Of shoppingCartProductEntity)
        If qtyAustin > 0 Then
            Dim ticketRequest As New shoppingCartProductEntity
            ticketRequest.sku = "RH_00001"
            ticketRequest.product_id = "2"
            ticketRequest.qty = qtyAustin
            pendingCartItems.Add(ticketRequest)
        End If

        AddToCart(pendingCartItems)


        Public Sub AddToCart(ByVal cartItems As List(Of shoppingCartProductEntity))
            mClient.shoppingCartProductAdd(mSession, mCart, cartItems.ToArray(), mStore)
        End Sub

shoppingCartProductAdd的API文档:

首先在Magento中启用

Magento admin -> System -> Configuration -> Services -> Magento Core API
然后将“
WS-I合规性
”设置为“
yes

从主机获取符合WS-I的WSDL

http://mymagentohost/index.php/api/v2_soap?wsdl=1
从配置SOAP/XML-RPC用户和角色

Magento admin -> System -> Web Services -> SOAP/XML-RPC-Users & SOAP/XML-RPC-Roles
并设置权限

现在您可以生成客户端代理类(Axis、Axis2、Microsoft WSDL工具等)

检查您的端点URL,它应该是

http://mymagentohost/index.php/api/v2_soap/index/
我的使用Axis2的功能测试代码

package magento;

import java.rmi.RemoteException;

import magento.MagentoServiceStub.EndSessionParam;
import magento.MagentoServiceStub.LoginParam;
import magento.MagentoServiceStub.LoginResponseParam;
import magento.MagentoServiceStub.ShoppingCartCreateRequestParam;
import magento.MagentoServiceStub.ShoppingCartCreateResponseParam;
import magento.MagentoServiceStub.ShoppingCartProductAddRequestParam;
import magento.MagentoServiceStub.ShoppingCartProductAddResponseParam;
import magento.MagentoServiceStub.ShoppingCartProductEntity;
import magento.MagentoServiceStub.ShoppingCartProductEntityArray;

import org.apache.axis2.AxisFault;

public class Test {

    public static void main(String[] args) {
        try {
            MagentoServiceStub stub = new MagentoServiceStub();

            LoginParam loginParam = new LoginParam();
            loginParam.setUsername("myuser");
            loginParam.setApiKey("1b6bf41e547e06b5b795d44b2f8f8f54");
            LoginResponseParam p = stub.login(loginParam);
            String sessionId = p.getResult();

            ShoppingCartCreateRequestParam createParam = new ShoppingCartCreateRequestParam();
            createParam.setSessionId(sessionId);
            //param2.setStore("1");
            ShoppingCartCreateResponseParam resp = stub.shoppingCartCreate(createParam);
            int sr = resp.getResult();

            ShoppingCartProductAddRequestParam prodcutAddParam = new ShoppingCartProductAddRequestParam();
            prodcutAddParam.setSessionId(sessionId);
            prodcutAddParam.setQuoteId(sr);
            ShoppingCartProductEntityArray array = new ShoppingCartProductEntityArray(); 
            ShoppingCartProductEntity producto = new ShoppingCartProductEntity();
            producto.setSku("prueba");
            producto.setQty(1);
            array.addComplexObjectArray(producto);
            prodcutAddParam.setProductsData(array);

            ShoppingCartProductAddResponseParam prodAddResult = stub.shoppingCartProductAdd(prodcutAddParam);
            System.out.println("product added? " + prodAddResult.getResult());

            EndSessionParam endSessionParam = new EndSessionParam();
            endSessionParam.setSessionId(sessionId);

            stub.endSession(endSessionParam);

        } catch (AxisFault e) {
            e.printStackTrace();
        } catch (RemoteException e) {
            e.printStackTrace();
        }

    }

}

希望这对您有所帮助。

什么是McClient?您是否可以发布其他相关代码?您使用了哪种API方法?您的端点URL是什么?