J2ME/ksoap2 <--> Axis2, Komunikationsproblem

terravotion

Erfahrenes Mitglied
Guten Morgen

Ich habe einen Axis2-Server der einen Dienst zur Verfügung stellen soll, für den sich der User aber zuerst einloggen muss. KLingt eigentlich einfach beschert mir aber Probleme.

Wenn ich auf dem Client (J2ME) ein Userobjekt generiere und das an den Service schicke bekomme ich die Meldung, dass das Userobjekt nicht Serializable ist.

code:

Code:
private SoapObject sendSoapRequest(SoapObject so, String soapAction) {
      try {
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10);
envelope.setOutputSoapObject(so);
         
HttpTransport http = new HttpTransport("http://server:1234/axis2/services/WeatherService");
http.call("urn:WeatherService#" + soapAction, envelope);
return (SoapObject) envelope.getResponse();
		
	} catch (IOException e) {
		e.printStackTrace();
	} catch (XmlPullParserException e) {
		e.printStackTrace();
	}
	return null;
}


Da war der Gedanke, das Userobjekt von KvmSerializable zu extenden recht nah, was die Situation aber nicht besser machte.


Grundsätzlich kann ich sagen:
Der Server kann ein Userobjet zurückschicken (als XML, automatisch geparst) und der Client kann das auch verarbeiten
Der Client kann nur Strings an den Service schicken:
Code:
Soapobject rpc;
...
rpc.addProperty("User", "irgendwas");  //<------ funktioniert
rpc.addProperty("User", userObject);  //<------ funktioniert nicht

Nun weiss ich nicht was ich noch machen könnte, die Dpku zu kSoap2 ist recht spärlich
 

Thomas Darimont

Erfahrenes Mitglied
Hallo,

in diesem Umfeld würde ich die Kommunikation stark vereinfachen und nur "einfache" Datentypen wie Strings und primitive (int, long,. double...) verwenden. Dann klappts auch mit dem Dienst.

Gruß Tom