plusone

Posts mit dem Label webserviceclient werden angezeigt. Alle Posts anzeigen
Posts mit dem Label webserviceclient werden angezeigt. Alle Posts anzeigen

12. September 2011

WebService mit StringArray - Part 3

Nabend,

die Suchbegriffe für Android WebService stellen alle meine anderen Beiträge in den Schatten. Deswegen will ich euch heute zeigen, wie man String[] als Parameter beim Aufruf vom WebService mit einem AndroidClient mit der Hilfe der Ableitung von Vector<String> und Implementierung von KvmSerializable.

Soviel zu langen Sätzen nun zum Part drei meines "Android und WebService"-Tutorial und dem Code.
Ich habe bereits in meinem Beitrag über AndroidWebServiceClient bereits gezeigt, wie ihr eine einfache Verbindung zum WebService herstellen könnt. Jetzt verändern wir den Parameter zum StringArray.
Solltet ihr einfach nach gleichem Prinzip ein Array also ein Object[] oder eins der primitiven Datentypen rüberreichen (int[]), werdet ihr schnell eine Exception bekommen, wie diese hier:
Caused by: java.lang.RuntimeException: Cannot serialize: [Ljava.lang.String;@46107820
at org.ksoap2.serialization.SoapSerializationEnvelope.writeElement(SoapSerializationEnvelope.java:629)

6. August 2011

Android WebService Client - Part 2b

Und da bin ich wieder,

den leichten Weg mit JavaClient kenn ihr nun.
Jetzt ist Android dran.
Wir bauen unseren Client auf den JavaWebService an, und hier sei gesagt, dass an sich auch ein WebService basierend auf PHP auch gehen sollte (nicht ausprobiert).

Für dieses Vorhaben brauchen wir noch die passende Library.
Ich habe es mit einer inzwischen deprecated umgesetzt.
HIER zu finden. Diese kopiert ihr bei euch ins Projekt und bindet dann ein.
(Rechtsklick im"Package Explorer" von Eclipse auf die Jar-Datei -> Build Path -> Add to Build Path)


Kommen wir zum Code,
als erstes brauchen wir die Zielpunkte:
  • Methodennamen
  • Namespace (package vom WebService)
  • SOAP-Action (besteht aus Namespace und Methodennamen)
  • URL (wo euer WebService erreichbar ist - "localhost" mit eurer IP ersetzten)
final private String METHOD_NAME = "getFriends";
final private String NAMESPACE = "http://webservice.alexroid.de/";
final private String SOAP_ACTION = "\""+NAMESPACE + METHOD_NAME+"\"";
final private String URL = "http://localhost:8080/friends/";

/ *
  * Diese Daten könnt ihr eurer WSDL-Datei entnehmen,
  * zu finden unter

  * http://localhost:8080/friends?wsdl
  * / 


1. August 2011

Java WebServiceClient - Part 2a

Nabend,

und die Geschichte geht mit dem Client weiter.
Bevor wir zum Androidclient kommen, zeige ich euch einen einfachen Javaclient.

Als erstes startet wir den WebService local auf dem Rechner.
Es geht auch jeder andere WebService, ich habe mich für Java entschieden.

Öffnet jetzt ein CMD-Fenster (Windowstaste+R -> cmd eingeben -> [enter]).
Gebt den Befehl ein:

wsimport -keep http://localhost:8080/friends?wsdl


Das Fenster sollte dann diesen Inhalt wiedergeben: