Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[Apache Axis] Obtenir toutes les méthodes d'un service donné

7 réponses
Avatar
Benoit.Baranne
SAlut,
j'aimerais savoir comment faire pour récupérer les méthodes d'un
service Axis donné, en connaissant uniquement le nom du service (et
pas celui de la class java associée) et en utilisant si possible l'API
d'Axis 1.1 (SOAP v1.2)

Merci d'avance

7 réponses

Avatar
Cédric Chabanois
Benoit wrote:
SAlut,
j'aimerais savoir comment faire pour récupérer les méthodes d'un
service Axis donné, en connaissant uniquement le nom du service (et
pas celui de la class java associée) et en utilisant si possible l'API
d'Axis 1.1 (SOAP v1.2)

Merci d'avance


Côté serveur ou côté client ?
Côté client, le fichier wsdl est fait pour çà et devrait suffire.

Cédric

Avatar
Benoit.Baranne
Cédric Chabanois wrote in message news:<3f7b050c$0$10405$...
Benoit wrote:
SAlut,
j'aimerais savoir comment faire pour récupérer les méthodes d'un
service Axis donné, en connaissant uniquement le nom du service (et
pas celui de la class java associée) et en utilisant si possible l'API
d'Axis 1.1 (SOAP v1.2)

Merci d'avance


Côté serveur ou côté client ?
Côté client, le fichier wsdl est fait pour çà et devrait suffire.

Cédric


Côté client. Mais je n'ai pas de fichier wsdl. Le fichier wsdl se
génère automatiquement si je concatène ?wsdl à l'adresse du service
dans mon browser.


Avatar
Cédric Chabanois
Benoit wrote:
Cédric Chabanois wrote in message news:<3f7b050c$0$10405$...

Benoit wrote:

SAlut,
j'aimerais savoir comment faire pour récupérer les méthodes d'un
service Axis donné, en connaissant uniquement le nom du service (et
pas celui de la class java associée) et en utilisant si possible l'API
d'Axis 1.1 (SOAP v1.2)

Merci d'avance


Côté serveur ou côté client ?
Côté client, le fichier wsdl est fait pour çà et devrait suffire.

Cédric



Côté client. Mais je n'ai pas de fichier wsdl. Le fichier wsdl se
génère automatiquement si je concatène ?wsdl à l'adresse du service
dans mon browser.


En fait je ne vois pas trop ce que tu veux faire ...

Tu veux quoi au juste ?
les opérations d'un service web donné (juste le nom ?) ?
de façon programmatique ?
pourquoi faire ?
pourquoi le wsdl n'est-il pas suffisant ?



Avatar
Benoit.Baranne
Cédric Chabanois wrote in message news:<3f7c4b97$0$10404$...
Benoit wrote:
Cédric Chabanois wrote in message news:<3f7b050c$0$10405$...

Benoit wrote:

SAlut,
j'aimerais savoir comment faire pour récupérer les méthodes d'un
service Axis donné, en connaissant uniquement le nom du service (et
pas celui de la class java associée) et en utilisant si possible l'API
d'Axis 1.1 (SOAP v1.2)

Merci d'avance


Côté serveur ou côté client ?
Côté client, le fichier wsdl est fait pour çà et devrait suffire.

Cédric



Côté client. Mais je n'ai pas de fichier wsdl. Le fichier wsdl se
génère automatiquement si je concatène ?wsdl à l'adresse du service
dans mon browser.


En fait je ne vois pas trop ce que tu veux faire ...

Tu veux quoi au juste ?
les opérations d'un service web donné (juste le nom ?) ?
de façon programmatique ?
pourquoi faire ?
pourquoi le wsdl n'est-il pas suffisant ?



Ce que je veux, c'est, à partir du nom d'un service qui est déployé
sur un serveur, récupérer, de façon programmatique, les noms, types de
retours, types des paramètres des opérations (ou ce que j'appelle
aussi méthodes) du service en question. Il n'y a pas de wsdl. Pour
voir le wsdl, je dois me rendre, grace à un navigateur sur le site où
mes services sont déployés et cliquer sur un lien qui va ensuite me
généré (temporairement) le fichier WSDL. Je ne peux pas utiliser ce
fichier.
En fait, ce que je veux faire réellement s'apparente à de la
reflection en JAVA. Cependant, il est bien trop coûteux que je place
côté serveur une classe manipulant les classes java concernées par les
services proposés. C'est pourquoi, je cherche, en utilisant l'API
d'Axis 1.1 de récupérer (côté client) les informations citées plus
haut sur mes services.
En gros, j'ai une interface graphique côté client (en Java) avec une
list qui se charge automatiquement avec le nom des opérations (ou
méthodes) d'un service précis. J'ai également besoin de connaître les
types et nombre de paramètre pour chaque opération.

J'espère que mon problème est plus clair à présent et que vous allez
pouvoir m'aider...




Avatar
jerome moliere

Ce que je veux, c'est, à partir du nom d'un service qui est déployé
sur un serveur, récupérer, de façon programmatique, les noms, types de
retours, types des paramètres des opérations (ou ce que j'appelle
aussi méthodes) du service en question. Il n'y a pas de wsdl. Pour
voir le wsdl, je dois me rendre, grace à un navigateur sur le site où
mes services sont déployés et cliquer sur un lien qui va ensuite me
généré (temporairement) le fichier WSDL. Je ne peux pas utiliser ce
fichier.
En fait, ce que je veux faire réellement s'apparente à de la
reflection en JAVA. Cependant, il est bien trop coûteux que je place
côté serveur une classe manipulant les classes java concernées par les
services proposés. C'est pourquoi, je cherche, en utilisant l'API
d'Axis 1.1 de récupérer (côté client) les informations citées plus
haut sur mes services.
En gros, j'ai une interface graphique côté client (en Java) avec une
list qui se charge automatiquement avec le nom des opérations (ou
méthodes) d'un service précis. J'ai également besoin de connaître les
types et nombre de paramètre pour chaque opération.

J'espère que mon problème est plus clair à présent et que vous allez
pouvoir m'aider...


tu veux faire l'equivalent de la DII en CORBA ? je pense qu'il faut que
tu regardes du cote d'UDDI qui est fait pour cela..mais c'est plus
limite. jamais fait donc pas de retour d'exp...

Jerome

Avatar
Patrick Gras
"Benoit" wrote in message
news:
[...]

Ce que je veux, c'est, à partir du nom d'un service qui est déployé
sur un serveur, récupérer, de façon programmatique, les noms, types de
retours, types des paramètres des opérations (ou ce que j'appelle
aussi méthodes) du service en question. Il n'y a pas de wsdl. Pour
voir le wsdl, je dois me rendre, grace à un navigateur sur le site où
mes services sont déployés et cliquer sur un lien qui va ensuite me
généré (temporairement) le fichier WSDL. Je ne peux pas utiliser ce
fichier.
En fait, ce que je veux faire réellement s'apparente à de la
reflection en JAVA. Cependant, il est bien trop coûteux que je place
côté serveur une classe manipulant les classes java concernées par les
services proposés. C'est pourquoi, je cherche, en utilisant l'API
d'Axis 1.1 de récupérer (côté client) les informations citées plus
haut sur mes services.
En gros, j'ai une interface graphique côté client (en Java) avec une
list qui se charge automatiquement avec le nom des opérations (ou
méthodes) d'un service précis. J'ai également besoin de connaître les
types et nombre de paramètre pour chaque opération.

J'espère que mon problème est plus clair à présent et que vous allez
pouvoir m'aider...


Hello,

Je ne comprends pas pourquoi tu ne peux pas utiliser le fichier WSDL,
(le fichier WSDL décrit précisément ce que tu cherche à avoir !!!)

Est-ce que tu as déjà essayé XML-Spy enterprise (il y a une license démo
de 30 jours), dans le menu SOAP, tu entre l'URL de ton WSDL (ici
http://.../monService?WSDL) XML-Spy parse le fichier WSDL et te
génère le XML correspondant à un appel type à ton service...

Si j'ai bien compris tu voudrais faire la même chose... La solution
c'est le fichier WSDL, tu as son URL donc il existe et tu peux le
charger sur ton client...

A+
-Patrick

Avatar
Cédric Chabanois
C'est beaucoup plus clair !

Le meilleur truc à faire c'est quand même d'utiliser le wsdl à mon avis.
Tu récupères le wsdl.
Avec WSDL4J (plus standard c'est un JSR : JSR110) ou Axis (qui utilise
wsdl4j aussi mais qui peut peut-être te donner plus d'info), tu parses
le fichier et tu récupères les infos dont tu as besoin.
Attention ce n'est pas forcément évident, les infos que tu vas récupérer
concernant les types seront des types xml-schema (Axis fait la
conversion WSDL->Java dans WSDL2Java, ca peut aider).

Je ne comprends pas pourquoi tu dis "Je ne peux pas utiliser ce fichier"
en parlant du wsdl.
Sinon effectivement faire une classe côté serveur permettant de
récupérer les infos en utilisant la réflection est une autre solution.
Ca peut être générique.

Cédric

Ce que je veux, c'est, à partir du nom d'un service qui est déployé
sur un serveur, récupérer, de façon programmatique, les noms, types de
retours, types des paramètres des opérations (ou ce que j'appelle
aussi méthodes) du service en question. Il n'y a pas de wsdl. Pour
voir le wsdl, je dois me rendre, grace à un navigateur sur le site où
mes services sont déployés et cliquer sur un lien qui va ensuite me
généré (temporairement) le fichier WSDL. Je ne peux pas utiliser ce
fichier.
En fait, ce que je veux faire réellement s'apparente à de la
reflection en JAVA. Cependant, il est bien trop coûteux que je place
côté serveur une classe manipulant les classes java concernées par les
services proposés. C'est pourquoi, je cherche, en utilisant l'API
d'Axis 1.1 de récupérer (côté client) les informations citées plus
haut sur mes services.
En gros, j'ai une interface graphique côté client (en Java) avec une
list qui se charge automatiquement avec le nom des opérations (ou
méthodes) d'un service précis. J'ai également besoin de connaître les
types et nombre de paramètre pour chaque opération.

J'espère que mon problème est plus clair à présent et que vous allez
pouvoir m'aider...