none
Problema con Servicio WCF al incluirlo a una solución RRS feed

  • Pregunta

  • Hola

    He hecho una aplicaccion siguiendo este tutorial : http://blogs.microsoft.co.il/blogs/bursteg/archive/2008/02/10/how-to-build-an-n-tier-application-with-wcf-and-datasets-in-visual-studio-2008.aspx

    Ahora quiero incluirlo en un proyecto ya existente, para ello he abierto mi solución ya existente he creado una "nueva carpeta de soluciones" y allí he importado los cuatro proyectos.

    Una vez hecho esto intento instanciar desde fuera el formulario principal y cargarlo, pero me da el siguiente problema : 

    No se encontró el elemento de extremo predeterminado que hace referencia al contrato 'proxy.IPedidosService' en la sección de configuración de cliente de ServiceModel. La razón puede ser que no se encontró ningún archivo de configuración para la aplicación o que no se encontró ningún elemento de extremo correspondiente a este contrato en el elemento de cliente.

    Lo curioso es que si marco de los cuatro proyectos importados el que contiene el formulario principal como "proyecto de inicio" , el programa arranca y conecta correctamente con el webservice. :S

    A

    lunes, 20 de febrero de 2012 13:36

Todas las respuestas

  • Hola, 

    ¿Has comprobado que tengas las configuraciones del app.config referentes a los endPoints, bindings y behaviors en la aplicaicón principal?

    Si no deberías "copiar" la sección de "<serviceModel>" de la aplicación que si que funciona correcta...


    Fernanando Escolar - http://www.programandonet.com/ - @fernandoescolar

    • Propuesto como respuesta matias jueves, 25 de abril de 2013 16:54
    lunes, 20 de febrero de 2012 15:20
  • Hola

    Fernando Escola, no se muy bien que tengo que mirar en la configuración , ya lo he revisado y de hecho creo que "esta bien" , el proyecto funciona y conecta.

    El problema reside al instanciar el proyecto principal des de otro proyecto y ejecutarlo , és cuando me dice que no encuenta el contrato me explico : 

    Tengo una solucion con los siguientes proyectos :

    - Cliente
    - DAL
    - Entities
    - Contract

    El proyecto Cliente esta funcionando correctamente.

    Copio esos cuatro proyectos en otra solución ya existente dentro de una "carpeta de soluciones",

    he intento desde el proyecto principal de la solución ya existente  ( llamémosolo "main" ) instanciar el formulario principal de Cliente, Entonces es cuando me aparece el error mencionado en el primer post. 

    En el proyecto "main" he añadido una referencia al proyecto cliente.

    Espero que esto describa mejor mi problema!
    Gracias!

    martes, 21 de febrero de 2012 8:31
  • Hola,

    Entonces el proyecto de inicio ha cambiado de "cliente" a "main", ¿no es así?

    En este supuesto no basta con referenciar a "cliente" si no que además tienes que "copiar" las configuraciones de los servicios de WCF.

    Supongo que el proyecto "Cliente" tendrá un archivo "app.config" (o "web.config" si es web). Dentro de este archivo que tiene formato XML, hay una sección llamada "<serviceModel>... muchas cosas ...</serviceModel>". La idea sería copiar esta sección y pegarla en el archivo "app.config" de la nueva solución principal "main".

    Si el proyecto "main" no tuviera el archivo "app.config", se puede añadir uno nuevo, buscando algo parecido a "Archivo de configuración" en la ventana de añadir nuevo elemento al proyecto...

    Un saludo,


    Fernanando Escolar - http://www.programandonet.com/ - @fernandoescolar

    • Propuesto como respuesta matias jueves, 25 de abril de 2013 16:55
    martes, 21 de febrero de 2012 9:05
  • En que parte del fichero app.config debo pegarla ?

    La coloqué al final justo antes de </configuration> y sigue ocurriendo lo mismo :S

    martes, 21 de febrero de 2012 13:18
  • La posición es correcta, tiene que depender de "<configuration>". La etiqueta la he confundido en las primeras explicaciones es exactamente "<system.serviceModel>".

    Por otro lado, cuando haces debug deberías comprobar que el proyecto de servidor está funcionando y accesible, porque si no puede darte este error al no encontrar el servicio al que conectarse.

    Por último, el archivo de app.config origen sería el del cliente que se conecta a los servicios, ya que si es el del servidor no funcionará.

    Un saludo,


    Fernanando Escolar - http://www.programandonet.com/ - @fernandoescolar

    martes, 21 de febrero de 2012 13:26
  • Hize los cambios , pero ahora me salta la siguiente excepción :

    TypeInizializationException

    Se produjo una excepción en el inicializador de tipo de 'System.ServiceModel.Client

    :S

    miércoles, 22 de febrero de 2012 7:59
  • Creo que es un problema en las configuraciones, posiblemente que en esa parte de código, hay algo que para la nueva aplicación no es correcto, pero necesitaría más detalles sobre la excepción y sobre la sección que has copiado y pegado...

    Fernanando Escolar - http://www.programandonet.com/ - @fernandoescolar

    • Propuesto como respuesta matias jueves, 25 de abril de 2013 16:54
    • Votado como útil matias jueves, 25 de abril de 2013 16:55
    miércoles, 22 de febrero de 2012 8:03