我通过带有 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
,确实已设置为正确的数字(是的,出于某种奇怪的原因,它是一个字符串,尽管它总是代表一个数字)。
我在这里做错了什么?