IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Services Web Java Discussion :

[Service Web] Appeler un service web depuis une application Swing


Sujet :

Services Web Java

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Points : 14
    Points
    14
    Par défaut [Service Web] Appeler un service web depuis une application Swing
    Bonjour, je ne sais pas si c'est la bonne section mais bon je me lance.
    Alors voilà j'ai plusieurs services web codé en php utilisant le protocole SOAP.
    J'aimerai savoir s'il est possible avec le jdk 5.0 d'appeller un service web (même codé dans un autre langage). Les différentes documentations que j'ai trouvé à ce sujet sont assez confuses et j'aimerai savoir comment m'y prendre car je suis un peu perdu.

    D'avance je vous remercie.

  2. #2
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    Bonjour,

    Pour appeler un service web, il faut simplement générer les bonnes requêtes et savoir lire les réponses. Ce sont des messages réseau, donc peu importe le langage utilisé pour lire et écrire, ce qui compte c'est le contenu des messages.

    Par contre, tu auras besoin d'une librairie supplémentaire. L'API standard n'est pas complète dans ce domaine. De plus, il existe des wizards permettant (à partir du fichier WSDL) de générer des classes proxy, qui te permettent d'appeler le web service en un simple appel de méthode.

    J'utilise Eclipse WTP, mais il doit y avoir des choses équivalentes sous tous les environnements de développement.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Points : 14
    Points
    14
    Par défaut
    Merci des pistes que tu as évoqués. Elles m'ont permis avec quelques recherches de générer sous Netbeans 5.0 les fichiers de stub pour appeller le service web.
    La génération marche bien, il récupére le fichier WSDL sans aucun soucis.
    Néammoins dés que je teste le script que ce soit au sein de netbeans ou bien au sein de mon programme j'obtiens l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    InvocationTargetException 
    org.netbeans.modules.websvc.registry.ui.ReflectionHelper.callMethodWithParams(ReflectionHelper.java:512) 
    org.netbeans.modules.websvc.registry.ui.TestWebServiceMethodDlg.invokeMethod(TestWebServiceMethodDlg.java:439) 
    org.netbeans.modules.websvc.registry.ui.TestWebServiceMethodDlg.access$500(TestWebServiceMethodDlg.java:64) 
    org.netbeans.modules.websvc.registry.ui.TestWebServiceMethodDlg$4.run(TestWebServiceMethodDlg.java:382) 
    org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:493) 
    org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:926) 
    Next Exception Layer null 
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    java.lang.reflect.Method.invoke(Method.java:585) 
    org.netbeans.modules.websvc.registry.ui.ReflectionHelper.callMethodWithParams(ReflectionHelper.java:506) 
    org.netbeans.modules.websvc.registry.ui.TestWebServiceMethodDlg.invokeMethod(TestWebServiceMethodDlg.java:439) 
    org.netbeans.modules.websvc.registry.ui.TestWebServiceMethodDlg.access$500(TestWebServiceMethodDlg.java:64) 
    org.netbeans.modules.websvc.registry.ui.TestWebServiceMethodDlg$4.run(TestWebServiceMethodDlg.java:382) 
    org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:493) 
    org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:926) 
    Next Exception Layer Runtime exception; nested exception is: Les éléments 
    du bloc suiveur doivent posséder un attribut did 
    com.sun.xml.rpc.client.StreamingSender._handleRuntimeExceptionInSend(StreamingSender.java:331) 
    com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:313) 
    webservice.SalutPortType_Stub.salut(SalutPortType_Stub.java:70) 
    webservice.SalutClient.salutportSalut(SalutClient.java:22) 
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    java.lang.reflect.Method.invoke(Method.java:585) 
    org.netbeans.modules.websvc.registry.ui.ReflectionHelper.callMethodWithParams(ReflectionHelper.java:506) 
    org.netbeans.modules.websvc.registry.ui.TestWebServiceMethodDlg.invokeMethod(TestWebServiceMethodDlg.java:439) 
    org.netbeans.modules.websvc.registry.ui.TestWebServiceMethodDlg.access$500(TestWebServiceMethodDlg.java:64) 
    org.netbeans.modules.websvc.registry.ui.TestWebServiceMethodDlg$4.run(TestWebServiceMethodDlg.java:382) 
    org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:493) 
    org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:926) 
    Next Exception Layer Les éléments du bloc suiveur doivent posséder un 
    attribut did 
    com.sun.xml.rpc.encoding.SOAPDeserializationContext.deserializeMultiRefObjects(SOAPDeserializationContext.java:81) 
    com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:239) 
    webservice.SalutPortType_Stub.salut(SalutPortType_Stub.java:70) 
    webservice.SalutClient.salutportSalut(SalutClient.java:22) 
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    java.lang.reflect.Method.invoke(Method.java:585) 
    org.netbeans.modules.websvc.registry.ui.ReflectionHelper.callMethodWithParams(ReflectionHelper.java:506) 
    org.netbeans.modules.websvc.registry.ui.TestWebServiceMethodDlg.invokeMethod(TestWebServiceMethodDlg.java:439) 
    org.netbeans.modules.websvc.registry.ui.TestWebServiceMethodDlg.access$500(TestWebServiceMethodDlg.java:64) 
    org.netbeans.modules.websvc.registry.ui.TestWebServiceMethodDlg$4.run(TestWebServiceMethodDlg.java:382) 
    org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:493) 
    org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:926)
    Je ne sais pas quoi faire. Aprés des recherches sur le site de netbeans, j'ai vu qu'il fallait paramétrer le proxy. J'ai mis des paramétres bidons. Faut-il un vrai proxy ? quel est son utilité dans ce cas là ?

    D'avance je vous remercie de vos réponses car je suis perdu à l'heure actuelle.

  4. #4
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    Citation Envoyé par deboll_s
    Aprés des recherches sur le site de netbeans, j'ai vu qu'il fallait paramétrer le proxy. J'ai mis des paramétres bidons. Faut-il un vrai proxy ? quel est son utilité dans ce cas là ?
    As tu essayé d'appeler un web service sur le réseau local (voire sur ta propre machine), ou est-ce un web service sur internet ?

    Si tu passes par un proxy pour te connecter à internet, je peux confirmer qu'il faut le configurer, mais je ne sais pas comment. Si tu peux, essaie de passer plutot par un NAT.

    Après, faut-il un proxy ou non, c'est pas à moi de te dire, c'est en définissant la politique d'administration réseau qu'on choisit d'utiliser un proxy ou un NAT ou rien. Une fois que c'est fait, il faut faire avec.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  5. #5
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 13
    Points : 14
    Points
    14
    Par défaut
    J'ai essayé en local et sur internet. Et l'histoire du proxy c'est en fait une astuce que j'ai lu sur le site de netbeans sur la génération des webservice justement.
    Mais avec ou sans ca ne marche pas.
    J'ai pris WTP pour Callisto. Il y a un assistant également pour génerer tout cela ?
    D'avance je te remercie de repondre à mes questions

  6. #6
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    Pour WTP, je ne peux que te donner ce lien. C'est de là que j'ai tout appris.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  7. #7
    Membre émérite
    Avatar de alexismp
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 503
    Points : 2 777
    Points
    2 777
    Par défaut
    Peut-être de quoi t'aider: http://www.netbeans.org/download/fla...5/platform_ws/
    Sinon: http://www.netbeans.org/kb/55/websvc-jax-ws.html

    Dans tous les cas, JAX-WS 2.0 rend les Web Services beaucoup plus simples.

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/08/2013, 04h41
  2. Réponses: 0
    Dernier message: 01/05/2011, 23h46
  3. Client windows phone7 et web service depuis une application GWT
    Par malak.ensa dans le forum Windows Phone
    Réponses: 6
    Dernier message: 01/05/2011, 22h29
  4. Appeler la galery photo depuis une application
    Par user2000 dans le forum Android
    Réponses: 4
    Dernier message: 19/12/2010, 15h03
  5. Appeler l'appareil photo depuis une application
    Par TsCyrille dans le forum Android
    Réponses: 1
    Dernier message: 25/09/2010, 13h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo