Cómo usar un WSDL
Necesito consumir un Servicio Web. Me enviaron el archivo WSDL. Qué debo hacer para agregarlo a mi sitio web y comenzar a usarlo como proxy. ( Si lo pongo en un Directorio Virtual puede ser descubierto, pero ¿me concede la conexión con el servicio web real?)
4 answers
Encendería Visual Studio 2008, crearía un proyecto web (o aplicación de consola - no importa), y luego haría clic derecho en el proyecto y elegiría "Agregar referencia de servicio" en el menú contextual.
Introduzca la ruta y el nombre del archivo en el cuadro e importe el WSDL - esto generará un cliente WCF simple y muy básico para que lo use. Debe encontrar una clase" YourservicenameClient " en el código generado que debe tener métodos para cada uno de los métodos definidos en el WSDL contrato.
Instanciar el cliente y llamar 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 (no utilizando la creada por defecto), puede hacerlo fácilmente en el constructor del cliente proxy:
YourServiceClient client = new YourServiceClient("configName", "remoteURL");
Donde configName
es el nombre del endpoint a usar (usará todas las configuraciones excepto la URL), y remoteURL
es una cadena que representa la URL a la que conectarse (en lugar de la contenida en la configuración).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-10 15:00:02
En visual studio.
- Crear o abrir un proyecto.
- Haga clic con el botón derecho en proyecto desde el explorador de soluciones.
- Seleccione"Add service refernce"
- Pegue la dirección con WSDL que recibió.
- Haga clic en Aceptar.
Si no hay errores, debería poder ver la referencia de servicio en el explorador de objetos y todos los métodos relacionados.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-19 20:46:53
Use WSDL.EXE utility para generar un proxy de Servicio web desde WSDL.
Obtendrá un archivo fuente largo de C# que contiene una clase que se ve así:
/// <remarks/>
[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 el lado del cliente, código que consume servicios web:
- crear instancias de MyService.
- establece su propiedad Url
- invocar métodos web
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-19 21:01:29
Si desea agregar una referencia wsdl en . Net Core project , no hay opción "Agregar referencia web".
Para agregar la referencia wsdl vaya al Explorador de soluciones, haga clic con el botón derecho en el elemento del proyecto Referencias y luego haga clic en la opción Add Connected Service.
Luego haga clic en 'Microsoft WCF Web Service Reference':
Ingrese la ruta del archivo en el cuadro de texto URI e importe WSDL:
Generará un cliente WCF simple y muy básico y lo usarás algo como esto:
YourServiceClient client = new YourServiceClient();
client.DoSomething();
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-31 11:19:28