2012-06-19 12 views
5

मैं Magento API का उपयोग करने के लिए दृश्य स्टूडियो 2012 आरसी के माध्यम से सीओपी के माध्यम से SOAP का उपयोग कर रहा हूं। मैंने SOAP WSDL फ़ाइल को इंगित करने वाला एक सेवा संदर्भ जोड़कर ऐसा किया।मैं (salesOrderEntity से) शिपिंग पता पुनर्प्राप्त कैसे कर सकता हूं?

अब, मुझे 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 है, वास्तव में एक उचित संख्या के लिए स्थापित किया गया है (और हाँ, यह कुछ अजीब कारण हालांकि यह हमेशा एक संख्या का प्रतिनिधित्व करने के लिए एक स्ट्रिंग है)।

मैं यहाँ क्या गलत कर रहा हूं?

उत्तर

5

पता 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); 
संबंधित मुद्दे

 संबंधित मुद्दे