Foros del Web » Programación para mayores de 30 ;) » .NET »

WCF Problema recibiendo un soap, no es capaz de interpretarlo bien.

Estas en el tema de WCF Problema recibiendo un soap, no es capaz de interpretarlo bien. en el foro de .NET en Foros del Web. Hola foreros !!! En fin, espero podais hecharme un cable con este tema, por que soy incapaz de resolverlo, y estoy perdiendo la cabeza... Vereis, ...
  #1 (permalink)  
Antiguo 19/01/2012, 15:36
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 10 meses
Puntos: 7
WCF Problema recibiendo un soap, no es capaz de interpretarlo bien.

Hola foreros !!!

En fin, espero podais hecharme un cable con este tema, por que soy incapaz de resolverlo, y estoy perdiendo la cabeza...

Vereis, hice un pequeño servicio web con WCF .NET. 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 una aplicación Android, serializando el objeto desde java y demás... El servicio recibe el objeto, ya que no entra por la excepción ni nada, pero... no es capaz de leer las propiedades, o las interpreta todas como null o false, o algo, no sé bien, pero por el IF no entra...

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, pero Android, si es capaz de interpretar lo que le llega al WCF?

Cualquier cosa que podais ayudarme... os lo agradeceré enormemente amigos.
__________________
Charlie.

Última edición por chcma; 19/01/2012 a las 15:42
  #2 (permalink)  
Antiguo 20/01/2012, 09:41
Avatar de bitbow  
Fecha de Ingreso: julio-2006
Ubicación: Distrito Federal
Mensajes: 635
Antigüedad: 17 años, 9 meses
Puntos: 34
Respuesta: WCF Problema recibiendo un soap, no es capaz de interpretarlo bien.

Hola!

La finalidad de los web services es ser interoperables, no depender del lenguaje de programación o sistema operativo, "esto es una reverenda mentira", la verdad es que cuando manejas tipos de datos complejos te puede suceder esto y la solucion puede ser X, le buscaras por todas partes y puede ser algo sencillo o simplemente imposible.

Mi recomendación es que manejes cadenas con estructuras XML, no te complicas la existencia y puedes hacer cualquier cosa, a mi me ha funcionado, sobre todo por que en mi caso se manejan webservices en distintos lenguajes.

El WCF es perfectamente compatible claro si tu aplicacion cliente esta realizada en Net y por supuesto en la misma versión si no, se te puede complicar, de otra forma te enfrentas a esta situación que se te presenta.

Lo ideal es manejar tipos de datos primitivos para que no se presenten complicaciones.

Saludos.
__________________
El ego es el mayor enemigo de un hombre inteligente.
  #3 (permalink)  
Antiguo 20/01/2012, 13:46
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 10 meses
Puntos: 7
Respuesta: WCF Problema recibiendo un soap, no es capaz de interpretarlo bien.

Estoy contigo bitbelow... Esto es una miérda... Pero me Jode tener que hacerlo a lo arcaico. Además, quería meter seguridad básica, y cada vez me pierdo más con esto.

Creo que El problema debe estar en el formato de envío, Pero creo que El wcf también debería ser más flexible. Joder, sí Android es capaz de entender lo que le devuelven, wcf también debería ser capaz... :s
__________________
Charlie.

Etiquetas: net, recibiendo, soap, wcf
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:16.