2010-08-16 5 views
0

J'utilise WCF pour appeler une méthode sur un service Web Java (en utilisant basicHttp avec <security mode="Transport">). Le service renvoie un peu de HTML au lieu d'un SOAPFault. WCF semble implémenter une troncation bizarre du contenu renvoyé dans l'exception, donc je ne peux pas voir l'erreur entière.WCF-Capture de la réponse HTTP complète

Existe-t-il un moyen d'obtenir l'intégralité de la réponse? Peut-être une configuration que je peux changer pour retirer plus de 660 octets? J'ai essayé d'activer le suivi des services, mais cela ne semble pas capturer toute la réponse. Je ne peux pas utiliser Fiddler ou Charles, car le service utilise le protocole SSL bidirectionnel et se trouve sur un réseau sécurisé. Voici l'exception:

The content type text/html of the response message does not match the content type of the binding (text/xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 660 bytes of the response were: '<html><head><title>Server - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </he

Répondre

0

Il semble qu'une exception a eu lieu sur le côté serveur. Lorsqu'une exception se produit avec httpBinding, l'état HTTP devient 404 - NotFound.

Il est peut-être en raison de:

  1. signature incorrecte d'appeler la méthode et la méthode réelle ou ordre des paramètres

  2. Le non-sérialisation ou désérialiser le résultat

  3. Certains échec avec configuration SSL/clés
  4. Exception interne dans WCF

Afin d'éliminer tout ce qui précède essayez de vous connecter en utilisant le client .NET sans SSL. Ensuite, ajoutez un niveau de complexité à chaque fois.

Hope this aidé

0

Avez-vous défini IncludeExceptionDetailInFaults = True dans ServiceDebugBehavior? Cela pourrait aider.

+0

Je n'héberge pas de service WCF ... le simple fait d'utiliser WCF permet au client de se connecter à un service Java. – Langdon

+0

Je vois. Mais pourquoi ne pas simplement essayer de résoudre le problème en utilisant la bonne liaison, comme le suggère l'exception, au lieu d'essayer d'obtenir le reste de la réponse? – Peladao

+0

Juste parce qu'avant de savoir comment régler la liaison correcte, vous devez savoir quelle erreur vous avez faite dans la configuration actuelle. Une telle information peut être dans cette resposne. –

0

Vous pouvez essayer de capturer une requête SOAP sortante et d'envoyer cette requête via la classe HttpWebRequest. Cela devrait vous permettre de capturer toute la réponse.