Je tente de chiffrer un certain nombre d'objets de classe tierce à l'aide de SHA1. Ces objets de classe sont consommés à partir de références de service et ne sont pas gérés par moi. Bien que je puisse voir et examiner le code dans la référence de service, je suis incapable d'apporter des modifications au code.Erreur DataContractSerializer lors de la sérialisation d'un objet pour le chiffrement SHA1
Une exigence est de calculer le hachage SHA1 sur ces objets de classe avant de les envoyer via SOAP. Pour ce faire, j'utilise actuellement les extensions d'objets trouvées au http://alexmg.com/compute-any-hash-for-any-object-in-c/.
Cependant, lorsque j'essaie de sérialiser l'une des classes en utilisant le DataContractSerializer
dans la méthode computerHash<T>
, l'erreur suivante s'affiche. Je peux, cependant, sérialiser cette même classe en utilisant le XmlSerializer
à un document XML sans aucun problème.
Le type '[espace de noms]. [Classe]. [Méthode]' avec le nom du contrat de données '[méthode]: http://schemas.datacontract.org/2004/07/[namespace].[class]' n'est pas prévu. Considérez un DataContractResolver ou ajoutez des types non connus de manière statique à la liste des types connus, par exemple, en utilisant l'attribut KnownTypeAttribute ou en les ajoutant à la liste des types connus transmis à DataContractSerializer.
Toutes les instructions pour que cela fonctionne seront grandement appréciées.