Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/01/2012, 15:33
chcma
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
WCF .NET y KSOAP2 Recibo datos complejos, pero no se envian bien...

Hola foreros !!!

Vereis... tengo un gran problema, y SOY INCAPAZ de encontrar la solución... Por eso me dirijo a vosotros, a ver si podeis darme alguna ayuda rompedora con lo que me está pasando...

Vereis, hice un pequeño servicio web con WCF .NET, no sé si lo conocereis (Imagino que algunos sereis "anti microsoft"). Este Servicio tiene un método el cual recibe un objeto de tipo complejo comprueba una de sus propiedades y según lo que tenga, modifica su propiedad y lo devuelve.

Bien, es algo muy simple, os dejo el código del método.
Código:
        public CompositeType GetDataUsingDataContract(CompositeType composite)
        {

            if (composite == null)
            {
                throw new ArgumentNullException("composite");
            }
            

            if (composite.BoolValue)
            {
                composite.StringValue += "Suffix";
            }

            composite.StringValue += "data from server";
            return composite;
        }
Bien... la cuestión es que llamo a este método desde mi aplicación Android, y el método no entra por la excepción, pero... tampoco entra por el condcional (Cuando, obviamente, la proviedad va a true).

Por lo visto, las propiedades le llegan vacias, no obstante, el método devuelve el objeto a mi app Android, el cual lo recibe con las propiedades debidamente cambiadas desde el servidor...

SOAP ENVIADO
Código:

<v:Envelope xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:d="http://www.w3.org/2001/XMLSchema" xmlns:c="http://schemas.xmlsoap.org/soap/encoding/" xmlns:v="http://schemas.xmlsoap.org/soap/envelope/">
  <v:Header />
  <v:Body>
    <GetDataUsingDataContract xmlns="http://tempuri.org/" id="o0" c:root="1">
      <composite i:type="n0:CompositeType" xmlns:n0="http://schemas.datacontract.org/2004/07/TicketoWS">
        <BoolValue i:type="d:boolean">true</BoolValue>
        <StringValue i:type="d:string">Probando</StringValue>
      </composite>
    </GetDataUsingDataContract>
  </v:Body>
</v:Envelope>

SOAP RECIBIDO
Código:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <GetDataUsingDataContractResponse xmlns="http://tempuri.org/">
      <GetDataUsingDataContractResult xmlns:a="http://schemas.datacontract.org/2004/07/TicketoWS" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
        <a:BoolValue>false</a:BoolValue>
        <a:StringValue>data from server</a:StringValue>
      </GetDataUsingDataContractResult>
    </GetDataUsingDataContractResponse>
  </s:Body>
</s:Envelope>
Por favor... ¿Alguien se le ocurre, por que las propiedades enviadas desde Android, mi servicio WCF no es capaz de interpretarlas?

Agredeceré cualquier cosa... Gracias.
__________________
Charlie.

Última edición por chcma; 19/01/2012 a las 15:41