none
WCF Multiplataforma RRS feed

  • Pregunta

  • Estimados,

    Acudo nuevamente a ustedes para que me ayuden con un dilema que tengo, resulta que debo desarrollar una pequeña app con ASP.NEt, pero que además esa información debe estar disponible para consumirla desde Cualquier dispositivo movil, Android, Iphone, windows phone y además, en una aplicación windows forms.

    Tengo claro el uso de WCF, el dilema esta con las respuestas, debido a que debo retornar listados de registros, en un principio estaba pensando en retornar una colección tipo List<tipoObjeto> y mi duda es, ¿Puedo hacer esto?, debido a que para android debo ocupar java y para Iphone object C, pero no tengo claro  si puedo utilizar List<tipoObjeto>.

    Si esto no se puede hacer, ¿que me recomendarían ustedes?, debido a que no me parece para nada eficiente, tener que hacer métodos diferentes, según el lenguaje.

    Quedo atento a cualquier aporte y desde ya se los agradezco.

    P.D.: Está demás decirles que quiero ocupar esos mismos métodos desde ASP.NET, la cuál va a ser donde estarán alojados los servicios.

    Saludos


    memo


    • Editado gcontreras martes, 10 de julio de 2012 22:32 Falto información
    martes, 10 de julio de 2012 22:31

Respuestas

  • Hola,

    El listado será de alguna forma serializado en XML dentro del mensaje SOAP. El cliente tendría que deserializar ese XML. No sé si existen herramientas para otras plataformas para generar los proxyes desde wsdl.

    De todas formas, opino que, en caso de querer ofrecer servicios multiplataforma lo mejor sería exponerlos como servicios de tipo REST.

    Un saludo.


    • Editado aZubi miércoles, 11 de julio de 2012 11:16
    • Marcado como respuesta gcontreras jueves, 12 de julio de 2012 15:57
    miércoles, 11 de julio de 2012 11:16
  • estaba pensando en retornar una colección tipo List<tipoObjeto> y mi duda es, ¿Puedo hacer esto?,

    poder puedes, es mas es la forma de hacerlo

    el tema no es WCF en si, sino las plataformas que lo van a consumir, imagino que deberia ser util igualmente, al menos para java

    lo que si recomendaria es que ante esta situacion realices prueba de concepto, o sea create un servicio bien simple que retorne datos fijos y los consumas desde estos dispositivos para asi validar que funcione, si lo hacen entonces si implementas el servicio real

    Si esto no se puede hacer, ¿que me recomendarían ustedes?,

    se que con java existen libreias como Axis para crear los proxies al servicio web

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta gcontreras jueves, 12 de julio de 2012 15:57
    miércoles, 11 de julio de 2012 12:25

Todas las respuestas

  • Hola,

    El listado será de alguna forma serializado en XML dentro del mensaje SOAP. El cliente tendría que deserializar ese XML. No sé si existen herramientas para otras plataformas para generar los proxyes desde wsdl.

    De todas formas, opino que, en caso de querer ofrecer servicios multiplataforma lo mejor sería exponerlos como servicios de tipo REST.

    Un saludo.


    • Editado aZubi miércoles, 11 de julio de 2012 11:16
    • Marcado como respuesta gcontreras jueves, 12 de julio de 2012 15:57
    miércoles, 11 de julio de 2012 11:16
  • estaba pensando en retornar una colección tipo List<tipoObjeto> y mi duda es, ¿Puedo hacer esto?,

    poder puedes, es mas es la forma de hacerlo

    el tema no es WCF en si, sino las plataformas que lo van a consumir, imagino que deberia ser util igualmente, al menos para java

    lo que si recomendaria es que ante esta situacion realices prueba de concepto, o sea create un servicio bien simple que retorne datos fijos y los consumas desde estos dispositivos para asi validar que funcione, si lo hacen entonces si implementas el servicio real

    Si esto no se puede hacer, ¿que me recomendarían ustedes?,

    se que con java existen libreias como Axis para crear los proxies al servicio web

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta gcontreras jueves, 12 de julio de 2012 15:57
    miércoles, 11 de julio de 2012 12:25
  • Pude resolver el problema con los consejos de ambos, hice una prueba agregando referencia web desde una aplicacion web, consola, windows forms y java.

    Pero ahora, se quisiera poder acceder con JSon a estos servicios, he leído y hay varios ejemplos, pero cuando configuro mis metodos para que sean leidos desde json, funciona, pero al actualizar la referencia en mi aplicacion de consola por ejemplo. Dice que el formato es incorrecto, le saco las propiedades  de Json y funciona en mi consola, pero no así en la llamada con json.

    Por lo que veo, al parecer hay que hacer un metodo por cada plataforma, ejemplo, GetUserJSon (llamada json) y GetUser (objetos desde wsdl).

    Estoy en lo correcto o hay alguna forma de hacer compatible todo eso?, desde ya agradezco sus comentarios.


    memo

    jueves, 12 de julio de 2012 15:57
  • estaba pensando en retornar una colección tipo List<tipoObjeto> y mi duda es, ¿Puedo hacer esto?,

    poder puedes, es mas es la forma de hacerlo

    el tema no es WCF en si, sino las plataformas que lo van a consumir, imagino que deberia ser util igualmente, al menos para java

    lo que si recomendaria es que ante esta situacion realices prueba de concepto, o sea create un servicio bien simple que retorne datos fijos y los consumas desde estos dispositivos para asi validar que funcione, si lo hacen entonces si implementas el servicio real

    Si esto no se puede hacer, ¿que me recomendarían ustedes?,

    se que con java existen libreias como Axis para crear los proxies al servicio web

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    Pude resolver el problema con los consejos de ambos, hice una prueba agregando referencia web desde una aplicacion web, consola, windows forms y java.

    Pero ahora, se quisiera poder acceder con JSon a estos servicios, he leído y hay varios ejemplos, pero cuando configuro mis metodos para que sean leidos desde json, funciona, pero al actualizar la referencia en mi aplicacion de consola por ejemplo. Dice que el formato es incorrecto, le saco las propiedades  de Json y funciona en mi consola, pero no así en la llamada con json.

    Por lo que veo, al parecer hay que hacer un metodo por cada plataforma, ejemplo, GetUserJSon (llamada json) y GetUser (objetos desde wsdl).

    Estoy en lo correcto o hay alguna forma de hacer compatible todo eso?, desde ya agradezco sus comentarios.


    memo

    jueves, 12 de julio de 2012 16:35