22/7/11

Tribulaciones con Silverlight en IFD

Hace poco (poquísimo, o sea, hoy) he tenido que investigar un problema que surge cuando instalamos el Internet Facing Deployment en una instalación de Dynamics CRM 4.0

Una vez superados los temas propios de IFD (cabeceras, DNS etc) me esperaba un problema añadido: las páginas que había añadido a esta organización en Silverlight. El problema es que mis páginas Silverlight se comunican con un servicio WCF que he colgado en la carpeta ISV del servidor.

Al acceder a este servicio salta el error:

This collection already contains an address with scheme http

Pues bien, para que ese servicio funcione con la nueva URL, tenemos que hacer este cambio en su web.config:

<serviceHostingEnvironment aspNetCompatibilityEnabled="false">
  <baseAddressPrefixFilters>
    <add prefix="
http://deploy.crmdomain.local"/>
  </baseAddressPrefixFilters>
</serviceHostingEnvironment>

Este truco lo encontré en este post de los foros de Microsoft por Dan Crowell.

Por otro lado, tuve que recompilar el servicio para añadirle un atributo ya que de otra manera, el módulo Silverlight pedía credenciales después de haber hecho login a CRM con éxito.

[ServiceBehavior(AddressFilterMode=AddressFilterMode.Any)]

Esta solución viene del post Calling silverlight WCF service over IFD deployment of CRM de los foros de CRM, y hay que agradercérselo a Rajeshreddy Keesara de los foros de Silverlight.

¡Gracias!

No hay comentarios: