2010-07-22 3 views
5

Nous avons un service Web appelé lorsque l'utilisateur clique sur le bouton Enregistrer sur le formulaire Web. Le service Web "Enregistrer" appelle ensuite un autre service Web (machine différente). L'appel échoue toujours et pour autant que je peux dire ne tente même pas de traverser le réseau parce que le trafic Fiddler est vide. Ce problème se produit uniquement lorsque nous appelons le deuxième service Web à partir du premier service Web. Si nous appelons le deuxième service Web directement à partir du client ou au chargement de la page, cela fonctionne. Nous utilisons WebHTTPBinding avec des services de type REST.Le service WCF appelant un autre service WCF échoue avec l'erreur Web 400 Demande incorrecte

J'ai utilisé la trace WCF pour trouver l'erreur 'Envelope Version' EnvelopeNone (http://schemas.microsoft.com/ws/2005/05/envelope/none) 'ne supporte pas l'ajout d'en-têtes de message.', Mais je ne sais pas comment le résoudre.

Des suggestions?

+0

Est-ce vous avez déjà trouvé une solution à cela? Je viens de courir dedans et j'ai réussi à corriger en changeant l'attribut WebGet sur le service. À quoi ressemble votre signature de service, y compris les attributs? –

Répondre

1

solutions possibles:

  1. Vérifiez directive @ServiceHost (. Dans fichier svc) est réglé sur "WebServiceHostFactory" source
  2. élément WebHttpBeahvior est ajouté dans le comportement de point de terminaison source
  3. mettre de l'ordre informations dans le schéma XML Classe source
  4. Vérifiez que votre Data Transfe objets r sont serrializable source
  5. Vérifiez si Skype installé et assurez-vous qu'il ne dépasser pas le port source
  6. Supprimer tête de message SOAP (il n'est pas pris en charge pour REST WCF) source
Questions connexes