2016-03-07 8 views
5

I erzeugt Java-Code mit wsdl2java basierend auf Magento WSDL (http://host/api?wsdl), aberAchse: createCall mit params

Umwelt jedes Verfahren mit params nicht anrufen:

  • JDK 1.8
  • AXIS 1.4
  • php 5.6
  • Magento 1.6

Problem:

Zum Beispiel product.info api Verfahren erforderlich 2 params: sessionId und productId

Code:

MagentoService magentoService = new MagentoServiceLocator(); 
Mage_Api_Model_Server_HandlerBindingStub service = new Mage_Api_Model_Server_HandlerBindingStub(new URL("http://myhost/api"), magentoService); 

String sessionId = service.login("api-user", "AAAAAAAAAAAAAAAA"); 

Call serviceCall = service.createCall(); 
serviceCall.setOperationName(new QName("call")); 
serviceCall.setTargetEndpointAddress(new URL("http://myhost/api")); 
serviceCall.addParameter("sessionId", Constants.XSD_STRING, ParameterMode.IN); 
serviceCall.addParameter("resourcePath", Constants.XSD_STRING, ParameterMode.IN); 
serviceCall.addParameter("productId", Constants.XSD_STRING, ParameterMode.IN); 
serviceCall.setReturnType(Constants.SOAP_MAP); 
serviceCall.invoke("call", new Object[] {sessionId, "product.info", new Object[]{2115}});  

i Datenbank geprüft, existiert Produkt wirklich. i unabhängig davon, welche ID verwendet wird, immer Fehler:

AxisFault 
faultCode: 101 
faultString: Product not exists. 

ich versuche, einen anderen api Methoden, wie ein customer.info und haben das gleiche Ergebnis.

Wie Parameter richtig übergeben werden?

Was ich tat:

Antwort

3

Die Magento Dokumentation ist fehlerhaft: http://www.magentocommerce.com/api/soap/catalog/catalogProduct/catalog_product.info.html

Der Parameter "productId" wird in der Realität als "Produkt" bezeichnet.

+0

Danke für Ihre Antwort, aber auf jeden Fall Produkt nicht gefunden (gleicher Fehler) Ich habe verschiedene IDs und SKU versucht, aber es funktioniert nicht. Viele Leute schreiben, dass Magento SOAP sehr fehlerhaft ist. –

+1

Ja, ich habe es in den letzten Tagen selbst benutzt. Es gibt einen Grund, warum ich es nicht mehr benutze ^^ – TheMirrox