2009-09-02 7 views
4

Un fichier WSDL pointant vers un service Web m'a été fourni. J'utilise ce webservice pour me connecter et créer une session. En plus du jeton de session, la réponse de connexion fournit une URL vers laquelle je suis censé rediriger mes appels de service Web. À part l'URL à laquelle je m'adresse, les définitions sont les mêmes, donc aucun nouveau WSDL n'est fourni.Consommez un service Web redirigé dans ColdFusion

Quelle est la meilleure façon de gérer cela? Générer mon propre WSDL modifié? Créer et/ou modifier l'objet webservice via Java? Une troisième option à laquelle je n'ai pas pensé?

+0

Comment appelez-vous le webservice? Utilisez-vous createObject ou cfinvoke? Ou même CFhttp? –

+0

J'appelle le webservice en appelant CFOBJeCT sur un fichier WSDL stocké localement. –

Répondre

1

C'est un hack, mais vous pouvez toujours télécharger le WSDL en tant que modèle et la référence comme un fichier local. Lorsque l'appel de connexion vous indique l'URL à atteindre, remplacez simplement l'URL du modèle par la nouvelle, et continuez. Vous pourriez même avoir une version différente du WSDL pour chaque URL qui pourrait être retournée, en utilisant peut-être un hash de l'URL comme nom de fichier.

+0

Oui. C'est plus ou moins ce que je voulais dire par "Générer mon propre WSDL modifié". C'est ce que je vais finir par faire. –

+0

Oh, et je vais définir cela comme "répondu" une fois que j'ai une implémentation en place, à moins que quelqu'un trouve quelque chose de mieux. –

0

Les invocations de service Web Coldfusion pointent toujours vers WSDL. Qu'il s'agisse d'un fichier WSDL local ou d'un fichier WSDL distant auquel vous pouvez accéder via une connexion HTTP ou HTTPs. À moins que l'URL de réponse pointe vers un nouveau fichier WSDL à utiliser, cela ne sera pas très utile.

-Jay

+0

Et, par conséquent, mon problème. –

Questions connexes