Le WCF de Microsoft est facile à utiliser lorsque vous créez des services Web où chaque message possède sa propre méthode Web. WCF génère tout le WSDL et tout est facile. Ce que je veux faire est d'avoir une méthode Web qui accepte plusieurs messages différents (je ne veux pas ajouter une méthode de mew chaque fois que j'ajoute un nouveau type de message). Les messages eux-mêmes auront des informations d'en-tête qui identifieront le type de message. Une fois que je connaîtrai le type de message, je connaîtrai la structure du reste du message. La seule façon que j'ai trouvé pour faire cela avec WCF est de faire accepter une chaîne par la méthode, que j'analyse en XML et que j'utilise. Cependant, je ne vois pas de moyen clair de publier les différents types de messages dans le WSDL; Ainsi, l'ensemble du service est essentiellement sans papiers. Quelqu'un sait-il une technique à utiliser dans WCF?Méthode Web WCF acceptant différents types de message
1
A
Répondre
2
Vous pouvez écrire un contrat d'exploitation qui accepte tout message en sélectionnant l'action * et ayant-il dans un objet Message:
[ServiceContract]
public interface IMessageContract
{
[OperationContract(Action = "*", ReplyAction = "*")]
Message ProcessRequest(Message request);
}
L'objet du message vous donne accès aux en-têtes et a des méthodes pour deserialize le corps.
Pour exporter votre propre WSDL, vous devez implémenter IWsdlExportExtension sur un comportement de contrat ou un comportement d'opération et l'attacher à votre service. Cela vous donnera accès à un WsdlExporter, et vous pouvez créer vous-même une ContractDescription et appeler ExportContract pour qu'il apparaisse dans le WSDL généré.
Questions connexes
- 1. Méthode héritée avec différents types
- 2. scala façon de définir des fonctions acceptant une liste de différents types numériques
- 3. PHP - retourner différents types de valeurs de la même méthode
- 4. Différents types d'ID lors de l'exposition de DTO sur WCF
- 5. Web Method acceptant une énorme chaîne xml
- 6. Types de retour WCF
- 7. Méthode Objective-c de sérialisation de tableaux contenant différents types
- 8. Types de retour WCF
- 9. Fonctions acceptant les types de tableaux C/C++
- 10. C# Génériques - Accepter différents types
- 11. Différents types de liste chaînée
- 12. WCF Message inconnu Message reçu
- 13. WCF Message Logging
- 14. Liste générique des différents types de C#
- 15. différents types de stockage du navigateur
- 16. Où puis-je trouver une brève description des différents types de services Web?
- 17. Gérer élégamment différents types de paramètres
- 18. Itérer avec différents types d'intégrale
- 19. Introduction aux différents types d'attaque
- 20. différents types d'exceptions dans .net
- 21. Différents types de types CATransition disponibles dans l'iPhone sdk
- 22. xsd même élément, différents types?
- 23. Multiplication générique des différents types
- 24. prédicat stl avec différents types
- 25. Comment gérer différents types d'utilisateurs?
- 26. Types WCF et anonymes
- 27. Gestion de différents types de données
- 28. Gestion de différents types de redirection d'URL
- 29. Deux types d'itinéraires différents génériques
- 30. Application de XSLT au message WCF