Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1547 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

[apache/AXIS] comment fait-on pour les objets??

n°314485
darklord
You're welcome
Posté le 20-02-2003 à 23:47:44  profilanswer
 

Reprise du message précédent :

the real moins moins a écrit :

moi j'aurais simplement dit "pour offrir une interface des clients distants (non-java, qui plus est) vers l'application server/les ejb" :o


 
bin voilà tu l'as dit :o


---------------
Just because you feel good does not make you right
mood
Publicité
Posté le 20-02-2003 à 23:47:44  profilanswer
 

n°314502
the real m​oins moins
Posté le 21-02-2003 à 00:00:49  profilanswer
 

DarkLord a écrit :


 
bin voilà tu l'as dit :o

ha oui tiens  :jap:

n°314644
benou
Posté le 21-02-2003 à 00:56:40  profilanswer
 

vous avez déjà testé le dialogue entre WS java et non/java ??
 
c'est des données complexes que vous transéferez ?

n°314645
the real m​oins moins
Posté le 21-02-2003 à 01:01:27  profilanswer
 

benou a écrit :

vous avez déjà testé le dialogue entre WS java et non/java ??
 
c'est des données complexes que vous transéferez ?

ben là cet aprem les mecs ont utilisé un truc (apparement fourni avec axis?) qui generent des stubs et ché pas quoi en C.
Ca a généré sans problème, mais le mec là apres il arrivait pas à utiliser son truc :D
On utilise pas de données "complexes", mais y'a 2-3 beans qui sont de betes agregats(?) de type String, int, Date, ce genre de brol
pour etre plus précis y'a un des bean c'est un int & une array d'un autre bean qui lui est composé de 3 int et 2 strings, qqchose comme ça
les ejb sont générés par xdoclet, et le mapping ejb/ws est fait dans un deploy.xml qu'on fournit a un outil d'axis qui genere le wsdl derriere
en gros quoi:o (désolé pour les imprécisions, j'ai pas trop fouillé ;))

n°314651
benou
Posté le 21-02-2003 à 01:09:29  profilanswer
 

nannan c'est bon j'ai pigé.
 
ouais c'est un cas simple votre truc donc ca devrait pas poser trop de problème ...

n°314653
the real m​oins moins
Posté le 21-02-2003 à 01:11:50  profilanswer
 

benou a écrit :

nannan c'est bon j'ai pigé.
 
ouais c'est un cas simple votre truc donc ca devrait pas poser trop de problème ...

à priori non
mais tu penses à quoi comme cas "complexe"...
à moins de commencer à échanger des types impossibles..!? je veux dire, à priori, ton ws devrait de ttes façons etre pensé un minimum pour que les types echangés soient relativement simples non? s'agirait pas de commencer à vouloir échanger, ché pas moi, un JTree, au hasard :lol:

n°314669
benou
Posté le 21-02-2003 à 08:34:28  profilanswer
 

tu pourrais vouloir envoyer des fichiers, utiliser des sessions, sécuriser tes requêtes, etc ...

n°314674
arghbis
salops de dauphins
Posté le 21-02-2003 à 08:38:58  profilanswer
 

ben moi par exemple, j'echange des graphs (enfin je les reçoit plutôt) dont les noeuds sont des objets qui sont eux même des graph dont les noeuds ... etc  :pt1cable:  
et pis va certainement falloir que je gère des session et tout ce genre de trucs! alors pour moi qui redébute en java, c un peu la galère depuis deux jours (et d'ailleurs, un grand  [:spikler]  aux memebres du forum pour leurs coups de main)!!!
m'enfin je m'en sort!  :whistle:

n°314804
the real m​oins moins
Posté le 21-02-2003 à 11:15:19  profilanswer
 

benou a écrit :

tu pourrais vouloir envoyer des fichiers, utiliser des sessions, sécuriser tes requêtes, etc ...

utiliser des sessions... ben le client renvoie l'equivalent d'un cookie avec son id de session, et une hashmap coté serveur gere ces sessions!? c quoi le probleme, j'ai raté un épisode?
securiser les requetes... en https?
explique moi stp, parce que là je vois pas le rapport :)

n°314994
benou
Posté le 21-02-2003 à 14:50:37  profilanswer
 

pour les sessions, c'est vrai que tu peux le faire à la moins, mais du coup tu es obligé d'intégrer la gestion des sessions (renvoit de l'id) dans la "partie métiers" de tes requêtes, ce qui n'est pas très propres, mais surout, tu dois gérer cet identifiant côté client. C'est à dire faire que le client renvoie cet identifiant dans chaque requête. C'est vrai que c'est pas la mort, mais du coup tu es obligé de gérer de "l'intelligence" côté client alors qu'en principe, tu n'as besoin que du WSDL pour te servir du Web service.
 
Pour la sécurité, c'est juste un moyen de protéger les requêtes contre les interceptions (cryptage) et d'authentifier le client et le serveur de façon sûre.  
C'est parfois un éléments primordiale du service.
Encore une fois, c'est pas encore normalisé du coup, chacun y va de sa solution et ca rend les différentes solutions de WS non-intéropérables.
 
Comme pour l'envoie de fichier, y a des tas de manière de le faire : codage Base64, tableau  de byte, SOAP whith Atachement, etc ...
 
pref, dès que tu veux faire des trucs un peu poussé, t'es très vite limité :/

mood
Publicité
Posté le 21-02-2003 à 14:50:37  profilanswer
 

n°315015
the real m​oins moins
Posté le 21-02-2003 à 15:10:44  profilanswer
 

benou a écrit :

pour les sessions, c'est vrai que tu peux le faire à la moins, mais du coup tu es obligé d'intégrer la gestion des sessions (renvoit de l'id) dans la "partie métiers" de tes requêtes, ce qui n'est pas très propres, mais surout, tu dois gérer cet identifiant côté client. C'est à dire faire que le client renvoie cet identifiant dans chaque requête. C'est vrai que c'est pas la mort, mais du coup tu es obligé de gérer de "l'intelligence" côté client alors qu'en principe, tu n'as besoin que du WSDL pour te servir du Web service.
 
Pour la sécurité, c'est juste un moyen de protéger les requêtes contre les interceptions (cryptage) et d'authentifier le client et le serveur de façon sûre.  
C'est parfois un éléments primordiale du service.
Encore une fois, c'est pas encore normalisé du coup, chacun y va de sa solution et ca rend les différentes solutions de WS non-intéropérables.
 
Comme pour l'envoie de fichier, y a des tas de manière de le faire : codage Base64, tableau  de byte, SOAP whith Atachement, etc ...
 
pref, dès que tu veux faire des trucs un peu poussé, t'es très vite limité :/


 
donc pour les sessions y'a une methode plus propre? un truc plus ou moins standard? [ici on le fait "a la main", du moins pour l'instant]
 
pour la sécurité, a part ouvrir la cnx sur de l'https, quoi d'autre?

n°315058
arghbis
salops de dauphins
Posté le 21-02-2003 à 16:12:03  profilanswer
 

coucou me revoilou!!
faut-il un jar spécial pour le java2wsdl?? j'ai vu qu'il existe un exécutable en ligne de commande, mais nulle part où le télécharger.
sinon, j'ai aussi vu ça :
java org.apache.axis.wsdl.Java2WSDL nomdemaclasseàdéployer autresoptions
 
mais il ne trouve pas Java2wsdl => d'où ma question!! ( ;) )
 
merci!

n°315071
the real m​oins moins
Posté le 21-02-2003 à 16:28:47  profilanswer
 

arghbis a écrit :

coucou me revoilou!!
faut-il un jar spécial pour le java2wsdl?? j'ai vu qu'il existe un exécutable en ligne de commande, mais nulle part où le télécharger.
sinon, j'ai aussi vu ça :
java org.apache.axis.wsdl.Java2WSDL nomdemaclasseàdéployer autresoptions
 
mais il ne trouve pas Java2wsdl => d'où ma question!! ( ;) )
 
merci!


avec "." dans mon CLASSPATH ça marche ;)
 

Citation :


C:\apps\xml-axis-10-src\xml-axis\java\build\classes>java org.apache.axis.wsdl.Ja
va2WSDL
Exception in thread "main" java.lang.NoClassDefFoundError: org.apache.commons.lo
gging.LogFactory

 
 
evidemment t'as besoin d'autres trucs dans ton classpath...

n°315078
benou
Posté le 21-02-2003 à 16:36:50  profilanswer
 

j'ai pas encore étudié les aspects de sécurité ... je crois qui y a IBM et Microsoft qui se sont mit d'ccord sur une norme (WS-Security je crois) et qui essaye de l'imposer comme standart mais je ne sais pas éxactement de quoi il découle.
 
Pour les sessions y a plusieurs façon. Axis a fait les choses simplement mais un peu cradement : vu que c'est du HTTP, il gère les sessions de la même façon que sur le web : avec des cookies. Problème, il faut que le client gère les cookies à la main :/
 
En principe, les informations de sessions devraient être passées dans le header de la requête SOAP. C'est comme ca que fait .NET. Mais bon il reste encore à standardiser la façon dont ces informations sont formatées.
 
Y a encore d'autres problèmes : Les exceptions. Quand j'ai étudié la chose, c'était super mal fait dans Axis : il balançait les exceptions sous forme d'error SOAP (ca c'est bien) en y mettant tout le stacktrace (ca c'est moins bien : le client voit toute l'architecture serveur) et le client ne reconstruisait pas l'exception => impossible de faire du traitement d'exception correct ! :/
 

n°315084
arghbis
salops de dauphins
Posté le 21-02-2003 à 16:47:54  profilanswer
 

bon ben moi y veut toujours pas le bougre!!
dans mon CLASSPATH, j'ai un wsdl4j.jar, c ça non??
ben il met met tjs classnotfoundexception!!  
une idée??  :cry:  :cry:

n°315088
the real m​oins moins
Posté le 21-02-2003 à 16:51:53  profilanswer
 

benou a écrit :

j'ai pas encore étudié les aspects de sécurité ... je crois qui y a IBM et Microsoft qui se sont mit d'ccord sur une norme (WS-Security je crois) et qui essaye de l'imposer comme standart mais je ne sais pas éxactement de quoi il découle.
 
Pour les sessions y a plusieurs façon. Axis a fait les choses simplement mais un peu cradement : vu que c'est du HTTP, il gère les sessions de la même façon que sur le web : avec des cookies. Problème, il faut que le client gère les cookies à la main :/


 
ouais, donc, ça mange pas de pain de passer l'identifiant aux methodes...
 

benou a écrit :


En principe, les informations de sessions devraient être passées dans le header de la requête SOAP. C'est comme ca que fait .NET. Mais bon il reste encore à standardiser la façon dont ces informations sont formatées.


 
hmm les passer dans le header, oué, fo voir comment on fait:D
 

benou a écrit :


Y a encore d'autres problèmes : Les exceptions. Quand j'ai étudié la chose, c'était super mal fait dans Axis : il balançait les exceptions sous forme d'error SOAP (ca c'est bien) en y mettant tout le stacktrace (ca c'est moins bien : le client voit toute l'architecture serveur) et le client ne reconstruisait pas l'exception => impossible de faire du traitement d'exception correct ! :/

ouais ça pue un peu...
mais si le serveur gere ses exceptions un peu serré, il renvoie un error code et un error message a la place... le concept d'exception n'etant de toutes façons pas présent dans tous les languages potentiellement utilisés au niveau du client... non?

n°315089
the real m​oins moins
Posté le 21-02-2003 à 16:52:26  profilanswer
 

arghbis a écrit :

bon ben moi y veut toujours pas le bougre!!
dans mon CLASSPATH, j'ai un wsdl4j.jar, c ça non??
ben il met met tjs classnotfoundexception!!  
une idée??  :cry:  :cry:  

ben pê pas :D
fous toi dans le build/classes :o

n°315092
arghbis
salops de dauphins
Posté le 21-02-2003 à 16:55:04  profilanswer
 

ben oui mais non!  :fou:  
je l'ai pas ton build/classes dans mon axis!
j'ai des lib, des classes, mais bon ça change rien quand je me met dedans!  :fou:  :fou:  :fou:

n°315094
benou
Posté le 21-02-2003 à 16:57:20  profilanswer
 

the real moins moins a écrit :


 ouais ça pue un peu...
mais si le serveur gere ses exceptions un peu serré, il renvoie un error code et un error message a la place... le concept d'exception n'etant de toutes façons pas présent dans tous les languages potentiellement utilisés au niveau du client... non?


 
ben il est présent dans SOAP ! une méthode peut déclancher une Error qui pourra contenir divers champ (configurable dans le wsdl, comme n'importe quel type). C'est très voisin du système d'exception ...
 

the real moins moins a écrit :


ouais, donc, ça mange pas de pain de passer l'identifiant aux methodes...  


 
ben non, c'est même la seule façon de faire à l'heure actuelle pour être compatible au maximum :/ cétouniké !
 
 

n°315095
benou
Posté le 21-02-2003 à 16:58:19  profilanswer
 

arghbis a écrit :

ben oui mais non!  :fou:  
je l'ai pas ton build/classes dans mon axis!
j'ai des lib, des classes, mais bon ça change rien quand je me met dedans!  :fou:  :fou:  :fou:  


 
lit le userguide : ca doit marcher !! :o

n°315102
arghbis
salops de dauphins
Posté le 21-02-2003 à 17:02:48  profilanswer
 

ben je l'ai lu le userguide, mais bon, là ça marche poas!! je fais pas qqchose de complexe pourtant!!  
je me mets dansle répertoire lib de mon axis (1.1b) et je tapes :
java org.apache.axis.wsdl.Java2WSDL ../../TlprenderInstance.class
 
c bon non??
et ben non!! alors je cherche!

n°315109
the real m​oins moins
Posté le 21-02-2003 à 17:18:04  profilanswer
 

arghbis a écrit :

ben je l'ai lu le userguide, mais bon, là ça marche poas!! je fais pas qqchose de complexe pourtant!!  
je me mets dansle répertoire lib de mon axis (1.1b) et je tapes :
java org.apache.axis.wsdl.Java2WSDL ../../TlprenderInstance.class
 
c bon non??
et ben non!! alors je cherche!

et ça te dis quoi qd tu fais ça?
stu veux mon avis ton truc ça m'etonnerais qu'il prenne un .class en parametre :D

n°315113
arghbis
salops de dauphins
Posté le 21-02-2003 à 17:21:58  profilanswer
 

je suispeut-être pas très fort en Java, mais quand on me dit  
java org.apache.axis.wsdl.Java2WSDL TlprenderInstance.java
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/axis/wsdl/Java2WSDL
 
je comprend k'il ne trouve pas org/apache/axis/wsdl/Java2WSDL, voilà!!
et pis j'ai essayé avec la version compilée, paske dans le user guide ils parlaient de version compilée, que ça aidait java2wsdl!  :cry:

n°315118
arghbis
salops de dauphins
Posté le 21-02-2003 à 17:42:32  profilanswer
 

bon je progresse! avec la dernière version CVS, j'arrive à touver cette  :fou:  :kaola:  :o  
de classe, mais il m'en manque une autre!!  
org.apache.commons.logging.LogFactory
voilà, alors je continue!!
je décris les étapes au cas où quelqu'un aurait le même pb que moi!  :cry:

n°315128
arghbis
salops de dauphins
Posté le 21-02-2003 à 17:51:48  profilanswer
 

au cas où ça pourrait aider certains, la plupart des classes manquante se trouvent là :
http://jakarta.apache.org/site/binindex.cgi
 
et bien sûr, ça n'est pas documenté dans les dépendances!  :pt1cable:  
m'enfin, maintenant ça marche à peu près, reste plus qu'à débugger mon code!!
 
 [:len22]  et en weekend!

n°315154
benou
Posté le 21-02-2003 à 18:20:48  profilanswer
 

c'est toi qui doit te planter parce que un NoClassDefFound c'est une erreur à la con !
 
mettre le jar dans WEB-INF/lib ca règle le cas de Tomcat, mais si tu veux lancer WSDL2Java en ligne de commande, faut aussi que t'ai les jar dans ton classpath système, hein :o
 
suffit pas d'être dans le rep qui contient le jar pour qu'il soit ajouté au classpath !!! :o :o :o

n°315227
the real m​oins moins
Posté le 21-02-2003 à 19:50:09  profilanswer
 

arghbis a écrit :

bon je progresse! avec la dernière version CVS, j'arrive à touver cette  :fou:  :kaola:  :o  
de classe, mais il m'en manque une autre!!  
org.apache.commons.logging.LogFactory
voilà, alors je continue!!
je décris les étapes au cas où quelqu'un aurait le même pb que moi!  :cry:  

commons-logging.jar, de chez jakarta/commons:o

n°315235
benou
Posté le 21-02-2003 à 20:06:18  profilanswer
 

il me semble bien me rappeler que les dépendance sont indiqués dans la doc ...

n°315256
arghbis
salops de dauphins
Posté le 21-02-2003 à 20:39:44  profilanswer
 

ben alors je les ai pas vu! sorry!  :jap:   :p

n°316328
arghbis
salops de dauphins
Posté le 24-02-2003 à 11:39:53  profilanswer
 

coucou, c moi que revoilou!
 
bon, j'en suis à l'étape du mapping là (maClass -> javaBean) mais j'ai un peu de mal. Si je comprends bien le principe de la chose, si le client m'envoie un objet défini dans une classe perso, il faut que le bean mapping s'opère du côté client lors de l'envoie et du côté serveur lors de la réception du dit objet, n'est-ce pas?
 
ce que je ne voie pas, c comment je fais ce mapping :  
- une classe java dédiée ?
- un descripteur XML??  
 
existe-t-il des outils qui génères ce mapping à partir de la classe??
 
merci d'avance!

n°316383
darklord
You're welcome
Posté le 24-02-2003 à 12:21:47  profilanswer
 

Tu crees un JavaBan (voir definition un peu plus haut). Au niveau client, au lieu d'envoyer ton objet perso, tu remplis le bean avec les infos de ton objet perso et tu l'envois via SOAP.
 
Au niveau serveur no souci, il recupere l'objet tel quel
 
tu ajoutes un beanMapping pour ton bean (déjà donne aussi plus haut).
 
Donc voila y a rien de compliqué en fait


---------------
Just because you feel good does not make you right
n°316409
lorill
Posté le 24-02-2003 à 12:53:16  profilanswer
 

DarkLord a écrit :

Tu crees un JavaBan  


:o

n°316411
arghbis
salops de dauphins
Posté le 24-02-2003 à 13:01:26  profilanswer
 

pq qu'il fait la tête le monsieur??

n°316499
the real m​oins moins
Posté le 24-02-2003 à 14:05:00  profilanswer
 

[:rofl]

n°316821
darklord
You're welcome
Posté le 24-02-2003 à 19:33:03  profilanswer
 

arghbis a écrit :

pq qu'il fait la tête le monsieur??


 
mais mais mas j'ai rien dit (pour une fois) :o


---------------
Just because you feel good does not make you right
n°316822
darklord
You're welcome
Posté le 24-02-2003 à 19:33:12  profilanswer
 


 
lapsus révélateur :o


---------------
Just because you feel good does not make you right
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
[Php/Apache] Cryptage MD5 différent ??Demarrage Apache et Tomcat en auto sur Solaris
Peut on recuperer la resolution d'un ecran client avec Apache/PHP ?PHP/Apache et ASP/IIS : conflit ?
Modifier le repertoire d'accueil de mon appli sous Apache - Tomcat[ Php ] Problèmes sessions (depuis plantage apache )
[ Php/Oracle/Apache ] Plantage d'apache à cause des librairies oracle[Apache / PHP] Problème de transmission de variable avec mod_rewrite
[PHP] Apache ne veux pas se lancerVB6 et objets graphiques en 3d
Plus de sujets relatifs à : [apache/AXIS] comment fait-on pour les objets??


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR