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

Windows Communication Foundation .NET Discussion :

The message with Action '' cannot be processed at the receiver


Sujet :

Windows Communication Foundation .NET

  1. #1
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut The message with Action '' cannot be processed at the receiver
    Bonjour tout le monde

    J'ai créé un service WCF que je souhaite exposer dans IIS.
    Pour ça, j'ai créé un fichier Service.svc qui contient juste le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ ServiceHost Language="C#" Debug="true" Service="BlotterLight.Service.BlotterService" %>
    BlotterLight.Service.BlotterService correspond à mon service WCF.

    Je créé mon répertoire virtuel & co et quand j'appelle la page http://localhost/blotterlightwebservice/service.svc tout fonctionne nickel.
    J'obtiens bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    You have created a service. 
    To test this service, you will need to create a client and use it  to call the service. You can do this using the svcutil.exe tool from the command  line with the following syntax:
     
    svcutil.exe <a href="http://mwc45018.cib.net/BlotterLightwebService/Service.svc?wsdl" target="_blank">http://mwc45018.cib.net/BlotterLight...rvice.svc?wsdl</a>
    Ensuite, j'ai créé un répertoire virtuel sur mon serveur de recette, publié mon truc et quand j'appelle ma page, j'obtiens:
    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
    18
    19
    20
    21
    22
    23
    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
       - <s:Body>
       - <s:Fault>
         <faultcode  xmlns:a="http://schemas.microsoft.com/ws/2005/05/addressing/none">a:ActionNotSupported</faultcode> 
    
        <faultstring  xml:lang="en-US">The message with Action  '' cannot 
    be processed at the receiver, due to a ContractFilter 
    mismatch at the  EndpointDispatcher. 
    This may be because of either a contract mismatch  
    (mismatched Actions between sender and receiver)
     or a binding/security mismatch  between the sender and 
    the receiver. Check that sender and receiver
     have the  same contract and the same binding 
    (including security requirements, e.g.  
    Message, Transport, None).</faultstring> 
    
       </s:Fault>
    
    
       </s:Body>
    
    
       </s:Envelope>
    J'ai commencé à écumer le web mais rien de concret pour le moment.

    Des idées?

  2. #2
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 12
    Points : 18
    Points
    18
    Par défaut
    T'as bien le meme binding entre host et client?
    Link tes fichiers app.config pour vérifier.

  3. #3
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Citation Envoyé par barbar Voir le message
    T'as bien le meme binding entre host et client?
    Link tes fichiers app.config pour vérifier.
    Mon client c'est juste IE pour le moment. Je veux voir si mon service fonctionne correctement.

    Qu'est-ce que tu entends par link tes fichiers app.config?

  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 12
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par lutecefalco Voir le message
    Mon client c'est juste IE pour le moment. Je veux voir si mon service fonctionne correctement.

    Qu'est-ce que tu entends par link tes fichiers app.config?

    Web.config pardon.

    Sinon moi j'avais créé un simple service que j'ai host sur notre serveur.
    javais un ficheir .svc et un fichier web.config avec un simple endpoint en basichttp ainsi que qu'un dossier bin avec mes .dll

  5. #5
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    J'ai ça dans mon web.config.
    Si tu vois quelquechose qui te choques

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <system.serviceModel>
            <behaviors>
                <serviceBehaviors>
                    <behavior name="BlotterLightWebService.ServiceBehavior">
                        <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
                        <serviceMetadata httpGetEnabled="true"  />
                        <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
                        <serviceDebug includeExceptionDetailInFaults="true" />
                    </behavior>
                </serviceBehaviors>
            </behaviors>
            <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
          <bindings>
            <basicHttpBinding>
              <binding name="config1">
                <security mode="None"></security>
              </binding>
            </basicHttpBinding>
          </bindings>
            <services>
                <service behaviorConfiguration="BlotterLightWebService.ServiceBehavior"
                    name="BlotterLight.Service.BlotterService">
                    <!-- On utilise basicHttpBinding pour pouvoir appelé le web service depuis du 1.1 -->
                    <endpoint address="http://localhost/blotterlightwebservice/service.svc" binding="basicHttpBinding" bindingConfiguration="config1" 
                              contract="BlotterLight.ServiceInterface.IBlotterService">
                        <identity>
                            <dns value="localhost" />
                        </identity>
                    </endpoint>
                    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
                    <host>
                      <baseAddresses>
                        <add baseAddress="http://localhost/blotterlightwebservice/"/>
                      </baseAddresses>    
                    </host>
                </service>
            </services>
        </system.serviceModel>

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 12
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par lutecefalco Voir le message
    J'ai ça dans mon web.config.
    Si tu vois quelquechose qui te choques

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <system.serviceModel>
            <behaviors>
                <serviceBehaviors>
                    <behavior name="BlotterLightWebService.ServiceBehavior">
                        <!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
                        <serviceMetadata httpGetEnabled="true"  />
                        <!-- To receive exception details in faults for debugging purposes, set the value below to true.  Set to false before deployment to avoid disclosing exception information -->
                        <serviceDebug includeExceptionDetailInFaults="true" />
                    </behavior>
                </serviceBehaviors>
            </behaviors>
            <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />
          <bindings>
            <basicHttpBinding>
              <binding name="config1">
                <security mode="None"></security>
              </binding>
            </basicHttpBinding>
          </bindings>
            <services>
                <service behaviorConfiguration="BlotterLightWebService.ServiceBehavior"
                    name="BlotterLight.Service.BlotterService">
                    <!-- On utilise basicHttpBinding pour pouvoir appelé le web service depuis du 1.1 -->
                    <endpoint address="http://localhost/blotterlightwebservice/service.svc" binding="basicHttpBinding" bindingConfiguration="config1" 
                              contract="BlotterLight.ServiceInterface.IBlotterService">
                        <identity>
                            <dns value="localhost" />
                        </identity>
                    </endpoint>
                    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
                    <host>
                      <baseAddresses>
                        <add baseAddress="http://localhost/blotterlightwebservice/"/>
                      </baseAddresses>    
                    </host>
                </service>
            </services>
        </system.serviceModel>

    Essaye en enlevant l' "address" dans ton endpoint.

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 12
    Points : 18
    Points
    18

  8. #8
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Des nouvelles du front:
    J'ai fait comme tu m'as dis et j'ai enlevé l'attribut address de mon endpoint.
    Suite à cela, je peux visualiser correctement mon service dans IE.

    Pour tester le fonctionnement, j'ai décidé d'utiliser le service à partir du site web de dev en local.
    Et là j'obtiens: The request failed with HTTP status 404: Not Found au moment de l'appel d'une fonction de mon service.Je suis passé en mode debug et l'url utilisée pour appeler le service est correcte.
    Je vois vraiment pas là.

    Une autre idée géniale?

  9. #9
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Bon, dans ma solution, j'ai viré ma web reference au service et je l'ai recréé en pointant sur la version en recette.
    Visual Studio enregistre l'adresse suivante comme url:
    http://serveur/WsBlotterLight/Service.svc/service.svc

    service.svc est doublé

    Et quand je rentre cette url dans IE, je me retrouve avec le message d'erreur que j'avais au totu début

  10. #10
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Ok, boulette !!!

    J'avais mis
    <endpoint address="service.svc" binding="basicHttpBinding" bindingConfiguration="config1" contract="BlotterLight.ServiceInterface.IBlotterService">
    </endpoint>

    Maintenant, avec
    <endpoint binding="basicHttpBinding" bindingConfiguration="config1" contract="BlotterLight.ServiceInterface.IBlotterService">
    </endpoint>

    Ca a l'air de mieux fonctionner.
    Je fais des tests plus poussés avant de passer en Résolu.

    Par contre, t'as une explication au fait de devoir supprimer l'attribut address de mon endpoint pour que cela fonctionne sur mon serveur de recette?

  11. #11
    Membre à l'essai
    Inscrit en
    Juin 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 12
    Points : 18
    Points
    18
    Par défaut
    Je pense que c'est parce qu'IIS génere lui meme sa propre adresse pour host ton service donc pas besoin de lui en spécifier une ou un truc dans se style

  12. #12
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Citation Envoyé par barbar Voir le message
    Je pense que c'est parce qu'IIS génere lui meme sa propre adresse pour host ton service donc pas besoin de lui en spécifier une ou un truc dans se style
    D'où la différence de comportement en local avec IIS 5 par rapport à IIS 6 sur le serveur?

  13. #13
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Bon, après quelques tests, tout semble ok.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Message d'erreur: cannot open the connection
    Par Jack_dev dans le forum R
    Réponses: 5
    Dernier message: 30/10/2014, 16h07
  2. could not locate the message resource with key
    Par st4nisl4s dans le forum Struts 1
    Réponses: 0
    Dernier message: 02/03/2012, 08h10
  3. Message d'erreur: Cannot find file ID 2
    Par glanumf dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 25/05/2007, 16h08
  4. Your wxWidgets installation cannot support pgAdmin in the selected conf
    Par kurtalis dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 22/06/2006, 15h50
  5. Réponses: 4
    Dernier message: 28/12/2005, 23h45

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