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 :

Problème avec la publication de webservices WCF


Sujet :

Services Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Janvier 2009
    Messages : 59
    Par défaut Problème avec la publication de webservices WCF
    EDIT : Je viens de me rendre compte que j'aurais du posté dans une section plus appropriée. Si un modéateur passe par là il y a t'il possibilité de transférer dans la partie Service Web. (Désolé).

    Bonjour à tous,

    J'ouvre une nouvelle discussion car j'ai un problème concernant la publication de webservices WCF.

    Je m'explique j'ai créé une application (une sorte de chat) en .NET à l'aide de WCF Duplex Services.

    En local (sous Visual Studio) l'application et donc par conséquent les webservices marchent très bien. Seulement lorsque je souhaite héberger la partie serveur de l'application sous IIS j'ai un problème.

    Je peux accéder au .svc sans erreur seulement mon application ne marche plus. En regardant le wsdl généré de plus prés je me suis rendu compte qu'il faisait référence plusieurs fois à http://server-roycourt/...

    C'est de là que viens mon problème puisque l'application cliente ne peut pas résoudre ce nom de domaine : http://server-roycourt/.

    Je comprend pas comment résoudre ceci sachant que j'ai ajouté la référence au service avec l'ip.

    J'espère que vous pourrez répondre à mon problème et je vous en remercie par avance.

    Voici mon fichier de conf :

    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
    39
    40
    41
    42
    43
    <?xml version="1.0"?>
    <configuration>
    	<appSettings/>
    	<connectionStrings/>
    	<system.web>
    	<compilation debug="true" targetFramework="4.0">
    		</compilation>
    				<authentication mode="Windows"/>
     
    		<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/></system.web>
     
    	<system.serviceModel>
    		<bindings>
    			<wsDualHttpBinding>
    				<binding name="WSDualHttpBinding_IChatService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true">
    					<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
    					<reliableSession ordered="true" inactivityTimeout="00:10:00"/>
    					<security mode="Message">
    						<message clientCredentialType="Windows" negotiateServiceCredential="true" algorithmSuite="Default"/>
    					</security>
    				</binding>
    			</wsDualHttpBinding>
    		</bindings>
    		<services>
    			<service behaviorConfiguration="Services.ChatServiceBehavior" name="Services.ChatService">
    				<endpoint address="" binding="wsDualHttpBinding" bindingConfiguration="WSDualHttpBinding_IChatService" contract="Services.IChatService">
    					<identity>
    						<dns value="localhost"/>
    					</identity>
    				</endpoint>
    				<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
    			</service>
    		</services>
    		<behaviors>
    			<serviceBehaviors>
    				<behavior name="Services.ChatServiceBehavior">
    					<serviceMetadata httpGetEnabled="true"/>
    					<serviceDebug includeExceptionDetailInFaults="false"/>
    				</behavior>
    			</serviceBehaviors>
    		</behaviors>
    	</system.serviceModel>
    </configuration>

  2. #2
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Tu peux essayer quelquechose comme ca:
    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
    <services>
    	<service behaviorConfiguration="Services.ChatServiceBehavior" name="Services.ChatService">
    		<host>
    			<baseAddresses>
    				<add baseAddress="http://monip/"/>
    			</baseAddresses>
    		</host>
    		<endpoint address="" binding="wsDualHttpBinding" bindingConfiguration="WSDualHttpBinding_IChatService" contract="Services.IChatService">
    			<identity>
    				<dns value="localhost"/>
    			</identity>
    		</endpoint>
    		<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
    	</service>
    </services>

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Janvier 2009
    Messages : 59
    Par défaut
    Merci beaucoup pour ta réponse,

    Ca m'a effectivement bien supprimer le problème du nom de domaine server-roycourt. Maintenant j'ai une autre erreur, lors de l'appel à un de mes webservices, une exception est levée :

    Voici le message d'erreur :
    L'appellant n'a pas pu être authentifié par le service.
    Suite à cela j'ai enlevé toute la partie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    					<security mode="Message">
    						<message clientCredentialType="Windows" negotiateServiceCredential="true" algorithmSuite="Default"/>
    					</security>
    Mais sans succés...

    Désolé, mais je galère trop au niveau de la configuration xml. Si vous pouvez m'aider je dis pas non.


    Voici le fichier de configuration de l'application serveur :

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    <?xml version="1.0"?>
     
    <configuration>
    	<appSettings/>
    	<connectionStrings/>
    	<system.web>
     
    		<compilation debug="true" targetFramework="4.0" />
     
    		<customErrors mode="Off"/>
     
    		<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/></system.web>
     
    	<system.serviceModel>
    		<bindings>
    			<wsDualHttpBinding>
    				<binding name="WSDualHttpBinding_IChatService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="true" transactionFlow="true" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true">
    					<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
    					<reliableSession ordered="true" inactivityTimeout="00:10:00"/>
    				</binding>
    			</wsDualHttpBinding>
    		</bindings>
    		<services>
    			<service behaviorConfiguration="Services.ChatServiceBehavior" name="Services.ChatService">
     
            <host>
              <baseAddresses>
                <add baseAddress="http://78.249.186.32/"/>
              </baseAddresses>
            </host>
     
            <endpoint address="" binding="wsDualHttpBinding" bindingConfiguration="WSDualHttpBinding_IChatService" contract="Services.IChatService">
    					<identity>
    						<dns value="localhost"/>
    					</identity>
      				</endpoint>
    				<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
    			</service>
    		</services>
    		<behaviors>
    			<serviceBehaviors>
    				<behavior name="Services.ChatServiceBehavior">
    					<serviceMetadata httpGetEnabled="true"/>
    					<serviceDebug includeExceptionDetailInFaults="true"/>
    				</behavior>
    			</serviceBehaviors>
    		</behaviors>
     
     
        <serviceHostingEnvironment    multipleSiteBindingsEnabled="true" />
     
    	</system.serviceModel>
    </configuration>

    Voici le fichier de configuration de l'application cliente (app.config) :


    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
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <system.serviceModel>
            <bindings>
                <wsDualHttpBinding>
                    <binding name="WSDualHttpBinding_IChatService" closeTimeout="00:01:00"
                        openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
                        bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
                        maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                        messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true">
                        <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                            maxBytesPerRead="4096" maxNameTableCharCount="16384" />
                        <reliableSession ordered="true" inactivityTimeout="00:10:00" />
                        <security mode="Message">
                            <message clientCredentialType="Windows" negotiateServiceCredential="true"
                                algorithmSuite="Default" />
                        </security>
                    </binding>
                </wsDualHttpBinding>
            </bindings>
            <client>
                <endpoint address="http://78.249.186.32/ChatService.svc" binding="wsDualHttpBinding"
                    bindingConfiguration="WSDualHttpBinding_IChatService" contract="Chat.IChatService"
                    name="WSDualHttpBinding_IChatService">
                    <identity>
                        <dns value="localhost" />
                    </identity>
                </endpoint>
            </client>
        </system.serviceModel>
    </configuration>

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur Informatique
    Inscrit en
    Décembre 2005
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur Informatique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 146
    Par défaut
    Bonsoir,

    Si tu n'as pas besoin de gérer la sécurité car tout le monde peut accéder au web service je te conseille de gérer la sécurité de cette façon :

    pour la partie binding qui permet de définir la liaison avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <security mode="None"/>
    Après je n'ai pas mis en pratique les web service en mode duplex...
    Il y a peut-être d'autres aspects à prendre en compte que j'ignore.

Discussions similaires

  1. Problème avec mon webservice wcf
    Par teddyalbina dans le forum Windows Communication Foundation
    Réponses: 1
    Dernier message: 09/10/2008, 12h59
  2. Problème avec variable public
    Par Mchupakabra dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 20/04/2008, 21h40
  3. Problème avec Silverlight et les webservices
    Par Baathor dans le forum Silverlight
    Réponses: 8
    Dernier message: 23/01/2008, 23h20
  4. [3.0] [Service Wcf] problème avec le fichier .svc
    Par marc_dd dans le forum Windows Communication Foundation
    Réponses: 1
    Dernier message: 14/08/2007, 17h21

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