Android .Net WebService mit Ksoap

  • Hallo,


    ich habe folgendes Problem.


    Ich möchte mittels ksoap2 (ksoap2-android-assembly-2.5-SNAPSHOT-jar-with-dependencies.jar) auf eine .Net WebService Methode zugreifen.
    Diese Methode erwartet einen Parameter vom Type WSCompany die folgendermaßen aufgebaut ist.


    public class WSCompany
    {
    private String name = String.Empty;
    private List<WSPerson> personen = new List<WSPerson>();


    public List<WSPerson> Personen
    {
    get { return personen; }
    set { personen = value;}
    }


    public String Name
    {
    get { return name; }
    set { name = value;}
    }
    }


    public class WSPerson
    {
    private String name = String.Empty;


    public String Name
    {
    get { return name; }
    set { name = value; }
    }
    }



    Auf der WebService-Methode auf dem Android:


    String METHOD_NAME = "TransferCompany1";
    SoapObject request_ = new SoapObject(NAMESPACE, METHOD_NAME);


    SoapSerializationEnvelope soapEnvelope_ = new SoapSerializationEnvelope(SoapEnvelope.VER11);
    soapEnvelope_.dotNet = false;
    soapEnvelope_.setOutputSoapObject(request_);


    WSCompany thisCompany = new WSCompany();
    thisCompany.setName("Company A");


    WSPerson[] personen_ = new WSPerson[1];
    personen_[0] = new WSPerson();
    personen_[0].setName("Person B");


    thisCompany.setPersonen(personen_);


    PropertyInfo pi = new PropertyInfo();
    pi.setName("company");
    pi.setValue(thisCompany);
    pi.setType(WSCompany.EVENT_CLASS);
    request_.addProperty(pi);


    soapEnvelope_.addMapping(WSBaseObject.NAMESPACE,WSPerson.NAME, new WSPerson().EVENT_CLASS);
    soapEnvelope_.addMapping(WSBaseObject.NAMESPACE,WSCompany.NAME, new WSCompany().EVENT_CLASS);


    Log.v("RS",callByAndroidHttpTransport(NAMESPACE, MYWEBSERVICEURL, METHOD_NAME, soapEnvelope_));



    Mein Problem ist das ich bei der Verwendung der call Methode folgende Fehlermeldung erhalte:
    java.lang.RuntimeException: Cannot serialize: [Lde.reinhardt.software.system5.webservice.objects.WSPerson;@43dae278



    Es liegt anscheinend an dem Array. Entnehme ich den Objekten (auf Android und WebService) das Attributte Personen kann ich fehlerfrei die Firma übermitteln. Ich habe getestet, ob ich ein Object vom Typ WSPerson an den WebService weiterleiten kann. Dieses hat wunderbar funktioniert.


    Hat jemand von euch eine Idee?



    Gruß Poohley

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!