c# - 我如何(从 SalesOrderEntity)检索送货地址?

标签 c# magento soap

我通过带有 C# 的 Visual Studio 2012 RC 使用 SOAP 来使用 Magento API。我通过添加指向 SOAP WSDL 文件的服务引用来做到这一点。

现在,我很难获得 SalesOrderEntity 的送货地址。以下是我如何检索这些实体。

var f = new filters();
f.filter = new associativeEntity[] { 
    new associativeEntity {
        key ="status", 
        value ="processing"
    }
};
var entities = mservice.salesOrderList(mlogin, f);

这很好用,但是当我遍历它们并显示它们的一些信息时,我偶然发现了一些奇怪的东西。

foreach (var entity in entities)
{

    //the following line crashes for some strange reason.
    //the error is SoapHeaderException: Address not exists.
    var info = mservice.customerAddressInfo(mlogin, int.Parse(entity.shipping_address_id));

    Debug.WriteLine(info.firstname);
}

送货地址不是 0,确实已设置为正确的数字(是的,尽管它始终表示数字,但出于某种奇怪的原因它是一个字符串)。

我在这里做错了什么?

最佳答案

地址存储在 salesOrderAddressEntity 中,它位于 salesOrderEntity 内。

var magento = new MagentoService();
var session = magento.login("LOGIN", "APIKEY");

var order = magento.salesOrderInfo(session, "100029631");

var address = order.shipping_address;

Console.WriteLine(address.firstname + " " + address.lastname);
Console.WriteLine(address.street);
Console.WriteLine(address.postcode + " " + address.city);

关于c# - 我如何(从 SalesOrderEntity)检索送货地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11096615/

相关文章:

php - 通过 SOAP API v1 在 magento 中创建新的 DropDown(选择)产品属性(带有选项)

c# - 禁用 WPF 窗口标题栏中的关闭按钮 (C#)

c# - 如何在不丢失堆栈跟踪的情况下重新抛出 TargetInvocationException 的内部异常

magento - 如何在 Magento 产品网格上显示 "Only X left Threshold"?

database - Magento 下拉属性标签

php - 如何链接 mcrypt?

c# - 在Datagridview中添加下拉框

c# - Google 日历事件未显示在日历中

java - OTRS:使用 wsdl 生成 Java SEI 时出错

将数组中的数组传递给属性时,PHP SoapClient "deserialize error"