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 :

problemes avec WSIF v2.0


Sujet :

Services Web Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 199
    Par défaut problemes avec WSIF v2.0
    Slut tout le monde,

    afin d epouvoir etre capable d'invoké des services Web de maniere dynamique et de les gerer comme une communauté, j'ai besoin d'implementer une bibliotheque a cette fin.

    pour ce faire je doit utiliser WSIF 2.0 + WSDL4J, mais voila j'ai un probleme quand j'execute.

    voila mon code source:
    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
     
    package mainPack;
     
    import javax.wsdl.Definition;
    import javax.wsdl.WSDLException;
     
    import org.apache.wsif.WSIFException;
    import org.apache.wsif.WSIFService;
    import org.apache.wsif.WSIFServiceFactory;
    import org.apache.wsif.util.*;
     
    public class MainClass {
     
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Raccord de méthode auto-généré
            Definition _WSDLDef = null;
            try {
                _WSDLDef = WSIFUtils.readWSDL(null, "http://localhost:8080/axis/services/allo?wsdl");
            } catch (WSDLException e1) {
                // TODO Bloc catch auto-généré
                e1.printStackTrace();
            }
            System.out.println(_WSDLDef.toString());
            try {
                WSIFService sq = WSIFServiceFactory.newInstance().getService(_WSDLDef);
            } catch (WSIFException e) {
                // TODO Bloc catch auto-généré
                e.printStackTrace();
            }
        }
     
    }
    et voila ce que j'obtien lors de l'execution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
    at org.apache.wsif.logging.Trc.<clinit>(Unknown Source)
    at org.apache.wsif.util.WSIFUtils.readWSDL(Unknown Source)
    at mainPack.MainClass.main(MainClass.java:20)
    je suis ouvert a toutes suggestion.

    REMARQUE:j'utilise
    • wsdl4j v1.5
    • wsif v2.0
    • Tomcat v5.5.17
    • axis v1.4
    • JDK v1.5.0-b64

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Par défaut
    il te manque la librairie commons-logging.jar dans ton classpath (ca ne sera peut être pas la seule)...

    ++

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 199
    Par défaut
    voila j'ai suivi on conseil, et j'ai rajouter toutes les librairie que j'ai trouver dans le repertoire /libs ds le package de WSIF. et c'est devenue un peut plus clair, j'ai quelque peut modifier mon code:
    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
     package mainPack;
     
     import java.io.BufferedInputStream;
     import java.io.IOException;
     import java.net.MalformedURLException;
     import java.net.URL;
     
     import javax.wsdl.Definition;
     import javax.wsdl.WSDLException;
     
     import org.apache.wsif.util.*;
     import org.xml.sax.SAXException;
     
     import javax.xml.parsers.DocumentBuilderFactory;
     import javax.xml.parsers.ParserConfigurationException;
     
     
     public class MainClass {
     
         /**
          * @param args
          */
     
         // aller voir http://kickjava.com/src/wsdl/ClassLoaderTest.java.htm
         public static void main(String[] args) {
             // TODO Raccord de méthode auto-généré
             Definition _WSDLDef = null;
             URL url = null;
             BufferedInputStream bis = null;
             org.w3c.dom.Document _wsdlDocument = null;
     
             // Structurer l'URL
             try {
                 url = new URL("http://localhost:8080/axis/services/allo?wsdl");
             } catch (MalformedURLException e) {
                 // TODO Bloc catch auto-généré
                 e.printStackTrace();
             }
     
             // Charger en memoire le document WSDL
             try {
                 bis = new BufferedInputStream(url.openStream());
             } catch (IOException e) {
                 // TODO Bloc catch auto-généré
                 e.printStackTrace();
             }
     
             // créer une instance de ce document
             try {
                 _wsdlDocument = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(bis);
             } catch (SAXException e) {
                 // TODO Bloc catch auto-généré
                 e.printStackTrace();
             } catch (IOException e) {
                 // TODO Bloc catch auto-généré
                 e.printStackTrace();
             } catch (ParserConfigurationException e) {
                 // TODO Bloc catch auto-généré
                 e.printStackTrace();
             } 
     
             System.out.println("OK");
             // Extraire la definition
             try {
                 _WSDLDef = WSIFUtils.readWSDL("http://localhost:8080/axis/services/allo?wsdl", _wsdlDocument);
             } catch (WSDLException e1) {
                 // TODO Bloc catch auto-généré
                 e1.printStackTrace();
             }
         }
     }
    et voila l'erreur que j'obtient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     Exception in thread "main" java.lang.IllegalArgumentException: local part cannot be "null" when creating a QName
         at javax.xml.namespace.QName.<init>(QName.java:164)
         at javax.xml.namespace.QName.<init>(QName.java:113)
         at com.ibm.wsdl.util.xml.QNameUtils.newQName(Unknown Source)
         at com.ibm.wsdl.util.xml.QNameUtils.matches(Unknown Source)
         at com.ibm.wsdl.xml.WSDLReaderImpl.checkElementName(Unknown Source)
         at com.ibm.wsdl.xml.WSDLReaderImpl.parseDefinitions(Unknown Source)
         at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
         at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
         at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
         at org.apache.wsif.util.WSIFUtils.readWSDL(Unknown Source)
         at mainPack.MainClass.main(MainClass.java:65)
    je ne te cacherais pas que je n'ai pas vraiment compris la doc venant avec WSIF. la fonction qui me pose problemes est WSIFUtils.readWSDL, je n'arrive pas a comprendre la signification des argument, cette methode est surcharger de 7 maniere, j'ai essayer le modele suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     public static javax.wsdl.Definition readWSDL(java.lang.String contextURL,
                                                 org.w3c.dom.Document wsdlDocument)
                                          throws javax.wsdl.WSDLException
    je suis ouvert a toute suggestion

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 199
    Par défaut
    en fin de compte tu avais raison, faut faire simple, et ça marche, rajouter toutes les biblio:

    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
    52
    53
    54
    55
     
    package mainPack;
     
    import java.net.MalformedURLException;
    import java.net.URL;
     
    import javax.wsdl.Definition;
    import javax.wsdl.WSDLException;
    import org.apache.wsif.WSIFException;
    import org.apache.wsif.WSIFService;
    import org.apache.wsif.WSIFServiceFactory;
    import org.apache.wsif.util.WSIFUtils;
     
    public class MainClass {
     
        /**
         * @param args
         */
     
        // aller voir http://kickjava.com/src/wsdl/ClassLoaderTest.java.htm
        public static void main(String[] args) {
            // TODO Raccord de méthode auto-généré
            Definition _WSDLDef = null;
            URL url = null;
     
     
            // Structurer l'URL
            try {
                url = new URL("http://localhost:8080/axis/services/allo?wsdl");//"http://www.turbojugend-kuopio.com/ws/Laskin.wsdl");
            } catch (MalformedURLException e) {
                // TODO Bloc catch auto-généré
                e.printStackTrace();
            }
     
            System.out.println("Generate Definition of : "+url.getFile().toString());
            // Extraire la definition
            try {
                _WSDLDef = WSIFUtils.readWSDL(null, url.toString());
                        /*url.toString(),
                        _wsdlDocument);*/
            } catch (WSDLException e1) {
                // TODO Bloc catch auto-généré
                e1.printStackTrace();
            }
     
            try {
                WSIFService sq = WSIFServiceFactory.newInstance().getService(_WSDLDef);
            } catch (WSIFException e) {
                // TODO Bloc catch auto-généré
                e.printStackTrace();
            }
            System.out.println("OK");
     
        }
    }
    encore merci pour ton aide, tu ma enlever une grosse epine du pied.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33
  2. Problèmes avec le filtrage des ip
    Par berry dans le forum Réseau
    Réponses: 9
    Dernier message: 30/12/2002, 07h51
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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