He creado un servicio de trabajo WCF. Ahora quiero agregarle algo de seguridad para filtrar direcciones Ip. He seguido el ejemplo que Microsoft publica en los ejemplos para tratar de agregar un IDispatchMessageInspector que generará una llamada a AfterReceiveRequest y arrojará un error si la dirección IP no está en la lista permitida.¿Por qué mi servicio WCF da el mensaje 'no tiene un enlace con ninguno MessageVersion'?
Después de mirar el código; lo han configurado usando 'wsHttpBinding', sin embargo, quiero usar 'webHttpBinding' o 'basicHttpBinding'. Pero cuando lo configuro me sale el error:
The endpoint at 'http://upload/api/Api.svc/soap' does not have a Binding with the None MessageVersion. 'System.ServiceModel.Description.WebHttpBehavior' is only intended for use with WebHttpBinding or similar bindings.
Mi configuración es:
<system.serviceModel>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true">
</serviceHostingEnvironment>
<!--Set up the service-->
<services>
<service behaviorConfiguration="SOAPRESTDemoBehavior" name="HmlApi">
<endpoint address="rest" binding="webHttpBinding" contract="VLSCore2.Interfaces.IHmlApi" behaviorConfiguration="SOAPRESTDemoEndpointBehavior" />
<endpoint address="soap" binding="basicHttpBinding" contract="VLSCore2.Interfaces.IHmlApi" behaviorConfiguration="SOAPRESTDemoEndpointBehavior" />
</service>
</services>
<!--Define the behaviours-->
<behaviors>
<serviceBehaviors>
<behavior name="SOAPRESTDemoBehavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
<!---Endpoint -->
<endpointBehaviors>
<behavior name="SOAPRESTDemoEndpointBehavior">
<ipFilter/>
<webHttp />
</behavior>
</endpointBehaviors>
</behaviors>
<extensions>
<behaviorExtensions>
<add name="ipFilter" type="VLSCore2.Api.IpFilterBehaviourExtensionElement, VLSCore2, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
</behaviorExtensions>
</extensions>
</system.serviceModel>
Entonces, ¿qué estoy preguntando es cómo puedo configurar mi mensaje inspector sin utilizar WebHttpBinding. ¿Esto es posible?
Quiero usar jabón 'basicHttpBinding' no wsHttpBinding (y todos los WS *) los gastos generales asociados ....
Muchas gracias esto era perfecto. Es justo decir que creo que es importante configurar todos los puntos finales correctos para un servicio ahora. – Exitos
Hombre que ya estaba luchando por un par de horas y llegué aquí para darme cuenta de que no he cambiado el enlace :))) Estaba usando lo básico para la solicitud de http desde una aplicación móvil ... thumb up + – dpaul1994