Te sugerimos que revises esta resolución en un ambiente controlado antes de enviarlo a producción, saludos.
Solución:
Iniciaría Visual Studio, crearía un proyecto web (o una aplicación de consola, no importa).
Para el estándar .Net:
- Haría clic con el botón derecho en el proyecto y elegiría “Agregar referencia de servicio” en el Agregar Menú de contexto.
- Haría clic en Avanzado, luego en Agregar referencia de servicio.
- Obtendría la ruta completa del archivo wsdl y la pegaría en la barra de direcciones. Luego dispara la Flecha (botón ir).
- Si hay un error al intentar cargar el archivo, entonces debe haber una URL rota y sin resolver que el archivo debe resolver como se muestra a continuación:
Consulte esta respuesta para obtener información sobre cómo solucionarlo: Respuesta de Stackoverflow a: No se puede crear una referencia de servicio para el archivo wsdl
Si no hay ningún error, simplemente debe configurar el NameSpace que desea usar para acceder al servicio y se generará para usted.
Para .Net Core
- Haría clic con el botón derecho en el proyecto y elegiría Servicio conectado en el menú contextual Agregar.
- Seleccionaría el proveedor de referencia de servicios web de Microsoft WCF de la lista.
- Presionaría examinar y seleccionaría el archivo wsdl de inmediato, establecería el espacio de nombres y listo. Consulte la URL de corrección de errores anterior si encuentra algún error.
Cualquiera de los métodos anteriores generará un cliente WCF simple y muy básico para su uso. Debería encontrar una clase “YourservicenameClient” en el código generado.
Como referencia, el archivo cs generado se puede encontrar en su Obj/debug(o release)/XsdGeneratedCode y aún puede encontrar los dlls en la carpeta TempPE.
Los servicios creados deben tener métodos para cada uno de los métodos definidos en el contrato WSDL.
Cree una instancia del cliente y llame a los métodos que desea llamar, ¡eso es todo lo que hay!
YourServiceClient client = new YourServiceClient();
client.SayHello("World!");
Si necesita especificar la URL remota (sin utilizar la creada de forma predeterminada), puede hacerlo fácilmente en el constructor del cliente proxy:
YourServiceClient client = new YourServiceClient("configName", "remoteURL");
donde configName
es el nombre del punto final a usar (usará todas las configuraciones excepto la URL), y el remoteURL
es un string que representa la URL a la que conectarse (en lugar de la contenida en la configuración).
En estudio visual.
- Crear o abrir un proyecto.
- Haga clic con el botón derecho en el proyecto desde el explorador de soluciones.
- Seleccione “Agregar referencia de servicio”
- Pegue la dirección con WSDL que recibió.
- Haga clic en Aceptar.
Si no hay errores, debería poder ver la referencia del servicio en el navegador de objetos y todos los métodos relacionados.
Utilice la utilidad WSDL.EXE para generar un proxy de servicio web desde WSDL.
Obtendrá un archivo fuente largo de C# que contiene una clase que se ve así:
///
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Web.Services.WebServiceBindingAttribute(Name="MyService", Namespace="http://myservice.com/myservice")]
public partial class MyService : System.Web.Services.Protocols.SoapHttpClientProtocol
...
En su lado del cliente, código que consume servicios web:
- instanciar MyService.
- establecer su propiedad Url
- invocar métodos web