J'ai un proxy client WCF qui lit à partir d'un service Web SOAP. Je ne contrôle pas le service, seulement le proxy client. Le résultat de l'appel de l'une des opérations du service est défini comme un très grand schéma XML, dont seul un petit sous-ensemble est pertinent dans mon application.Empêche la désérialisation du client WCF
J'ai créé un comportement WCF personnalisé qui me permet d'analyser la réponse XML brute et de ne lire que les parties pertinentes. Cependant, le proxy désérialise toujours la réponse dans un graphe d'objet (ce qui est assez complexe à cause du schéma XML). En ce qui concerne ma candidature, cette dernière étape est superflue.
Est-il possible d'empêcher mon proxy client WCF d'effectuer la dernière étape de désérialisation de la réponse? Où voulez-vous exactement traiter les parties du message que vous voulez?
Un proxy client personnalisé semble être une bonne idée. Avez-vous des pointeurs pour savoir par où commencer, si je devais créer mon propre proxy? –
Ce n'est vraiment pas dur. Définissez fondamentalement votre interface de contrat comme vous le feriez pour un service (assurez-vous simplement que tous les noms/espaces de noms correspondent) et ajoutez les méthodes. Créez ensuite une classe dérivant de ClientBase (le code pour tout généré par svcutil vous donnera un indice, c'est très simple). La réponse de Dmitry sur la façon d'utiliser la classe Message est bonne, mais j'ajouterai que vous n'avez pas besoin de l'utiliser pour l'entrée et la sortie ... vous pouvez toujours utiliser DataContracts pour le message de requête, si vous aimez . –
tomasr
Ce sont des conseils utiles qui me permettront de démarrer. Merci beaucoup! –