Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Liste von komplexen Datentypen aus .NET service

Das Thema "Liste von komplexen Datentypen aus .NET service" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 10.01.2012, 07:26   #1 (permalink)
Neuer Benutzer

Registriert seit: 29.12.2011
Beiträge: 12
Abgegebene Danke: 2
Erhielt 0 Danke für 0 Beiträge
Standard Liste von komplexen Datentypen aus .NET service

Hallo zusammen,

ich probiere gerade eine Liste von komplexen Datentypen von einem .NET Webservice zu empfangen.

Wenn ich die Funktion im Browser aufrufe bekomme ich folgendes Ergebnis:

<ArrayOfSimpleAuftrag>
<SimpleAuftrag>
<Id>5</Id>
<Nummer>Auftrg001</Nummer>
</SimpleAuftrag>
<SimpleAuftrag>
<Id>6</Id>
<Nummer>Auftrg002</Nummer>
</SimpleAuftrag>
</ArrayOfSimpleAuftrag>

diese probiere ich nun auszulesen:

Code:
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
             SoapEnvelope.VER11);
     envelope.dotNet = true;
     envelope.setOutputSoapObject(request);
     SoapObject result = null;

     try {
             AndroidHttpTransport httpTransport = new AndroidHttpTransport(URL);
             httpTransport.debug=true;
            httpTransport.call(SOAP_ACTION, envelope);
            List<SoapObject> listOfSoapObject = new ArrayList<SoapObject>();
            //Vector<SoapObject> vectorOfSoapObject = new Vector<SoapObject>();
            
            try {
                listOfSoapObject =  (ArrayList<SoapObject>) envelope.getResponse(); // <-- Exception
            }
            catch(Exception e)
            {
                  Log.e("error", "", e);
            }
           
            for (SoapObject soapObject : listOfSoapObject) {
                SimpleAuftrag auftrag = convertToAuftrag(soapObject);
                listOfAuftraegeTemp.add(auftrag);
            }
Der Fehler passiert an der Stelle:
listOfSoapObject = (ArrayList<SoapObject>) envelope.getResponse(); // <-- Exception
Message:
java.lang.ClassCastException: org.ksoap2.serialization.SoapObject


Ich habe es schon mit Vector<SoapObject> probiert auch ohne Erfolg.

Kann mir jemand sagen, was ich hier falsch mache ?

Danke im Voraus!

Ylirebus
Ylirebus ist offline   Mit Zitat antworten
Alt 10.01.2012, 08:51   #2 (permalink)
Team-Manager
 
Benutzerbild von garak

Modell: HTC Sensation XE

Registriert seit: 12.12.2009
Beiträge: 4.922
Abgegebene Danke: 168
Erhielt 1.538 Danke für 754 Beiträge
Standard AW: Liste von komplexen Datentypen aus .NET service

So eine Frage ist in der Entwicklung besser aufgehoben, deshalb habe ich sie dorthin verschoben.
garak ist offline   Mit Zitat antworten
Alt 13.01.2012, 10:41   #3 (permalink)
Neuer Benutzer

Registriert seit: 29.12.2011
Beiträge: 12
Abgegebene Danke: 2
Erhielt 0 Danke für 0 Beiträge
Standard AW: Liste von komplexen Datentypen aus .NET service

Hat jemand sonst ein Beispiel für das Empfangen von komplexen Datentypen mit einem Android ?

Wenn z.B. ein Webservice folgendes Ergebnis liefert:
<ArrayOfSimpleAuftrag>
<SimpleAuftrag>
<Id>5</Id>
<Nummer>Auftrg001</Nummer>
</SimpleAuftrag>
<SimpleAuftrag>
<Id>6</Id>
<Nummer>Auftrg002</Nummer>
</SimpleAuftrag>
</ArrayOfSimpleAuftrag>

wie bekomme ich das auf meinem Android in eine Klasse

public class SimpleAuftrag
{
public int Id;
public string Nummer;
}

Danke im Voraus

Ylirebus

Geändert von Ylirebus (13.01.2012 um 10:45 Uhr)
Ylirebus ist offline   Mit Zitat antworten
Alt 13.01.2012, 10:43   #4 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: Liste von komplexen Datentypen aus .NET service

das ist doch simples xml - warum nimmst nicht einfach einen xml parser ?
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist offline   Mit Zitat antworten
Alt 13.01.2012, 10:50   #5 (permalink)
Neuer Benutzer

Registriert seit: 29.12.2011
Beiträge: 12
Abgegebene Danke: 2
Erhielt 0 Danke für 0 Beiträge
Standard AW: Liste von komplexen Datentypen aus .NET service

Das hätte ich als nächstes einfach gemacht, aber ich dachte mir,ich frage mal nach ob es nicht einfacher geht.

Danke

Ylirebus
Ylirebus ist offline   Mit Zitat antworten
Alt 13.01.2012, 10:53   #6 (permalink)
Android Guru

Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus

Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
Standard AW: Liste von komplexen Datentypen aus .NET service

Debug doch einfach mal da rein und guck was für ein Objekt bei getResponse() rauskommt...
__________________
Follow/Add/Circle/Whatever me on Google+

Solitaire HD, ein Solitaire optimiert für Honeycomb.
the_alien ist offline   Mit Zitat antworten
Alt 14.01.2012, 04:44   #7 (permalink)
Neuer Benutzer

Registriert seit: 29.12.2011
Beiträge: 12
Abgegebene Danke: 2
Erhielt 0 Danke für 0 Beiträge
Standard AW: Liste von komplexen Datentypen aus .NET service

Hallo zusammen,

Also ich muss erstmal gestehen, das ich bis vor einer Woch eher .NET Anwendungen geschrieben habe aber vor einiger Zeit schon mal die ein oder andere kleine Java-Anwendung geschrieben habe.

ich habe mal das "getResponse()" nur einem "SoapObject" zugewiese.

Wenn ich mir den result anschaue, habe ich folgendes:

anyType{SimpleAuftrag=anyType{Id=5; Nummer=Auftrg001; Referenz=Ref001; ProjektnummerFakturierung=prj001; Uebertragen=false; SachbearbeiterKunde=1; SachbearbeiterSelbst=1; }; SimpleAuftrag=anyType{Id=6; Nummer=Auftrg002; Referenz=Ref002; ProjektnummerFakturierung=prj002; Uebertragen=false; SachbearbeiterKunde=3; SachbearbeiterSelbst=1; }; }

Aus dem Bauch raus würde ich sagen das müsste mann doch in eine List<SimpleAuftrag> konvertieren können.

Code:
List<SimpleAuftrag> auftraege = (List<SimpleAuftrag>)result;
aber das funktioniert leider nicht.

Fehler:
java.lang.ClassCastException: org.ksoap2.serialization.SoapObject

Muss ich die Klasse evtl. anders gestalten?

public class SimpleAuftrag {
public String Id;
public String Nummer;
public String Reference;
public String SachbearbeiterKunde;
public String SachbearbeiterSelbst;
public String ProjektnummerFakturierung;
public String Uebertragen;
}

Vielen Dank für Eure Hilfe

P.S. Ich habe oben die Klasse ein wenig kleiner gestaltet, das Prinzip ist ja gleich. Die Klasse hat eigendlich mehr Parameter wie hier.

Ylirebus

Geändert von Ylirebus (14.01.2012 um 04:51 Uhr)
Ylirebus ist offline   Mit Zitat antworten
Alt 14.01.2012, 15:50   #8 (permalink)
Android Guru

Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus

Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
Standard AW: Liste von komplexen Datentypen aus .NET service

result ist halt ein SoapObject und keine Liste... dann kannst du das nicht so umcasten.

Dir fehlt auch das Mapping komplett: http://ksoap2.sourceforge.net/doc/ap...va.lang.String, java.lang.String, java.lang.Class)

Woher soll ksoap wissen was er daraus machen muss?
__________________
Follow/Add/Circle/Whatever me on Google+

Solitaire HD, ein Solitaire optimiert für Honeycomb.

Geändert von the_alien (14.01.2012 um 15:53 Uhr)
the_alien ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
Keine apps aus dem i-net androidkürbis Sony Ericsson Xperia X10 Mini / Mini Pro 6 30.10.2011 09:35
Liste mit Service-Codes MarcoHD HTC Desire HD Forum 20 25.10.2011 00:24
Service aus Service (BroadcastReceiver) starten andi86 Android App Entwicklung 14 17.02.2011 06:52
Flash ruckelfrei auf komplexen Seiten? dermanolo Archos 101 Forum 14 30.12.2010 14:23
Check TTS von Service aus FelixL Android App Entwicklung 5 17.06.2010 18:09




Du liest gerade: "Liste von komplexen Datentypen aus .NET service" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.