2010-04-30 9 views
1

Notre application a donc besoin de la prise en charge de l'appel dynamique de services Web inconnus au moment de la compilation. L'utilisateur doit donc être en mesure de spécifier une URL à un WSDL et spécifier certaines liaisons de données pour les paramètres de demande et de réponse. Lorsque vous recherchez des réponses, il semble que la manière de procéder consiste à compiler une classe de proxy de service Web au moment de l'exécution, à la charger et à invoquer les méthodes utilisant la réflexion.Appelez dynamiquement le service Web au moment de l'exécution

Je pense que cela semble être une approche plutôt maladroite, étant donné que je n'ai pas vraiment besoin d'un ensemble de classes fortement typé quand je vais lancer mes données dynamiquement de toute façon. Compiler dynamiquement du code pour faire quelque chose d'aussi simple semble juste comme une fausse façon de le faire.

En se limitant au protocole SOAP, existe-t-il une bibliothèque pour C# qui implémente ce protocole pour une utilisation dynamique? Je peux imaginer qu'il serait possible de générer des structures de données clé/valeur d'exécution à partir du WSDL, ce qui pourrait être utilisé pour spécifier les messages de requête, ainsi que pour lire les réponses. La bibliothèque devrait alors être en mesure d'envoyer des messages SOAP bien formés au serveur, et d'analyser les réponses, sans que le programmeur n'ait à générer le XML manuellement (du moins pas les en-têtes et autres éléments de plomberie).

Je n'arrive pas à trouver une bibliothèque qui le fasse réellement. Est-ce que je veux faire vraiment cet ésotérisme, ou est-ce que je viens de chercher dans les mauvais endroits?

Merci,

Ulrik

Répondre

0

je pense que vous devez tenir compte de la signature du service Web inconnu afin de savoir comment l'appeler. Mais au lieu de compiler un proxy webservice, vous pouvez utiliser un appel javascript ajax à l'exécution une fois que vous savez ce que vous devez appeler. Vous pouvez utiliser, par exemple, jquery.ajax() pour créer une requête XMLHttpRequest vers le service Web inconnu (une fois que vous savez quoi appeler).

+0

Ouais, mais la signature est spécifiée dans le WSDL. Je veux faire l'appel du côté serveur, mais même si je voulais le faire chez le client, un XMLHttpRequest exige toujours que je spécifie moi-même toute la plomberie SOAP. –

0

Je cherche une telle solution, il semble que WSIF est la solution

Questions connexes