Java-Beispiel

 

Java-Client

Der Java-Client basiert auf AXIS 2. Die aktuelle Version kann unter folgendem Link heruntergeladen werden:

http://axis.apache.org/axis2/java/core/download.cgi

Als nächstes laden Sie sich bitte, falls noch nicht geschehen, das plenty Java-Tool herunter. Nutzen Sie hierfür folgenden Link:

/tpl/download/JavaSoapTestTool.zip

Das Java-Programm besteht aus 2 Teilen:

  • Der Testmöglichkeit eines plentymarkets-Testsystems. Hier können 2 Basisfunktionen aufgerufen werden (GetAuthentificationToken und GetServerTime). Diese beiden Calls werden in Abschnitt 4 auf dieser Seite exemplarisch dargestellt.
  • Einem Generierungstool für die benötigten SOAP-Klassen.

Bild 1: plentymarkets SOAP API Testtool mit Testmöglichkeit und Generierungstool

Bild 2: nach Ausführung des Calls GetAuthentificationToken

Einstellungen für den Generator (Generator Settings)

WSDL URL

Tragen Sie hier die WSDL URL ihres Systems ein. Diese finden sie unter Einstellungen » Grundeinstellungen » API-Daten » SOAP WSDL. Nachdem Sie diese in das Textfeld eingetragen haben, klicken Sie auf den Button change und die URL wird übernommen.

Bild 3: Eingabebereich für die WSDL URL

Output Directory

Pfad

Geben Sie hier den Pfad in ihrem lokalen System an, unter dem die generierten Dateien gespeichert werden sollen.

Bild 4: Auswahl des Pfades für generierte Dateien

Beachten Sie bitte, dass hier ein Ordner angegeben werden muss.

Source Package

Diese Angabe ist optional. Als Standardeinstellung ist immer de.plenty.soap hinterlegt. Wenn Sie diese Einstellung ändern möchten, geben Sie einen gewünschten Namen ein und klicken Sie auf change.

Generierung

Wenn Sie alle gewünschten Einstellungen vorgenommen haben, klicken Sie auf den Button generate am unteren Ende des Fensters. Die Dateien werden erstellt. Dies kann einen Moment dauern.

Bild 5: Ansicht nach erfolgreicher Generierung

In dem von Ihnen hinterlegten Ordner befinden sich nun alle relevanten Java-Dateien, die für SOAP benötigt werden.

Die Klasse PlentySoapObject_Customer verfügt über einen Parameter "Class". Durch die automatische Generierung der Dateien ergibt sich die Methode getClass, welche von Java standardmäßig benutzt wird. Sie müssen diese Methode anders benennen, da es sonst zu Konflikten kommen kann.

Beispiele

Beispiel 1: GetAuthentificationToken

 

private     String	TEST_TOOL_USER	= "Ihr Benutzername";
private     String	TEST_TOOL_PASS	= "Ihr Benutzerpasswort";
private		String	_TOKEN			=	"";
private		int		_USERID 		=	-1;

	/**
	* Der Aufruf von GetAuthentificationToken
	*/

private void do_GetAuthentificationToken()
{
   try
   {
      // Der Soap Service
      PlentySoapApiFunctionContainerServiceStub SERVICE = new PlentySoapApiFunctionContainerServiceStub();
      // Das Request Object
      PlentySoapRequest_GetAuthentificationToken REQUEST_GAT = new PlentySoapRequest_GetAuthentificationToken();
      REQUEST_GAT.setUsername(this.TEST_TOOL_USER);
      REQUEST_GAT.setUserpass(this.TEST_TOOL_PASS);
      // Dem Funktionsobject wird das Requestobject übergeben 
      GetAuthentificationToken GAT = new GetAuthentificationToken();
      GAT.setOLogin(REQUEST_GAT);
      // Das Response Object											
      GetAuthentificationTokenResponse RESPONSE_GAT = new GetAuthentificationTokenResponse();	
      // Der eigentliche Soap Call				
      RESPONSE_GAT = SERVICE.getAuthentificationToken(GAT);
      // Das Response Parameter Object											
      PlentySoapResponse_GetAuthentificationToken RETURN_GAT = RESPONSE_GAT.get_return();
      this._TOKEN = RETURN_GAT.getToken();
      this._USERID = RETURN_GAT.getUserID();
   }
   catch(Exception e)
   {
      System.out.println("Folgender Fehler ist aufgetreten : "+e.toString());
   }
}

 

Beispiel 2: GetServerTime

 

private void do_GetServerTime()
{
   try 
   {
      if((this._USERID == -1) || (this._TOKEN.equals("")))
      {
         System.out.println("Noch kein Token vorhanden");
      }
      else
      {
         // Der Soap Service
         PlentySoapApiFunctionContainerServiceStub 	SERVICE = new PlentySoapApiFunctionContainerServiceStub();
         // Service Client wird f�r den SoapHeader benötigt
         ServiceClient sc = SERVICE._getServiceClient();
	     /*
         * Aufbau des Soap Headers
         */		
         OMFactory 	omFactory     = OMAbstractFactory.getOMFactory();
         OMElement 	omElement     = omFactory.createOMElement(new QName("SOAP-ENV", "Header", "ver"), null);
         OMElement 	omElementVeri = omFactory.createOMElement(new QName("", "verifyingToken", ""), omElement);
         OMElement 	omElementUser = omFactory.createOMElement(new QName("", "UserID", ""), omElementVeri);
                    omElementUser.setText(""+this._USERID);
						
         OMElement 	omElementPass 	= 	omFactory.createOMElement(new QName("", "Token", ""), omElementVeri);
                    omElementPass.setText(""+this._TOKEN);
         sc.addHeader(omElement);
         // Das Funktionsobject		
         GetServerTime GST = new GetServerTime();
         // Das ResponseObject
         GetServerTimeResponse RESPONSE_GST = new GetServerTimeResponse();
         // Der eigentliche Soap Call	
         RESPONSE_GST =	SERVICE.getServerTime(GST);
         // Das Response Parameter Object
         PlentySoapResponse_GetServerTime RETURN_GST = RESPONSE_GST.get_return();
         System.out.println("Servertime : "+RETURN_GST.getTimestamp());
      }
   }	
   catch(Exception e)
   {
      System.out.println("Folgender Fehler ist aufgetreten : "+e.toString());
   }
}

 

Nach oben