2009-02-18 7 views
3

J'ai un proxy client WCF connecté à un service Web tiers. Le proxy fonctionne correctement avec presque tout sauf sur la fonction.Traitement du proxy WCF Proxy null Retour

Cette fonction fonctionne très bien avec un proxy ASMX.

J'ai ajouté la journalisation de trace de service et peut voir la réponse du service revenir. Seul le proxy renvoie null. Donc maintenant je sais avec certitude que le proxy est en faute.

D'où venez-vous?

RÉSOLUTION J'ai trouvé le problème. WCF est moins indulgent qu'un proxy ASMX. Le WSDL de service spécifie que l'objet retourné a été appelé "données", et le xml réel passé a été appelé "résultat"

Alors c'était une grande chasse à l'oie! Je pense que j'ai perdu 4 heures sur ce problème!

+0

Besoin de plus de détails - quel est le problème? Est-ce que le bit ASMX est pertinent ou simplement narratif? – Brian

+0

Probablement pas très pertinent. Pourrait l'éditer. Fondamentalement, cela fonctionne pour l'ASMX - pourquoi pas le proxy WCF? –

Répondre

7

Vous pouvez essayer d'utiliser Trace Viewer pour analyser les communications WCF plus en détail et découvrir plus de détails lorsque des erreurs sont rencontrées.

Dans les applications app.config (client) et web.config (serveur), vous pouvez ajouter des blocs. Pour activer le traçage, il suffit d'ajouter des blocs de dignostics et des fichiers de trace seront générés à l'emplacement spécifié lors de l'exécution de l'application. Cela devrait vous permettre de creuser un peu plus profond avec le problème.

spectateur Trace se trouve:

("C: \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ bin \ SvcTraceViewer.exe")

Information sur l'utilisation de visionneuse de trace:

http://msdn.microsoft.com/en-us/library/aa751795.aspx

En outre, de quel type de méthode s'agit-il? retourne-t-il des types complexes ou des types simples?

AJOUTÉ: Ah, désolé pour les erreurs de lecture, je n'ai pas réalisé que vous n'aviez aucun contrôle sur le côté serveur. J'essayerais de mettre à jour la référence de service/proxy (vous avez probablement déjà fait cela) et vérifier si quelque chose a changé.

WCF ne facilite pas la traçabilité des problèmes J'ai peur. Est-il possible de fournir les signatures de méthode pour un appel qui fonctionne et une autre qui ne fonctionne pas pour que nous puissions voir quels types de données sont transmis?

+0

Merci pour l'astuce avec le journal de suivi svc. Rend beaucoup plus facile de déboguer les services Web lorsque vous pouvez voir le XML brut –