2009-04-22 5 views
2

Ich implementiere eine benutzerdefinierte Lösung zur Schnittstelle mit einer Magento Website. Mein Code ist in C#. Ich versuche, Produkte mit den Webdiensten v2_soap API und xml-rpc API zu erstellen. Ich habe versucht, ein Produkt mit beiden Diensten zu erstellen. Ich kann nicht scheinen, ein Produkt erfolgreich herzustellen. Mit jedem Dienst erhalte ich die Fehlermeldung [102] Invalid data given. Details in error message.. Ich habe versucht, eine Vielzahl von Daten an die API-Anruf übergeben, aber hatte kein Glück. Ich frage mich ein paar Dinge:Magento Web Service Fehler

1) Gibt es eine Möglichkeit, bessere Fehlermeldungen zu erhalten, welche Daten nicht gültig sind, wenn ich einen Web-Service-Anruf mache? Die Fehlermeldung scheint anzuzeigen, dass ich irgendwo details bekommen kann, aber ich habe alle Protokolle durchsucht, Fehlermeldungen können ich ohne Glück finden.

2) Was sind die minimalen Attribute, die erforderlich sind, um ein neues Produkt über den Webservice hinzuzufügen?

Hier ist ein bisschen von dem Code, den ich verwende. Dies ist die XML-RPC Implementierung. Ich benutze die Cook-Computing-XML-RPC-Bibliothek.

public int CreateProduct(Product product) { 
    var entity = ConvertProduct(product); 
    //int productId = Service.catalogProductCreate(SessionId, "simple", "0", product.Sku, entity); 
    int productId = XmlRpcService.CallReturnInt(SessionId, "catalog_product.create", 
     new object[] { 
     "simple" /* product type */, 
     0 /* attribute set */, 
     product.Sku /* sku */, 
     entity /* product data */ 
     }); 
    return productId; 
} 
private XmlRpcStruct ConvertProduct(Product product) { 
    var entity = new XmlRpcStruct(); 
    entity.Add("name", product.Name); 
    entity.Add("description", product.Description); 
    return entity; 
} 
protected IMagentoXmlRcpService XmlRpcService { 
    get { 
     return this.xmlRpcService; 
    } 
} 

Antwort

5

Der Schlüssel war das Attribut festgelegt. Das Standardattribut ist 4 (zumindest für mich). Dieser kleine Kerl ist die Wurzel vieler Probleme. Die Fehlerreaktionen auf den Magento-Webdiensten könnten wirklich etwas Arbeit gebrauchen.

In diesem Forenthread finden Sie weitere Informationen: http://www.magentocommerce.com/boards/viewthread/36892/