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

API standards et tierces Java Discussion :

[Reflection] Probleme d'appel newInstance()


Sujet :

API standards et tierces Java

  1. #1
    Membre éprouvé

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut [Reflection] Probleme d'appel newInstance()
    Bonjour, j'ai un petit probleme d'introspection Java,

    En fait je travaille avec Axis de Apache qui permet de generer des classes java associees a un fichier wsdl decrivant un webservice...

    J'utilise l'introspection pour creer une instance de chacune de ces classes generées, et la tout ce passe bien sauf (je pense que c est pour ça) pour les classes qui ont un constructeur protected???


    Comment remedier a cela

    Merci

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    dns ce cas, il te faut réellement introspecter, violet la sécurité et invoquer le constructeur explicitement.

    Je te retrouve un morceau de code cet aprèm si tu ne t'en sort pas ok ?

  3. #3
    Membre éprouvé

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    Salut et merci Alwin mais j ai trouve le probleme je procede comme ceci:
    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
     
    		//Getting constructor (c est une simulation je prend une classe en dur)
    		String className = Address.class.getName();
    		Class stateClass = Class.forName(className);
    		Constructor[] constructs =  stateClass.getDeclaredConstructors();
     
    		if(constructs.length == 0)
    			System.out.println("Pas de constructeurs");
    		else{
    			for(int cpt = 0; cpt<constructs.length; cpt++){
    				System.out.println("Constructeur: " + constructs[cpt].getName());
    				//Modification de l accessibilite
                                        constructs[cpt].setAccessible(true);
    				if(Modifier.isProtected(constructs[cpt].getModifiers()))
    					System.out.println("Protected");
     
                                        //Instance creation
    				constructs[cpt].newInstance(new Object[]{"tx"});
    			}			
    		}
    Merci

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

Discussions similaires

  1. [XSLT] [MSXML] probleme d'appel a javascript
    Par nemya dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 16/01/2006, 14h01
  2. [Reflection] Problème Introspection
    Par korus dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 29/09/2005, 09h59
  3. probleme d'appel de fonction!
    Par transistor49 dans le forum C++
    Réponses: 5
    Dernier message: 11/03/2005, 10h46
  4. Réponses: 8
    Dernier message: 13/08/2004, 12h32
  5. [Reflection]Probleme d'InstantiationException
    Par guipom dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 23/05/2004, 23h28

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