none
Consumir wsdl mediante codigo RRS feed

  • Pregunta

  • Buenos días,

    Hace ya un par de días que me estoy volviendo loco con esto y seguro es una pavada; el tema es así: Tengo una aplicación web que se conecta con distintos wsdl, dependiendo del entorno, por ejemplo tengo un entorno test, prueba y producción. Pero el problema consiste que en algunos entornos trabajan en forma interna en la red (no tienen salida al exterior) no puedo configurar el wsdl desde "Agregar nueva referencia de servicio" Por tal motivo me gustaría tener las tres direcciones de los wsdl en una tabla y dependiendo de otras configuraciones, el sistema se da cuenta en que entorno esta y que se conecte con el wsdl correspondiente. Ahora bien, no encontré por ningún lado un buen ejemplo de cómo conectar al wsdl solo por línea de código. trabajo con C#.

    Cualquier sugerencia será bienvenida

    Saludos

    Esteban

    martes, 5 de mayo de 2015 14:51

Respuestas

  • hola

    >>Pero el problema consiste que en algunos entornos trabajan en forma interna en la red (no tienen salida al exterior) no puedo configurar el wsdl desde "Agregar nueva referencia de servicio"

    y eso en que afecta? podrias descargar el wsdl a un archivo y crear el proxy por linea de comando usando el wsdl.exe

    Herramienta Lenguaje de descripción de servicios web (Wsdl.exe)

    entonces poniendo el codigo que genere esta tool podrias invocar al servicio

    >>Ahora bien, no encontré por ningún lado un buen ejemplo de cómo conectar al wsdl solo por línea de código. trabajo con C#.

    es que es un buen trabajo el que deberas realizar porque tendras que armar todo el mensaje xml que define el SOAP a mano con codigo

    yo recomendaria que si puede evita ir por ese camino

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 5 de mayo de 2015 15:09

Todas las respuestas

  • Hola, un wsdl no deja de ser un archivo XML en el cual se define las características de un servicio web.

    Los wsdl que dices que tienes en los entornos son los mismos?porque si es así deberías crear tus clases proxies y cambiar el endpoint del servicio en tiempo de ejecución.

    Puedes usar desde la consola de desarrollo de Visual Studio el comando svcutil para generar a partir de tu archivo WSDL las clases proxy.


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    martes, 5 de mayo de 2015 15:07
    Moderador
  • hola

    >>Pero el problema consiste que en algunos entornos trabajan en forma interna en la red (no tienen salida al exterior) no puedo configurar el wsdl desde "Agregar nueva referencia de servicio"

    y eso en que afecta? podrias descargar el wsdl a un archivo y crear el proxy por linea de comando usando el wsdl.exe

    Herramienta Lenguaje de descripción de servicios web (Wsdl.exe)

    entonces poniendo el codigo que genere esta tool podrias invocar al servicio

    >>Ahora bien, no encontré por ningún lado un buen ejemplo de cómo conectar al wsdl solo por línea de código. trabajo con C#.

    es que es un buen trabajo el que deberas realizar porque tendras que armar todo el mensaje xml que define el SOAP a mano con codigo

    yo recomendaria que si puede evita ir por ese camino

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 5 de mayo de 2015 15:09