2010-08-13 10 views
4

Mon but est d'obtenir et d'afficher tous les attributs supplémentaires pour le produit Magento en utilisant l'API SOAP. Par exemple, le sexe, la taille de chemise et la couleur pour le produit de T-shirt. Mais le programme ne devrait pas connaître les noms des attributs.Comment obtenir tous les attributs supplémentaires de Magento Product sans les spécifier explicitement

Dans l'appel SOAP: catalogProductInfo, il existe un paramètre d'attributs supplémentaires et il semble que je doive spécifier explicitement des noms d'attribut supplémentaires.

J'utilise Java et Apache Axis pour vous connecter à Mangeto API SOAP et le code est le suivant:

stub.catalogProductInfo(sessionId, "118", null, null); 

call declaration: 
public com.magentocommerce.api.CatalogProductReturnEntity catalogProductInfo(java.lang.String sessionId, java.lang.String productId, java.lang.String storeView, com.magentocommerce.api.CatalogProductRequestAttributes attributes) throws java.rmi.RemoteException { 

attributes parameter constructor declaration: 
public CatalogProductRequestAttributes(
     java.lang.String[] attributes, 
     java.lang.String[] additional_attributes) { 

Mais je dois préciser dernier paramètre en quelque sorte d'obtenir tous les attributs supplémentaires. Est-il possible de faire via l'API SOAP?

Mise à jour: « * » comme attribut ne fonctionne pas

CatalogProductRequestAttributes attrs = new CatalogProductRequestAttributes(); 
attrs.setAttributes(new String[] {"*"}); 
attrs.setAdditional_attributes(new String[] {"*"}); 

objet est Entraîné pas rempli ni avec les attributs standards ni avec des attributs supplémentaires.

+0

Salut! J'ai également essayé d'obtenir ces attributs supplémentaires via soapUI en envoyant l'attribut-id ou l'attribut-label. Ça n'a pas marché du tout! – stereoscope

+0

Des mises à jour? Je suis également confronté à ce problème et actuellement à la recherche de la solution la plus simple. S'il n'y en a pas, la seule solution contournera l'implémentation de l'API. –

+0

Je n'ai plus mis la main dessus. Vous devez trouver une solution de rechange pour vous-même comme je l'ai fait. – Vladimir

Répondre

1

Je n'ai pas essayé spécifiquement l'API, mais avez-vous essayé de spécifier * comme nom d'attribut? Voilà comment cela se fait dans le cadre lui-même.

+1

Merci pour cette idée. Mais j'ai essayé cela ne fonctionne pas à partir de l'API. – Vladimir

0

Vous devez d'abord appeler l'API pour la liste des attributs supplémentaires: catalogProductListOfAdditionalAttributes

ensuite en boucle à travers les résultats et construire votre deuxième demande de produit spécifique.

Questions connexes