2009-03-11 7 views
2

Nous obtenons un comportement étrange à partir d'un service que nous avons déployé sur un système distant auquel nous accédons et publions des données.Exception de protocole WCF

La récupération des informations du service ne semble pas poser de problème. Cependant, chaque fois que nous essayons d'exécuter des méthodes d'insertion sur le service, nous obtenons un System.ServiceModel.ProtocolException. La chose étrange est, il va exécuter avec succès environ 40 enregistrements avant la faute.

Le client communique via SSL et TransportWithMessageSecurity est activé sur le wsHttpBinding.

Le message d'erreur est généré au "Mettre en place une activité de session sécurisée":

System.ServiceModel.ProtocolException, System.ServiceModel, Version = 3.0.0.0, Culture = neutral , PublicKeyToken = b77a5c561934e089

le type de contenu text/html du message de réponse ne correspond pas au type de contenu de la liaison (application/soap + xml; charset = UTF-8). Si vous utilisez un encodeur personnalisé, assurez-vous que la méthode IsContentTypeSupported est correctement implémentée.

Nous avons essayé un certain nombre de tests dont tous les défauts régulièrement dès que nous atteignons un nombre particulier d'inserts.

Toutes les suggestions seraient appréciées.

+1

Avez-vous jamais résoudre cela. J'ai le même problème. – capdragon

+0

J'ai aussi ce problème.Je peux appeler mon service des centaines de fois avec succès, puis j'obtiens soudainement ProtocolException. –

Répondre

1

Je me demande si le trace viewer pourrait apporter de la lumière ici? Je ne sais pas quel est le problème, j'ai peur ...

+0

Salut Marc, le spectateur de trace est ce qui m'a donné l'exception en premier lieu. Je peux recréer l'erreur et obtenir le même résultat, mais je ne sais pas ce qui le cause. – stephenl

+0

alors je suis perplexe; si cela n'a pas fonctionné à * tout *, il y a un certain nombre d'idées - mais s'arrêter après un court moment? Impair. –

+0

D'autres tests ont révélé qu'il peut y avoir un problème de configuration avec le certificat SSL sur l'hôte. Peut-être quelques jours avant que je sache plus mais posterai la solution si je découvre jamais quel était le problème. À votre santé. – stephenl

1

Si un code vous envoie du code HTML, alors vous devriez probablement le lire pour voir ce qu'il dit.

1

Vous avez probablement atteint la taille de message configurée et l'infrastructure WCF tronque le message SOAP, ce qui empêche le sérialiseur (Contract ou XML Serializer) de désérialiser le message.

Essayez d'augmenter la taille de la demande WCF voir < readerQuotas >

+0

Oui, mais il y avait ce message HTML ... –

1

ASP.NET pourrait ne pas être correctement configuré pour .NET 4.0 .NET 4.0 navigate où est installé et essayez d'exécuter la commande suivante pour réinstaller:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis.exe -iru 
+0

Merci! Cela a résolu mon problème. =) –

0

Cela pourrait aider quelqu'un. Mon problème était: J'ai un site web qui consomme un service WCF. Après le déploiement du site Web, j'ai oublié de déployer le service WCF également. Après le déploiement du service WCF, tout a bien fonctionné après le déploiement du service WCF.

0

J'ai rencontré le même problème. Enfin, j'ai obtenu une solution en ajoutant du code dans le fichier web.config.

j'ajouté ces sous la balise <basicHttpBinding>:

<binding name="xyz"> 
    <security mode= "Transport" /> 
</binding> 
+0

Salut, J'ai rencontré le même problème. Enfin, j'ai trouvé une solution en ajoutant des codes dans le fichier web.config. ajouté ces sous la balise Espérons que cela aidera – user6592853

Questions connexes