Mi aplicación necesita hablar con un servicio web que no tiene una línea de definición WSDL. Los desarrolladores sin embargo me ha proporcionado un archivo WSDL.
Con un público WSDL Visual Studio puede generar este código para mí, usar el Servicio de Referencia asistente. Pero no parece funcionar sin un público WSDL.
¿Cómo puedo generar el código para hablar a este servicio web utilizando este archivo WSDL?
Trate de usar WSDL.exe y, a continuación, incluyendo el archivo generado (.cs) en su proyecto.
El fuego de los Comandos de Visual Studio (visual studio/herramientas en el menú de inicio), a continuación, escriba
Que voy a escupir un archivo, que puede copiar/mover y a incluir en su proyecto. Ese archivo contiene una clase que es un proxy para su servicio, el Fuego de una instancia de esa clase, y eso va a tener una URL de una propiedad que se puede establecer sobre la marcha, y un montón de métodos que se pueden llamar. Que también va a generar clases para todos/cualquier complejo de los objetos pasan a través de la interfaz de servicio.
El uso de WSDL.exe no funciona para mí (me dio un error acerca de una falta de tipo), pero yo era capaz de haga click derecho en mi proyecto en VS y seleccione «Agregar Referencia de Servicio.» He entrado en la ruta de acceso al archivo wsdl en el campo de Dirección y pulse «Ir.» Que parecía ser capaz de encontrar todas las adecuadas tipos y añadido las clases directamente a mi proyecto.
En el lado nota: si usted tiene todos de los archivos de forma local (no sólo archivo wsdl pero también archivos xsd) puede invocar wsdl.exe de esa manera:
De esa manera wsdl.exe puede resolver todos los dependecies a nivel local y genera la clase proxy.
Tal vez va a salvar a alguien de algún tiempo – se resuelve «falta» tipo de error cuando el servicio no está disponible en línea.
Probar el WSDL A la clase de Proxy de la herramienta se entregan con el .NET Framework SDK. Yo nunca he usado antes, pero sin duda se parece a lo que usted necesita.
Hay un Microsoft Doc para la creación de su
WCF
proxy desde la línea de comandos.
Usted puede encontrar su copia local de
wsdl.exe
en una ubicación similar a este:C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools
(Más información aquí)Al final de su
Command
debe ser similar a esta:guardar el archivo en tu disco duro y, a continuación, utilice el siguiente URL:
Ya que la verdadera Unión de la dirección URL para el servicio web se encuentra en el archivo, puede hacer estos sencillos pasos desde tu máquina local:
1) Guardar el archivo en el equipo local, por ejemplo:
2) En Visual Studio, haga Clic Derecho sobre el proyecto > Seleccione Agregar Referencia Web, se abrirá Un diálogo.
3) En el Cuadro dirección URL de la Copia local del archivo ubicación por encima de C:\Documents y la Configuración de[usuario]\Escritorio\Webservice1.asmx, haga Clic en Siguiente
4) Ahora veremos las funciones que aparecen, seleccione su nombre por el de referencia, haga Clic en agregar referencia
5) listo! usted puede comenzar a utilizarlo como un espacio de nombres en su aplicación no se preocupe de que se utiliza un archivo local, porque de todas maneras el verdadero dirección URL para el servicio se encuentra en el archivo en la sección de Enlace de