none
Fallo al pasar un servicio WCF a IIS RRS feed

  • Pregunta

  • Saludos

     

    Tengo desarrollada una aplicacion para el movil WP7, que enlaza con un servicio WCF. ESte servicio no me da ningun problema siempre que lo pruebo con el servidor de pruebas de Visual Studio, que arranca automaticamente. EL problema me surge cuando he hecho lo siguiente:

     

    He publicado el servicio en un servidor IIS y me lo reconoce cuando pongo localhost/service1.svc pero al intentar hacer una operacion sobre el servicio me da un fallo

     

    Me da este error

     

    El servidor no pudo procesar la solicitud debido a un error interno. Para obtener más información acerca del error, active IncludeExceptionDetailInFaults (desde ServiceBehaviorAttribute o desde el comportamiento de configuración de <serviceDebug>) en el servidor para enviar la información de la excepción al cliente, o active la traza según las instrucciones de la documentación de Microsoft .NET Framework 3.0 SDK y consulte los registros de seguimiento del servidor.

     

    Si alguien sabe que puede ser

     

    MUCHAS GRACIAS

    jueves, 20 de enero de 2011 20:56

Respuestas

  • Hola, Enrique!


    Estando en IIS ve al panel de Conexiones (el de la izquierda) y selecciona "Grupos de Aplicaciones", luego en el panel del centro selecciona el que desees (en tu caso creo que DefaultAppPool) y luego en el panel de Acciones (el de la derecha) dale click a "Configuración Avanzada...".    Te aparecerá la pantalla de Configuración Avanzada, en ella busca la propiedad "Identidad", la cual puedes cambiar con el boton "...".  Yo he usado "Local System", luego lo único que te queda es darle permiso en la base de datos al usuario: NT AUTHORITY\SYSTEM".


    Espero te sea de utilidad.


    Bendiciones!

    Si la respuesta te es de utilidad, recuerda marcarla como Respuesta y/o votarla como Útil. Así colaboras a que el foro esté organizado.
    viernes, 21 de enero de 2011 18:42
  • Hola, Enrique.

    Pueden ser muchas cosas. Así que lo primero que vamos a hacer es permitirle al IIS que sea más específico en el mensaje de error. Para ello, agregále el siguiente fragmento al archivo web.config que debería estar junto con el Service.svc:

    <serviceMetadata httpGetEnabled="true" />

    <serviceDebug includeExceptionDetailInFaults="true" />

    Esto justo (las dos líneas anteriores) debes insertarlas justo antes de:

              </behavior>

         </serviceBehaviors>

    </behaviors>

     

    Luego intenta usarlo nuevamente y el error volverá a aparecer, sólo que mucho más descriptivo. Por favor, nos cuentas exactamente que te dice dicho error y ahí vemos cómo te podemos ayudar.

     

    Bendiciones!


    Si la respuesta te es de utilidad, recuerda marcarla como Respuesta y/o votarla como Útil. Así colaboras a que el foro esté organizado.
    viernes, 21 de enero de 2011 12:41

Todas las respuestas

  • Hola, Enrique.

    Pueden ser muchas cosas. Así que lo primero que vamos a hacer es permitirle al IIS que sea más específico en el mensaje de error. Para ello, agregále el siguiente fragmento al archivo web.config que debería estar junto con el Service.svc:

    <serviceMetadata httpGetEnabled="true" />

    <serviceDebug includeExceptionDetailInFaults="true" />

    Esto justo (las dos líneas anteriores) debes insertarlas justo antes de:

              </behavior>

         </serviceBehaviors>

    </behaviors>

     

    Luego intenta usarlo nuevamente y el error volverá a aparecer, sólo que mucho más descriptivo. Por favor, nos cuentas exactamente que te dice dicho error y ahí vemos cómo te podemos ayudar.

     

    Bendiciones!


    Si la respuesta te es de utilidad, recuerda marcarla como Respuesta y/o votarla como Útil. Así colaboras a que el foro esté organizado.
    viernes, 21 de enero de 2011 12:41
  • Muchas gracias por la respuesta

     

    Ya lo he solucionado. El problema esta en que el usuario de IIS no tiene permiso para acceder a la BD. Ahora estoy intentando configurar  IIS_APOOL\DefaultAppPool para que tenga acceso pero no lo consigo.

    viernes, 21 de enero de 2011 18:24
  • Hola, Enrique!


    Estando en IIS ve al panel de Conexiones (el de la izquierda) y selecciona "Grupos de Aplicaciones", luego en el panel del centro selecciona el que desees (en tu caso creo que DefaultAppPool) y luego en el panel de Acciones (el de la derecha) dale click a "Configuración Avanzada...".    Te aparecerá la pantalla de Configuración Avanzada, en ella busca la propiedad "Identidad", la cual puedes cambiar con el boton "...".  Yo he usado "Local System", luego lo único que te queda es darle permiso en la base de datos al usuario: NT AUTHORITY\SYSTEM".


    Espero te sea de utilidad.


    Bendiciones!

    Si la respuesta te es de utilidad, recuerda marcarla como Respuesta y/o votarla como Útil. Así colaboras a que el foro esté organizado.
    viernes, 21 de enero de 2011 18:42
  • MUCHISIMAS GRACIAS

     

    Si que ha funcionado, en el foro de SQL me estaban dando una solucion que no salia, que era asignar al usuario como valido en SQL SERVER

     

    GRACIAS

     

    Voy a hacer otra pregunta acerca de como utilizar el IIS desde el exterior (desde un equipo en otro punto de internet)

    viernes, 21 de enero de 2011 19:00