我通过Visual Studio 2012 RC和C#使用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);
Run Code Online (Sandbox Code Playgroud)
这很有效,但是当我遍历它们并显示它们的一些信息时,我偶然发现了一些奇怪的东西.
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);
}
Run Code Online (Sandbox Code Playgroud)
发货地址0确实没有,确实被设置为一个正确的数字(是的,它是一个字符串,出于一些奇怪的原因,虽然它总是代表一个数字).
我在这做错了什么?
地址存储在a 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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1427 次 |
| 最近记录: |