2009-09-03 6 views
2

Je regarde le module soaplib python (il est livré avec le standard ubuntu 9.04). J'ai beaucoup utilisé xmlrpclib ces dernières années, mais maintenant je suis curieux de savoir sur le savon. écrire des serveurs avec soaplib est assez facile, je suppose que l'écriture de clients devrait être encore plus facile.en utilisant soaplib pour se connecter au serveur distant SOAP manquant de définition

dans mon impatience je ne peux pas trouver un moyen de faire usage de l'introspection. ai-je vraiment besoin de décrire chaque méthode dans le serveur afin de définir le client (http://trac.optio.webfactional.com/wiki/Client)?

Je trouve cela difficile à croire, mais je ne peux pas trouver une page web significative tenant mes trois termes de recherche: Introspect soap python ...

si la question semble: puis-je utiliser Python soaplib pour accéder simplement un service web distant dont je ne connais que l'URL? et comment je fais ça?

suis-je ou la bibliothèque manque-t-elle quelque chose?

Répondre

1

Si je comprends bien votre question, vous aimeriez générer du code client pour un webservice donné sans définir les méthodes, etc., qui sont directement disponibles sur ce service dans votre propre code? IE: vous souhaitez introspecter le service et générer automatiquement le client.

Si tel est le cas, la réponse est que vous devez utiliser le soaplib trunk. Plus précisément, vous serez intéressé par un recently contributed script qui permet à la génération de classes Python d'agir en tant que client pour un service donné comme décrit dans un fichier WSDL. Il existe des scripts dans soaplib pour permettre la génération de classes de manière statique (où un module .py est généré et écrit sur le disque) et de façon dynamique où les classes n'existent qu'à l'exécution dans votre programme.

Espérons que ça aide.

+0

oui, c'est la situation. ce n'est pas une chose urgente et elle est temporairement stationnée. les scripts que vous pointez, fonctionnent-ils uniquement avec le bord saignant? – mariotomo

+0

Oui, c'est correct: surveillez cet espace parce qu'il y a du travail en ce moment avec ces scripts pour les rendre plus interopérables avec des services plus complexes. – jkp

Questions connexes