Ich verwende SOAP über Visual Studio 2012 RC mit C#, um die Magento-API zu verwenden. Ich habe dies getan, indem ich einen Service-Verweis hinzugefügt habe, der auf die SOAP-WSDL-Datei zeigt.Wie kann ich (von einer SalesOrderEntity) die Lieferadresse abrufen?
Jetzt habe ich Schwierigkeiten, die Lieferadresse einer SalesOrderEntity zu bekommen. So erhalte ich diese Entitäten.
var f = new filters();
f.filter = new associativeEntity[] {
new associativeEntity {
key ="status",
value ="processing"
}
};
var entities = mservice.salesOrderList(mlogin, f);
Das funktioniert einfach toll, aber wenn ich durch sie durchlaufen und einige ihrer Informationen angezeigt werden, ich stolpere etwas seltsam.
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);
}
Die Lieferadresse ist nicht 0
, hat in der Tat zu einer richtigen Zahl eingestellt (und ja, es ist ein String aus irgendeinem seltsamen Grund, obwohl es immer eine Zahl darstellt).
Was mache ich hier falsch?