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

Services Web Discussion :

[DEBUTANT]WCF avec IIS problème de port


Sujet :

Services Web

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 12
    Points : 8
    Points
    8
    Par défaut [DEBUTANT]WCF avec IIS problème de port
    Bonjour à vous,

    j'ai un serveur WCF et un client, j'ai déposé depuis hier la partie serveur sur un de nos serveurs avec IIS.

    A présent depuis mon client, je contact parfaitement le serveur en utilisant l'adresse IP privé du serveur.
    Cependant lorsque j'utilise l'adresse IP publique, j'obtiens un erreur. HTTP 400 BAD REQUEST. Via le navigateur et en utilisant toujours l'adresse publique je contact parfaitement mon service, sauf que le lien qui est donné pour avoir le WSDL est erroné.

    En effet il est écrit : http://**.**.**.**/service1?singlewsdl alors que la bonne url (qui fonctionne quand je la rentre manuellement) est : http://**.**.**.**:55555/service1?singlewsdl (voir image en bas de page

    Car j'utilise un port spécifique sur mon serveur.

    EDIT : il s'agit d'un port me permettant de me connecter au serveur depuis internet.

    J'aimerais donc savoir comment définir le port pour contacté le WSDL.

    D'avance merci.

    Ci-dessous : mon service web via un accès par navigateur :



    Pour information, voici mon webconfig :

    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
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
     
      <appSettings>
        <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
      </appSettings>
      <system.web>
        <compilation debug="true" targetFramework="4.5" />
        <httpRuntime targetFramework="4.5"/>
      </system.web>
      <system.serviceModel>
        <behaviors>
          <serviceBehaviors>
            <behavior>
              <!-- Pour éviter la divulgation d'informations de métadonnées, définissez les valeurs ci-dessous sur false avant le déploiement -->
              <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
              <!-- Pour recevoir les détails de l'exception dans les erreurs à des fins de débogage, définissez la valeur ci-dessous sur true. Pour éviter la divulgation d'informations d'exception, définissez-la sur false avant le déploiement -->
              <serviceDebug includeExceptionDetailInFaults="false"/>
            </behavior>
          </serviceBehaviors>
        </behaviors>
        <protocolMapping>
            <add binding="basicHttpsBinding" scheme="https" />
        </protocolMapping>    
        <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
      </system.serviceModel>
      <system.webServer>
        <modules runAllManagedModulesForAllRequests="true"/>
        <!--
            Pour parcourir le répertoire racine de l'application Web lors du débogage, définissez la valeur ci-dessous sur true.
            Définissez-la sur false avant le déploiement pour ne pas divulguer d'informations du dossier de l'application Web.
          -->
        <directoryBrowse enabled="true"/>
      </system.webServer>
     
    </configuration>

  2. #2
    Membre éprouvé
    Avatar de dkmix
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : Jamaïque

    Informations forums :
    Inscription : Septembre 2007
    Messages : 619
    Points : 924
    Points
    924
    Par défaut
    Bonjour,
    Avez-vous vu ce post ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    merci d'avoir répondu, mais je crains que ce ne soit pas la réponse à mon problème.

    Enfait, pour accéder à mon serveur depuis internet, je dois rentrer son ip et un port spécifique (ex : 80.80.80.80:5555) Pour que le pare-feu de l'entreprise redirige les requêtes vers mon serveur.

    depuis un navigateur, j'arrive bien sur mon webservice via 80.80.80.80:5555/serveur/service1.svc

    Mais quand je rentre cette référence dans mon client il ne retrouve pas mon serveur. Cependant, il retrouve bien les services quand je rentre comme référence :
    80.80.80.80:5555/serveur/service1.svc?singlewdl
    Mais ensuite je ne peux appeler mon service dans le code.

    Je pensais que cela venait du port du wsdl, car via le navigateur, le lien proposé ne contient pas le port '55555' et de ce fait on ne peux pas y accéder. Mais en y ajoutant le port manuelle cela fonctionne.

    Je pense qu'il faut forcer l'utilisation du port '55555' sur le serveur mais je m'y perds

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 742
    Points
    9 742
    Billets dans le blog
    3
    Par défaut
    Etant donné que tu utilises le binding basicHttpsBinding, tu forces l'utilisation d'HTTPS. Or tout ce qui passe par HTTPS est routé par le port 443, et non le port 5555.

    Donc soit tu exposes ton Web Service sur le port 443, soit tu mets en place un "proxy" qui va récupérer la requête HTTPS (443) puis la rediriger vers ton service sur le port 5555.

  5. #5
    Futur Membre du Club
    Inscrit en
    Octobre 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    C'est parfait merci pour ces explications,

    Cela fonctionne à présent, bonne journée à vous

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

Discussions similaires

  1. [EasyPHP] Conflit de port avec IIS
    Par Erwan31 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 9
    Dernier message: 21/11/2009, 13h52
  2. [TPTP] problème de port avec AgentController
    Par GLDavid dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 05/11/2007, 14h15
  3. PRoblème avec IIS XP Pro sp2
    Par cokocco dans le forum IIS
    Réponses: 3
    Dernier message: 18/03/2007, 15h54
  4. Réponses: 7
    Dernier message: 09/06/2006, 10h38
  5. Problèmes avec IIS
    Par Bradarys dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 17/05/2006, 14h06

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