close

Solución de software

Una de las características semi-oculta de WCF conocer tanto como consumidor y productor de servicios web es el estándar de la industria (WSDL), que puede ser consumido y se expone por las herramientas y el código de un servicio web .Net. Este artículo habla sobre el conocimiento tribal que opcionalmente permite una para exponer un WSDL como un editor y puede consumir un WSDL extranjera para ser utilizado por el código de un proxy generado. Para acceder a un WSDL simplemente un anuncio? WSDL para la dirección y ver si se trata de volver a xml, tales como

Exponer un WSDL utilizando MetadataExchange (MEX)

La capacidad de exponer un WSDL no es un defecto cuando se crea un servicio web. Uno tiene dos opciones para exponer el WSDL. La primera es mediante programación en código como este cuando se crea el servicio de acogida

usando (host = ServiceHost nueva ServiceHost (typeof (NSTest.HelloNS), nuevo Uri ( "     {         host.AddServiceEndpoint (             typeof (NSTest.IMy_NS),             nueva BasicHttpBinding (),             "Primario");         comportamiento ServiceMetadataBehavior = new ServiceMetadataBehavior ();         behavior.HttpGetEnabled = true;         host.Description.Behaviors.Add (comportamiento);         host.AddServiceEndpoint (                 typeof (IMetadataExchange),                 MetadataExchangeBindings.CreateMexHttpBinding (),                 "MEX");         host.Open ();

La otra forma es colocar información similar en el archivo de configuración, ya sea web.config o app.config dependiendo de cómo se está hosted. este XML se copia de

<System.serviceModel> <servicios> <service name = "Metadata.Samples.SimpleService" behaviorConfiguration = "SimpleServiceBehavior"> <host> <baseAddresses> <add baseAddress = "              </ BaseAddresses>            </ Host>            <Dirección de punto final = ""                      unión = "wsHttpBinding"                      contrato = "Metadata.Samples.ISimpleService" />            <dirección de punto final = "MEX"                      unión = "mexHttpBinding"                      contrato = "IMetadataExchange" />          </ Service>        </ Servicios>        <comportamientos>          <ServiceBehaviors>            <Nombre de la conducta = "SimpleServiceBehavior">              <ServiceMetadata httpGetEnabled = "true" policyVersion = "Policy12" />              <ServiceDebug includeExceptionDetailInFaults = "false" />            </ Comportamiento>          </ ServiceBehaviors>        </ Comportamientos>      </system.serviceModel>

Consumir un WSDL para crear un proxy

Si un servicio web extranjera ha expuesto un WSDL, se puede consumir que los métodos de servicio web por un proxy generado. Una vez más hay dos maneras de generar ese proxy. Tanto en realidad utilizar la misma herramienta. Esa herramienta es la que hace su magia en la línea de comandos o uno puede navegar por ella en VS2008 utilizando el comando Agregar referencia de servicio. Ese comando simplemente encapsula el Svcutil.exe para generar una clase de proxy desde el WSDL expuesto. Para ver más en Svcutil.exe ver.


Previous Post     Next Post


TAGS


CATEGORIES

.