Précédent   Forum des professionnels en informatique > Java > Développement Web en Java > Applets
Applets Vos questions sur les Applets
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/01/2012, 11h08   #1
Débutant
 
Homme
Inscription : janvier 2004
Messages : 435
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : janvier 2004
Messages : 435
Points : 245
Points : 245
Par défaut Problème de droits sur applet executé dans un intranet

Bonjour à tous,

Précédement j'avais posté un thread afin de communiquer avec un WS via un Applet.
C'est maintenant chose faites, mais j'ai un nouveau souci.

Si j'execute mon applet sur la machine en local ( un WinServer2008 R2 ), que ce soit sous netBeans ou directement en tapant l'URL sur mon browser ( ici fireFox ) cela fonctionne correctement, j'arrive bien à communiquer avec mon WS.

Sauf que si j'essaye de faire tourner l'applet depuis un autre poste sur le meme reseau j'ai une vilaine exception :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
com.sun.xml.internal.ws.client.ClientTransportException: HTTP transport error: java.net.ConnectException: Connection refused: connect
	at com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.getOutput(Unknown Source)
	at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(Unknown Source)
	at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(Unknown Source)
	at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(Unknown Source)
	at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Unknown Source)
	at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Unknown Source)
	at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Unknown Source)
	at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Unknown Source)
	at com.sun.xml.internal.ws.client.Stub.process(Unknown Source)
	at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(Unknown Source)
	at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(Unknown Source)
	at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(Unknown Source)
	at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(Unknown Source)
	at $Proxy30.getInfoWithName(Unknown Source)
	at com.abc.Calypso.init(Calypso.java:171)
	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.net.ConnectException: Connection refused: connect
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.PlainSocketImpl.doConnect(Unknown Source)
	at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
	at java.net.PlainSocketImpl.connect(Unknown Source)
	at java.net.SocksSocketImpl.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at sun.net.NetworkClient.doConnect(Unknown Source)
	at sun.net.www.http.HttpClient.openServer(Unknown Source)
	at sun.net.www.http.HttpClient.openServer(Unknown Source)
	at sun.net.www.http.HttpClient.<init>(Unknown Source)
	at sun.net.www.http.HttpClient.New(Unknown Source)
	at sun.net.www.http.HttpClient.New(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
	at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source)
	... 17 more
Exception : com.sun.xml.internal.ws.client.ClientTransportException: HTTP transport error: java.net.ConnectException: Connection refused: connect
ps : en gras represente le nom de la fonction du WS.

Je signe correctement mon applet via l'option "self-signing" sous netBeans.
J'ai vu sur le web, qu'il fallait peu etre modifier un fichier ".policy", mais y en a plusieurs ( dans progFile\java, et aussi dans different repertoire dans "glassfish" ).

Pourriez vosu me suggerer une piste ou quoi que cesoit qui pourrais m'aider à avancer.

Autres informations, les "web-services-references" generé par netBeans done l'arborescence suivante :
_ xml-ressources
|==> web-services-references
|==> monDomaineWS
|==> wsdl
|==> localHost_8080
|==> monWS
|==> monWS.wsdl et monWS.xsd_1.xsd

Y aurait-il un lien entre cette valeur qui du coup me permet de bien me connecter en local à mon WS mais m'empeche de le faire depuis une autre machine.

J'ai trouvé tellement de piste que je risque de passer un bon moment à chercher, alors si quelqu'un à une idée de resolution mon problème je lui en serai reconnaissant si ce quelqu'un pouvais m'aider


En tout cas merci d'avance pour votre aide,

Cordialement,

Moulefrite
les librairies generé par "jax-ws" pointe dans un package nommé "
moulefrite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 11h19   #2
Membre chevronné
 
Inscription : février 2010
Messages : 580
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : février 2010
Messages : 580
Points : 727
Points : 727
L'exception signifie simplement qu'il n'y a pas de service écoutant sur le port.

Lance ton webservice, essai de tapper l'URL depuis l'autre poste, et teste ensuite avec l'applet.
Jimmy_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 11h42   #3
Débutant
 
Homme
Inscription : janvier 2004
Messages : 435
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : janvier 2004
Messages : 435
Points : 245
Points : 245
Citation:
Envoyé par Jimmy_ Voir le message
L'exception signifie simplement qu'il n'y a pas de service écoutant sur le port.

Lance ton webservice, essai de tapper l'URL depuis l'autre poste, et teste ensuite avec l'applet.
Merci Jimmy pour ta reponse rapide.

Lorsque tu dis de taper l'url du WS tu parle d'afficher le WSDL dans mon navigateur ? et de faire mumuse avec ces fonctions.
si c'est le cas, oui j'y arrive bien, je visualise l'ensemble des fonctions du WS et j'arrive meme à les executer.

Par contre en executant mon applet, celui-ci me retourne l'exception posté precedemment.

Je continue mes recherches, il parle aussi de fireWall bloquant, mais je l'ai desactivé sur mon 2008ServerR2.

Merci encore Jimmy pour ton aide, si tu as d'autres pistes je suis prenneur

Cordialement,
moulefrite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 13h41   #4
Membre chevronné
 
Inscription : février 2010
Messages : 580
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : février 2010
Messages : 580
Points : 727
Points : 727
Bon déjà si dans un navigateur tu accèdes au webservice, c'est une bonne chose. Ca supprime les soucis de firewall ou de réseaux. Essai aussi avec des outils comme SoapUi pour faire un appel à un service de ton WS.

Sinon est-il possible de voir le code de la connection à l'URL dans l'applet ?
Jimmy_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 14h45   #5
Débutant
 
Homme
Inscription : janvier 2004
Messages : 435
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : janvier 2004
Messages : 435
Points : 245
Points : 245
Citation:
Envoyé par Jimmy_ Voir le message
Bon déjà si dans un navigateur tu accèdes au webservice, c'est une bonne chose. Ca supprime les soucis de firewall ou de réseaux. Essai aussi avec des outils comme SoapUi pour faire un appel à un service de ton WS.

Sinon est-il possible de voir le code de la connection à l'URL dans l'applet ?
Merci Jimmy pour ton aide.

Voici le contenu de ma balise applet :
Code :
<applet code="com.abc.calypso.class" archive="Calypso.jar" mayscript="true"></applet>
J'ai meme essayé en rajoutant le champ "codebase" avec comme valeur :
Code :
codebase="http://192.168.0.20:8080/consultationCalypso"
Cette adresse IP correspond à l'adresse de ma machine server2008
Mais c'a ne change rien à mon problème

Merci encore pour ton aide, une autre piste à explorer ?

Merci,

Cordialement,
moulefrite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 15h16   #6
Membre chevronné
 
Inscription : février 2010
Messages : 580
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : février 2010
Messages : 580
Points : 727
Points : 727
Heu non je code java dans l'applet qui se connect à l'URL de ton webservice, c'est ça qu'il faut.
Jimmy_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 16h35   #7
Débutant
 
Homme
Inscription : janvier 2004
Messages : 435
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : janvier 2004
Messages : 435
Points : 245
Points : 245
Citation:
Envoyé par Jimmy_ Voir le message
Heu non je code java dans l'applet qui se connect à l'URL de ton webservice, c'est ça qu'il faut.
Oups desolé

J'ai pas vraiment d'url de tapé, j'instancie "juste" ma classe generé par jax-ws :


Code :
1
2
3
4
5
 
com.abc.calculatriceWS_Service service = new CalculatriceWS_Service();
com.abc.calculatriceWS handleWS = service.getCalculatriceWSPort();
 
String testResp = handleWS.getInfoWithName("moulefrite"); // Nom de la fonction presente sur le WS
Je ne fais pas vraiment de traitement sur les-dites socket tel qu'il l'es mentionné dans l'exception

Je commence vraiment à patoger
C'est peu etre lié à la VAR "CLASS_PATH" ?? un piste plausible ??

Merci encore Jimmy pour ton aide, si tu as d'autres pistes je suis prenneur,

Cordialement,
moulefrite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 18h34   #8
Débutant
 
Homme
Inscription : janvier 2004
Messages : 435
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : janvier 2004
Messages : 435
Points : 245
Points : 245
Finalement j'ai trouvé la raison pour laquelle ca ne fonctionnai pas.
En faites lors de la creation de mon WS, j'avais fait en sorte de le mettre dans "localhost".
Du coup lorsque j'executai mon applet en local tout fonctionnait sachant qu'il savait ou "pointer" ( sur le localhost ).

Du coup pour resoudre ce problème, j'ai edité le .wsdl et le .xsd qui ont été ajouté à l'arborescende de mon applet lors de l'ajout des references à mon WS.

monAppet
|__src
|__META-INF.wsdl.localhost_8080.calculatrice
|__ CalculatriceWS.wsdl
|__ CalculatriceWS.xsd_1.xsd


Dans ces 2 fichiers, j'ai remplacé toute les references à "localhost" par l'adresse ip de la machine.

Je met le post en resolu, en esperant que ma petite explication puisse en depatouiller d'autre

Merci encore à toi Jimmy pour tes nombreuses reponses.

Cordialement,

Moulefrite
moulefrite est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h29.


 
 
 
 
Partenaires

Hébergement Web