IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Silverlight Discussion :

Problème WCF (serveur NotFound)


Sujet :

Silverlight

  1. #1
    Membre éclairé Avatar de Mozofeuk
    Inscrit en
    Novembre 2007
    Messages
    326
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 326
    Par défaut Problème WCF (serveur NotFound)
    Bonjour à tous,

    J'ai encore un problème lors du déploiement d'une application Silverlight et de son service WCF. Je précise que j'ai un hébergement MSDN ikoula que mon site marche parfaitement en local mais qu'une fois déployé il n'y a plus de communication entre mon appli SL et mon service.


    A chaque tentative de communication avec le service j'ai l'erreur classique :
    Erreur : Unhandled Error in Silverlight 2 Application Une exception s'est produite lors de l'opération, ce qui rend le résultat non valide. Consultez InnerException pour plus de détails sur l'exception. à System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()
    à SiteIIA.ServiceReference1.ReturnDerniereNewsCompletedEventArgs.get_Result()
    à SiteIIA.PageNews.Serv_ReturnDerniereNewsCompleted(Object sender, ReturnDerniereNewsCompletedEventArgs e)
    à SiteIIA.ServiceReference1.Service1Client.OnReturnDerniereNewsCompleted(Object state)
    Fichier source : http://www.~~~~.fr/
    Si je consulte l'innerExeption j'obtiens le message suivant :
    Le serveur distant a retourné une erreur : NotFound
    Ce qui ne me dit pas grand chose. Une chose est que lorsque j'essaye de visualiser mon Service ds le Navigateur ("www.nomdedomaine.fr/Service1.svc") j'obtiens l'erreur suivante :
    [HttpException (0x80004005): Aucun fournisseur de générations n'est inscrit pour l'extension '.svc'. Vous pouvez en inscrire un dans la section <compilation><buildProviders> de machine.config ou web.config. Vérifiez la présence de l'attribut BuildProviderAppliesToAttribute incluant la valeur 'Web' ou 'All'.]
    System.ServiceModel.AsyncResult.End(IAsyncResult result) +393
    System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +196
    System.ServiceModel.Activation.HostedHttpRequestAsyncResult.ExecuteSynchronous(HttpApplication context, Boolean flowContext) +216
    System.ServiceModel.Activation.HttpHandler.ProcessRequest(HttpContext context) +24
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +406
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +76
    Et si j'essaye d'ajouter le buildProviders j'obtiens une erreur (en essayant ds le navigateur ("www.nomdedomaine.fr/Service1.svc")) me disant que mon service est vide.

    Or j'ai aussi un Service mail déployer de la même façon qui lui s'affiche parfaitement dans le navigateur...

    Si quelqu'un aurait un début de piste car je sèche, j'ai googliser toutes mes erreurs mais pour l'instant je n'est rien trouvé de satisfaisant..

    Cordialement MoZo

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Tu as bien ton clientaccesspolicy.xml ? Ikoula accepte les web services WCF ? En 3.5 ?

  3. #3
    Membre éclairé Avatar de Mozofeuk
    Inscrit en
    Novembre 2007
    Messages
    326
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 326
    Par défaut
    Merci de ta réponse, j'ai bien mon clientaccesspolicy.xml qui ressemble a ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0" encoding="utf-8"?>
    <access-policy>
      <cross-domain-access>
        <policy>
          <allow-from http-request-headers="*">
            <domain uri="*"/>
          </allow-from>
          <grant-to>
            <resource path="/" include-subpaths="true"/>
          </grant-to>
        </policy>
      </cross-domain-access>
    </access-policy>
    Je suis en relation par mail avec le service technique d'ikoula pour vérifier la compatibilité mais les réponses sont assez longue...

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Si t'es en SL 3, utilise ca:

    http://blogs.msdn.com/carlosfigueira...erlight-3.aspx

    Ca te permettra d'avoir une erreur plus "parlante"

  5. #5
    Membre éclairé Avatar de Mozofeuk
    Inscrit en
    Novembre 2007
    Messages
    326
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 326
    Par défaut
    Merci Thomas,


    J'ai utilisé cette methode la mais elle ne passe jamais dans mon else if

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    void proxy_CalculateCompleted(object sender, CalculateCompletedEventArgs e)
    {
        if (e.Error == null)
        {
            // In case of success
        }
        else if (e.Error is FaultException<ExceptionDetail>)
        {
    //ne passe jamais ici car l'erreur 
            FaultException<ExceptionDetail> fault = e.Error as FaultException<ExceptionDetail>;
     
             // fault.Detail.Type contains the server exception type.
             // fault.Detail.Message contains the server exception message.
             // fault.Detail.StackTrace contains the server stack trace.
     
        }
    }
    L'erreur retourné n'est pas de type FaultException<ExceptionDetail> donc cela ne m'apporte rien de plus. C'est vraiment frustrant d'autant plus que j'avais sans problème réussi a le mettre sur un serveur local et la chez ikoula avec IIS je n'y arrive pas. Et vu que le service technique mais une journée a répondre au mail...



    edit : j'ai bien mis le "<serviceDebug includeExceptionDetailInFaults="true"/>" a true.

  6. #6
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Ben oui mais c'est pas ce que je t'ai demandé de faire. Moi, je veux que tu rajoutes cette ligne de code dans l'event Loaded de ta page:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bool registerResult = WebRequest.RegisterPrefix("http://", WebRequestCreator.ClientHttp);

  7. #7
    Membre éclairé Avatar de Mozofeuk
    Inscrit en
    Novembre 2007
    Messages
    326
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 326
    Par défaut
    Arrf dsl,

    Mon booléen est a true !!

  8. #8
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Et au niveau du message d'erreur, tu as le même message ou tu as un truc plus complet ?

  9. #9
    Membre éclairé Avatar de Mozofeuk
    Inscrit en
    Novembre 2007
    Messages
    326
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 326
    Par défaut
    WoaW, Sa me change carrément mon InnerException !!!


    Par contre cela ne me dit pas grand chose de plus :

    Le service demandé "http://www.nomdedomaine.fr/service1.svc" n'a pas pu etre activé. Pour plus d'informations, voir les journaux de trace de diagnostic du serveur

    Reste plus qu'a regardé ça...

    Merci a toi, Cordialement MoZo

    Edit : Sa ressemble un peu a rien par contre les fichier de log...

  10. #10
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Regarde dans l'event viewer

  11. #11
    Membre éclairé Avatar de Mozofeuk
    Inscrit en
    Novembre 2007
    Messages
    326
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 326
    Par défaut
    Bon je progresse j'arrive à accéder a mon service via le navigateur pour cela j'ai ajouter un BuildProvider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     <buildProviders>
                    <add extension=".svc" type="System.ServiceModel.Activation.ServiceBuildProvider, 
             System.ServiceModel, Version=3.0.0.0, Culture=neutral,
             PublicKeyToken=b77a5c561934e089"/>
     
    </buildProviders>
    Puis il semble qu'il y avait un problème avec hébergement ikoula et le service a cause de multiple binding :

    http://www.paperblog.fr/1836203/wcf-...e-schema-http/

    J'ai donc rajouté cela a mon web.config :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <serviceHostingEnvironment>
      <baseAddressPrefixFilters>
        <add prefix="http://www.mydomain.com"/>
      </baseAddressPrefixFilters>
    </serviceHostingEnvironment>
    ce qui fait que j'ai accès a mon service via le navigateur uniquement via "http://www.mydomain.com" mais pas par "http://mydomain.com".

    La communication avec mon service se fait car si je lui demande de me renvoyer un string en dure ("toto") je récupère bien le string reste maintenant les requête dans la base de données qui ne passe j'obtiens l'erreur suivantes :

    Le type de contenu text/html; charset=utf-8 du message de réponse ne correspond pas au type de contenu de la liaison (text/xml; charset=utf-8). Si vous utilisez un codeur personnalisé, vérifiez que la méthode IsContentTypeSupported est implémentée correctement. Les premiers 1024 octets de la réponse étaient : Impossible de charger le fichier ou l'assembly 'System.ServiceModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' ou une de ses dépendance est introuvable, le fichier spécifié est introuvable
    Sa ne serai pas ikoula qui n'aura pas activer le WCF sur leur serveur ?

  12. #12
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par Mozofeuk Voir le message
    Sa ne serai pas ikoula qui n'aura pas activer le WCF sur leur serveur ?
    A voir l'erreur comme quoi il ne peut pas charger System.ServiceModel, c'est effectivement une possibilité....

  13. #13
    Membre éclairé Avatar de Mozofeuk
    Inscrit en
    Novembre 2007
    Messages
    326
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 326
    Par défaut
    J'attend leur réponse je leur est envoyé tous ça.. Dénouement (je l'espère ) demain !!

  14. #14
    Membre éclairé Avatar de Mozofeuk
    Inscrit en
    Novembre 2007
    Messages
    326
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 326
    Par défaut
    Voila ce que me répond ikoula,

    Nous vous conseillons de revoir dans le détail vos différents fichiers de configurations, car votre erreur est en rapport avec votre champ .svc
    De plus, il semblerai que lors de la déclarations du champ .svc il faille déclarer 2 valeurs, ainsi celle-ci serai incomplète afin d'interpréter correctement cette extension.
    Bref...

    Une question l'assembly 'System.ServiceModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' est sensé se trouver où ?

    Edit : En y réfléchissant, comme mon service est capable de me retourner un string en dure, cela ne doit pas venir du fait que ikoula est activer ou non WCF


    J'ai ajouter les 2 handlers suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
         <handlers>
    <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    		</handlers>

    Ce qui fait que en local mon site ne marche plus (L'entrée '.svc' a déjà été ajoutée.) mais sur le serveur de chez ikoula j'obtien maintenant sa :
    Login failed. The login is from an untrusted domain and cannot be used with Windows authentication.
    Pourtant je suis en authentification mode None

    Je continu donc de chercher..

  15. #15
    Membre Expert
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Par défaut
    Dans le GAC.
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  16. #16
    Membre éclairé Avatar de Mozofeuk
    Inscrit en
    Novembre 2007
    Messages
    326
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 326
    Par défaut
    Merci de ton aide laedit, mais c'est quoi exactement le GAC ??

  17. #17
    Membre Expert
    Avatar de laedit
    Homme Profil pro
    Consultant études et développement
    Inscrit en
    Décembre 2006
    Messages
    1 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant études et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 344
    Par défaut
    Global Assembly Cache : http://fr.wikipedia.org/wiki/Global_Assembly_Cache

    C'est un dossier système où sont toutes les dll du framewoek dotnet.
    Blog - Articles - Framework

    MSDN vous aide, si si, alors n'hésitez pas à y faire un tour avant de poser une question.
    Ah, et n'oubliez pas, Google peut répondre à la majorité de vos questions.

  18. #18
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Sauf qu'avec son hebergement mutualisé il n'y a pas accès...

  19. #19
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 436
    Par défaut
    Pour le web service, un problème que j'ai rencontré dont personne ne parle dans les forums :

    par exemple clic droit reference service admetons que tu as :

    http://adresse_du_serveur:Numero_port/service.svc

    Remplace la valeur adresse_du_serveur par la valeur IP :

    si adresse_du_serveur = 85.128.73.99

    Mets :

    http://85.128.73.99:Numero_port/service.svc

    Et n'oublie pas de modifier le fichier ServiceReferences.ClientConfig dans le projet silverlight car il aura gardé l'adresse adresse_du_serveur et n'aura pas changer la valeur en 85.128.73.99.

    Tu dois donc avoir :

    http://85.128.73.99:8002/service.svc dans les propriétés de la réf service et le fichier de conf

    en admetant que tu utilises le port 8002.

    Mon hebergeur doit avoir une erreur de résolution de dns ou je ne sais pas. En tout cas, pour ma part aucun moyen de le faire fonctionner en dehors du serveur de production sans changer l'adresse en IP numérique.

    Peut être cela t'aidera t il peut être d'autre.

    Bonne journée

Discussions similaires

  1. [FLASH MX2004] [XMLSocket] Problème avec serveur socket php
    Par cocodunombril dans le forum Flash
    Réponses: 4
    Dernier message: 03/04/2009, 02h10
  2. [Ant] problème de serveur FTP
    Par Klom dans le forum ANT
    Réponses: 6
    Dernier message: 27/12/2005, 18h28
  3. problème de serveur MSDE
    Par rghouly dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 03/06/2005, 12h28
  4. problème démarrage serveur mysql
    Par vbcasimir dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 25/04/2005, 14h14
  5. problème de serveur
    Par fanai1 dans le forum CORBA
    Réponses: 3
    Dernier message: 16/06/2004, 12h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo