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

ASP.NET Discussion :

WCF: probleme avec https


Sujet :

ASP.NET

  1. #1
    Membre émérite

    Homme Profil pro
    Software Developer
    Inscrit en
    Mars 2008
    Messages
    1 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 470
    Points : 2 368
    Points
    2 368
    Par défaut WCF: probleme avec https
    Bonjour,

    Mon site web ASP.Net utilise AJAX pour récupérer des informations.
    Pour cela, j'utilise WCF (dans dossier ~/Services):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [ServiceContract(Namespace = "")]
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    public class WCF
    {
        [OperationContract]
        public string GetResults(string param)
        {
            return param;
        }
    }
    L'URL de mon WCF est "http://www.mon-site.com/Services/WCF.svc/GetResults"

    Mon code AJAX fonctionne parfaitement quand l'URL de ma page est "http://www.mon-site.com" (HTTP), mais quand celle-ci devient "https://www.mon-site.com" (HTTPS) j'ai l'erreur suivante:

    NetworkError: 405 Method Not Allowed - http://www.mon-site.com/Services/WCF.svc/GetResults
    Je n'ai rien trouvé sur le web disant qu'il y ait une configuration particuliere pour l'utilisation d'un service HTTP dans une page HTTPS.

    Une idée?

    Merci.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2010
    Messages : 16
    Points : 25
    Points
    25
    Par défaut
    Alors ta recherche n'a pas été fructueuse. Pour faire simple il faut que tu ais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
         <binding name="nomDeTonBinding">
           <security mode="Transport">
           </security>
         </binding>
    dans ta config.

    Plus d'infos ici par exemple : http://weblogs.asp.net/srkirkland/ar...for-https.aspx

    Si tu as besoin de plus d'informations, il faudra plus détailler ta conf de WCF.

  3. #3
    Membre émérite

    Homme Profil pro
    Software Developer
    Inscrit en
    Mars 2008
    Messages
    1 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 470
    Points : 2 368
    Points
    2 368
    Par défaut
    Citation Envoyé par smeilhac Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
         <binding name="nomDeTonBinding">
           <security mode="Transport">
           </security>
         </binding>
    dans ta config.

    Plus d'infos ici par exemple : http://weblogs.asp.net/srkirkland/ar...for-https.aspx
    Merci beaucoup smeilhac

    Ma 1ere erreur venait du fait que je pensais que le binding utilisait par défaut la 1ere valeur, en fait non, il faut le spécifier dans notre <endpoint>.
    Apres avoir résolu ce probleme, mes requetes ne fonctionnaient que sur HTTPS (mais je dois utiliser les 2).
    Pour ce faire il faut dupliquer <endpoint> et <binding>.
    Ci-dessous a quoi votre web.config doit ressembler:

    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
    <services>
          <service name="Service">
              <endpoint address="" behaviorConfiguration="ServiceAspNetAjaxBehavior" binding="webHttpBinding" contract="Service" bindingConfiguration="webBindingHttp" />
              <endpoint address="" behaviorConfiguration="ServiceAspNetAjaxBehavior" binding="webHttpBinding" contract="Service" bindingConfiguration="webBindingHttps" />
          </service>
          <service name="myWCF">
              <endpoint address="" behaviorConfiguration="mywcfServiceAspNetAjaxBehavior" binding="webHttpBinding" contract="myWCF" bindingConfiguration="webBindingHttp" />
              <endpoint address="" behaviorConfiguration="mywcfServiceAspNetAjaxBehavior" binding="webHttpBinding" contract="myWCF" bindingConfiguration="webBindingHttps" />
          </service>
        </services>
          <bindings>
              <webHttpBinding>
                  <!--Enable AJAX with HTTPS-->
                  <binding name="webBindingHttps">
                      <security mode="Transport">
                      </security>
                  </binding>
                  <!--HTTP-->
                  <binding name="webBindingHttp">
                      <security mode="None">
                      </security>
                  </binding>
              </webHttpBinding>
          </bindings>
    Voila, j'espere que ca aidera d'autres personnes.
    Maintenant le code AJAX fonctionne sur la meme page que l'URL soit HTTP ou HTTPS.

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

Discussions similaires

  1. probleme avec service wcf
    Par tchitchimon dans le forum Silverlight
    Réponses: 4
    Dernier message: 18/07/2008, 16h21
  2. [HTML] probleme avec <meta http-equiv="Content-Style-Type" content="text/css"> ?
    Par lysandre dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 16/01/2008, 16h42
  3. bot HTTP probleme avec les POST
    Par djo0012 dans le forum C++
    Réponses: 3
    Dernier message: 21/07/2006, 05h40

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