Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.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
C# Magento API v2和C层价格_C#_Magento_Soap_Magento 1.5 - Fatal编程技术网

C# Magento API v2和C层价格

C# Magento API v2和C层价格,c#,magento,soap,magento-1.5,C#,Magento,Soap,Magento 1.5,我正在使用C#.NET通过SOAP连接到MagentoAPIv2。在我尝试用分层价格更新产品之前,一切都正常——“无效分层价格” 我调试了Magento,每层价格都缺少两个属性——“数量”和“价格”。这是magento收到的信封: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body s:encodingStyle="http://schemas.xmlsoap.org/soap

我正在使用C#.NET通过SOAP连接到MagentoAPIv2。在我尝试用分层价格更新产品之前,一切都正常——“无效分层价格”

我调试了Magento,每层价格都缺少两个属性——“数量”和“价格”。这是magento收到的信封:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <q1:catalogProductUpdate xmlns:q1="urn:Magento">
            <sessionId xsi:type="xsd:string">142163ba9058d5bc4d3b6b12445163a5</sessionId>
            <product xsi:type="xsd:string">R-0.1UF</product>
            <productData href="#id1" />
            <storeView xsi:type="xsd:string">default</storeView>
        </q1:catalogProductUpdate>
        <q2:catalogProductCreateEntity id="id1" xsi:type="q2:catalogProductCreateEntity" xmlns:q2="urn:Magento">
            <name xsi:type="xsd:string">Tantal PBF</name>
            <status xsi:type="xsd:string">1</status>
            <price xsi:type="xsd:string">0,25</price>
            <tier_price href="#id2" />
        </q2:catalogProductCreateEntity>
        <q3:Array id="id2" q3:arrayType="q4:catalogProductTierPriceEntity[3]" xmlns:q3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:q4="urn:Magento">
            <Item href="#id3" />
            <Item href="#id4" />
            <Item href="#id5" />
        </q3:Array>
        <q5:catalogProductTierPriceEntity id="id3" xsi:type="q5:catalogProductTierPriceEntity" xmlns:q5="urn:Magento">
            <customer_group_id xsi:type="xsd:string">all</customer_group_id>
            <website xsi:type="xsd:string">all</website>
        </q5:catalogProductTierPriceEntity>
        <q6:catalogProductTierPriceEntity id="id4" xsi:type="q6:catalogProductTierPriceEntity" xmlns:q6="urn:Magento">
            <customer_group_id xsi:type="xsd:string">all</customer_group_id>
            <website xsi:type="xsd:string">all</website>
        </q6:catalogProductTierPriceEntity>
        <q7:catalogProductTierPriceEntity id="id5" xsi:type="q7:catalogProductTierPriceEntity" xmlns:q7="urn:Magento">
            <customer_group_id xsi:type="xsd:string">all</customer_group_id>
            <website xsi:type="xsd:string">all</website>
        </q7:catalogProductTierPriceEntity>
    </s:Body>
</s:Envelope>

另外,我使用的是Magento 1.5,WSDL作为服务引用导入到Visual Studio(代码自动生成)。

明白了-该方法应该是固定的:

private catalogProductTierPriceEntity[] addTierPrices(List<V_prices> prices)
{
    catalogProductTierPriceEntity[] mageTierPrices = new catalogProductTierPriceEntity[3];
    catalogProductTierPriceEntity mageTierPrice;

    int i = 0;
    foreach (V_prices price in prices)
    {
        mageTierPrice = new catalogProductTierPriceEntity();
        mageTierPrice.website = "all";
        mageTierPrice.customer_group_id = "all";
        mageTierPrice.qty = price.quantity;
        mageTierPrice.price = (double)price.value; // Conversion from decimal
        mageTierPrices[i] = mageTierPrice;
// FIX:
        mageTierPrice.priceSpecified = true;
        mageTierPrice.qtySpecified = true;
        i++;
    }

    return mageTierPrices;
}
private catalogProductTierPriceEntity[]addTierPrices(标价)
{
catalogProductTierPriceEntity[]mageTierPrices=新catalogProductTierPriceEntity[3];
CatalogProductTierPrice实体mageTierPrice;
int i=0;
foreach(V_价格中的价格)
{
mageTierPrice=new catalogProductTierPriceEntity();
mageTierPrice.website=“全部”;
mageTierPrice.customer\u group\u id=“全部”;
mageTierPrice.qty=价格.qty;
mageTierPrice.price=(双精度)price.value;//从十进制转换
magertierprices[i]=magertierprice;
//修正:
mageTierPrice.priceSpecified=true;
mageTierPrice.qtySpecified=true;
i++;
}
退还保证金;
}
catalogProductCreateEntity mageProduct = new catalogProductCreateEntity();
// ..
mageProduct.name = product.name_db;
mageProduct.price = product.price.ToString();
mageProduct.status = "1";
mageProduct.tier_price = addTierPrices(prices);
handler.catalogProductUpdate(session_id, sku, mageProduct, "default", null);
private catalogProductTierPriceEntity[] addTierPrices(List<V_prices> prices)
{
    catalogProductTierPriceEntity[] mageTierPrices = new catalogProductTierPriceEntity[3];
    catalogProductTierPriceEntity mageTierPrice;

    int i = 0;
    foreach (V_prices price in prices)
    {
        mageTierPrice = new catalogProductTierPriceEntity();
        mageTierPrice.website = "all";
        mageTierPrice.customer_group_id = "all";
        mageTierPrice.qty = price.quantity;
        mageTierPrice.price = (double)price.value; // Conversion from decimal
        mageTierPrices[i] = mageTierPrice;
// FIX:
        mageTierPrice.priceSpecified = true;
        mageTierPrice.qtySpecified = true;
        i++;
    }

    return mageTierPrices;
}