none
WCF : Remote server not found RRS feed

  • Discussion générale

  • Bonjour,

          Je developpe une appli silverlight qui accéde à un service web WCF pour poster quelques champs et une photo prise à partir du telephone.  L'ensemble fonctionne correctement 75% du temps. Le reste du temps, lorsque je tente d'envoyer les données, j'ai une exception : "The remote server returned an error : NotFound" (après environ 30s).

          Cette erreur se produit indépendamment des données soumises (champs et photo) : un nouveau clic sur le bouton "envoyer" aboutit soit à un succès soit à une erreur (indépendamment du résultat précédent). Je ne rencontre cette erreur qu'à partir du téléphone, jamais depuis l'émulateur.

          J'ai installé Fiddler sur mon serveur et aucune requête n'est reçue par le serveur lorsqu'une exception est générée par le client. Le réseau est pourtant suffisant (3 ou 4 barres en 3G).

         Savez-vous pourquoi le téléphone ne trouve pas le serveur ?

         Avez-vous une idée sur l'origine de mon problème ?

    Merci de votre aide...

    Stephane

     

     

    Voici le fichier web.config de mon service WCF :

     

    <system.web>
     <httpRuntime executionTimeout="600" maxRequestLength="2097151"/>
    </system.web>
    ...
    <system.serviceModel> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> <services> <service behaviorConfiguration="ProximiteBehavior" name="iProximite.Proximite"> <endpoint address="Proximite" binding="customBinding" bindingConfiguration="ProximiteBinding" name="Proximite" contract="iProximite.IProximite" /> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> </service> </services> <bindings> <customBinding> <binding name="ProximiteBinding" closeTimeout="00:09:00" openTimeout="00:09:00" receiveTimeout="00:09:00" sendTimeout="00:09:00"> <binaryMessageEncoding maxReadPoolSize="2147483647" maxWritePoolSize="2147483647" maxSessionSize="2147483647"> <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" /> </binaryMessageEncoding> <httpTransport maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" /> </binding> </customBinding> </bindings> <behaviors> <serviceBehaviors> <behavior name="ProximiteBehavior"> <dataContractSerializer maxItemsInObjectGraph="2147483647" /> <serviceMetadata httpGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="false" /> </behavior> </serviceBehaviors> </behaviors> </system.serviceModel>

     

     


    Voici le fichier ServiceReferences.ClientConfig du client :

     

    <configuration>
     <system.serviceModel>
      <bindings>
       <customBinding>
        <binding name="Proximite">
         <binaryMessageEncoding />
         <httpTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" />
        </binding>
       </customBinding>
      </bindings>
      <client>
       <endpoint address="http://xxx.xxx.xxx.xxx/Prox/Proximite.svc/Proximite"
        binding="customBinding" bindingConfiguration="Proximite" contract="ProximiteSrv.IProximite"
        name="Proximite" />
      </client>
     </system.serviceModel>
    </configuration> <br/>
    

     


    Stephane
    mardi 2 août 2011 10:40

Toutes les réponses

  • La requête est elle envoyé au moins ?
    S'il vous plaît n'oublier pas de marquer la ou les réponses qui aident à résoudre votre problème. Pour que la discussion puisse être marquée comme résolue
    mardi 2 août 2011 13:34
    Modérateur
  • Je suppose que oui mais je ne sais pas comment vérifier que la requete part du téléphone (J'utilise les méthodes fournies par le proxy généré par VS2010).

    L'erreur se produit dans la fonction CallBack appelée en retour de l'appel asynchrone.

     


    Stephane
    mardi 2 août 2011 13:39
  • As-tu résolu ton problème ?

     

    En remplaçant la valeur de maxRequestLength

     

    <system.web>
    <httpRuntime executionTimeout="600" maxRequestLength="2097151"/>
    </system.web>

    par

    <system.web>
    <httpRuntime executionTimeout="600" maxRequestLength="2147483647"/>
    </system.web>

     

    ton erreur survient toujours de temps en temps ?

     

    vendredi 14 octobre 2011 11:19