(Veo varias preguntas relacionadas con mi problema, pero ninguna de las soluciones me funciona, ya que encuentro este problema en producción, no durante el desarrollo local, y tengo ya intenté todas las correcciones propuestas.)Error de seguridad Silverlight WCF + SSL - crossdomain.xml nunca solicitado
Tengo una aplicación Silverlight 4 que utiliza servicios WCF hospedados por IIS. En producción, se accede a estos servicios a través de HTTPS. A pesar de tener a valid crossdomain.xml archivo sigo teniendo el famoso "Error de seguridad" al acceder al servicio:
An error occurred while trying to make a request to URI 'https://MYDOMAIN/MYSERVICE.svc'. This could be due to attempting to access a service in a cross-domain way without a proper cross-domain policy in place, or a policy that is unsuitable for SOAP services. You may need to contact the owner of the service to publish a cross-domain policy file and to ensure it allows SOAP-related HTTP headers to be sent. This error may also be caused by using internal types in the web service proxy without using the InternalsVisibleToAttribute attribute. Please see the inner exception for more details. ---> System.Security.SecurityException ---> System.Security.SecurityException: Security error...
Usando violinista puedo ver que no hay petición se hace a crossdomain.xml o clientaccesspolicy.xml. Hay una solicitud CONEXIÓN para el servidor, pero eso es todo.
He leído que este error, aunque indica un problema con crossdomain.xml/clientaccesspolicy.xml, también se puede generar cuando el servidor emite un certificado no válido. Esto no parece ser el caso en mi escenario.
estoy seguro de lo siguiente está configurado correctamente: 1.
crossdomain.xml es válida y alojado en la raíz del sitio
2. Los servicios funcionan (Tenemos otros clientes en diversas tecnologías que los utilizan , incluyendo Adobe Flex que se basa en crossdomain.xml.)
3. La aplicación Silverlight funciona (Funciona muy bien con los servicios y servicios locales en un servidor de desarrollo compartido ***)
4. La aplicación Silverlight ni siquiera intente solicitar crossdomain.xml o clientaccesspolicy.xml (según lo confirmado por Fiddler)
5. La aplicación Silverlight utiliza la configuración adecuada para acceder a WCF sobre https. A continuación se muestra la configuración:
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IMyServices" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
<security mode="Transport" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="https://MYDOMAIN/MYSERVICE.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IMyServices" contract="Services.IMyServices" name="BasicHttpBinding_IMyServices" />
</client>
</system.serviceModel>
</configuration>
¿Qué otra cosa puede causar este tipo de problema? ¿Podría ser porque los servidores web están balanceados de carga? ¿O hay algún problema con el certificado que no haya notado? Si al menos puede señalarme en la dirección correcta, sería muy apreciado.
(*** Algo que vale la pena señalar: me encontré con un problema similar en nuestro entorno de desarrollo. La aplicación Silverlight no pudo acceder a los servicios de WCF en un servidor de desarrollo compartido, a pesar de tener crossdomain.xml y no usar HTTPS . Trabajé alrededor al agregar el servidor de desarrollo como un sitio de confianza en IE. Sin embargo, esta misma solución no funciona para la producción, y aun así no sería una solución aceptable. Pero el hecho de que tenía que hacer esto en el entorno de desarrollo me preocupa que me he perdido algo en el camino ...)
¿Cuál es el código de respuesta para la solicitud de conexión a su servidor? Cuando accedo al enlace que proporcionó en mi navegador, recibo una respuesta "403 - Prohibido: acceso denegado" – wickedtreemonkey
Recibo un código de respuesta de 200. Ese enlace devuelve un 403 porque estoy enlazando a la raíz del dominio que está restringido. Los puntos finales del servicio, que no deseo vincular, son de acceso público y, por lo tanto, devuelven una respuesta de 200. – Keith
visite http://stackoverflow.com/questions/7847220/clientaccesspolicy-xml-not-required-the-first -time-in-some-browsers. esto puede ser útil. –