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

Collection et Stream Java Discussion :

[DEBUTANT] Utiliser le type Map


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Battosaiii
    Invité(e)
    Par défaut [DEBUTANT] Utiliser le type Map
    Bonjour,

    J'utilise cette methode : java.util.Map getServices()
    sur un objet de type Definition (dans l'aPI WSDL4J).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Definition wsdlModel;
    WSDLReaderImpl reader = new WSDLReaderImpl();
    wsdlModel = reader.readWSDL(name);
    wsdlModel.getServices();
    A cet endroit dans le code je veux parcourir l'ensemble des elements du map
    getServices et trouver le nom de chaque service .
    Je fais ceci a l'aide de ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    services = info.getServices().entrySet().iterator();
    		while(services.hasNext()) {
    			//Service a = (Service)services.next();
    			System.out.println("name = "+services.next().getQName() );
    		}
    Lorsque je fais ceci il me dit :
    Exception in thread "main" java.lang.ClassCastException
    at WSDLInfos.main(WSDLInfos.java:64)

  2. #2
    Membre émérite
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Par défaut
    pour parcourir une Map il faut parcourir ses clefs et pour chaque clef prendre la valeur associée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Map map = info.getServices();
    Iterator services = map.iterator();
    while(services.hasNext()) {
    	Service service = (Service)map.get(services.next());
    	System.out.println("name = "+service.getQName() );
    }

  3. #3
    Battosaiii
    Invité(e)
    Par défaut
    Merci pour ton aide !
    Base sur ton conseil j'ai creer une fonction :

    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
    	public QName[] getServices() {
    		QName[] s = null;
    		int i=0;
    		Map map= wsdlModel.getServices();	
    		Iterator services = map.keySet().iterator();
    		while(services.hasNext()) 
    		{
    			Service service = (Service)map.get(services.next());
    			System.out.println("\n name of the service = "+service.getQName() );
    			s[i]=service.getQName();
    			i++;
    		}
    		return s;
    	}
    malheureusement j'obtiens :
    name of the service = {http://www.iona.com/bus/tests}SimpleServiceService
    Exception in thread "main" java.lang.NullPointerException
    at WSDLInfos.getServices(WSDLInfos.java:57)
    at WSDLInfos.main(WSDLInfos.java:73)
    La ligne en gras correspond a la ligne 57/ Pourquoi il me dit null exception alors que a l'evidence service.getQName() est different de null !

  4. #4
    Membre expérimenté Avatar de xv-mnt
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2005
    Messages : 142
    Par défaut
    C'est le tableau qui n'est pas instancié !!!
    Il faudrait écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    		int i=0;
    		Map map= wsdlModel.getServices();	
    		QName[] s = new QName[map.size()];
    non testé, mais devrait marcher...

  5. #5
    Battosaiii
    Invité(e)
    Par défaut
    Merci xv-mnt tu as resolu mon probleme !
    a+

Discussions similaires

  1. [Debutant] methode, mais utiliser comme type
    Par tornade69 dans le forum C#
    Réponses: 2
    Dernier message: 18/05/2013, 20h49
  2. Réponses: 10
    Dernier message: 06/02/2008, 17h35
  3. [debutant] problème avec type à utiliser
    Par mlequim dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 15/07/2005, 16h08
  4. Quel format de fichier utiliser pour les maps ?
    Par fb57 dans le forum OpenGL
    Réponses: 3
    Dernier message: 23/09/2004, 20h22
  5. utilisation du type DATE d'interbase
    Par dibak dans le forum InterBase
    Réponses: 4
    Dernier message: 05/01/2004, 15h03

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