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

JPA Java Discussion :

Appel d'un EJB dans un JAXBContext


Sujet :

JPA Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Octobre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2012
    Messages : 4
    Par défaut Appel d'un EJB dans un JAXBContext
    Bonjour,

    C'est mon premier post!...
    Je cherche à obtenir un document XML qui représente les champs d'un entity dans une application cliente.

    J'ai:
    -un Entity Bean: BwfXml.java annoté en JAXB
    -des sessions Beans DAO CRUD générés par netbeans
    -un session Bean Métier que je souhaite utiliser chez le client.

    Pour l'instant, ce qui fonctionne, c'est d'utiliser directement l'entity manager dans le bean métier:
    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
     
    @Stateless
    public class MetaDB implements MetaDBRemote {
     
    StringWriter writer = new StringWriter();
    EntityManagerFactory emf=Persistence.createEntityManagerFactory("MetaBWFEJB-ejbPU");
    EntityManager em=emf.createEntityManager();     
     
        @Override
        public String getFullIxml(int bwfID) {
            try {
                       JAXBContext jc = JAXBContext.newInstance(BwfXml.class);
     
                       Marshaller marshaller = jc.createMarshaller();
                       marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,true);
                       BwfXml bwfxml = em.find(BwfXml.class,bwfID);
                       marshaller.marshal(bwfxml, writer);
     
            }
     
            catch (JAXBException ex) {
                Logger.getLogger(MetaDB.class.getName()).log(Level.SEVERE, null, ex);
            }
            return writer.toString();
        }
    Je préfèrerais utiliser mon EJB DAO dans l'EJB métier.
    Question: Que faut-il écrire à droite de JAXBContext jc =???

    Pour l'instant, j'en suis là:

    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
     
    @Stateless
    public class MetaDB implements MetaDBRemote {
        @EJB
        private BwfXmlFacadeLocal bwfXmlFacade;
    StringWriter writer = new StringWriter();
     
        @Override
        public String getFullIxml(int bwfID) {
            try {
                        JAXBContext jc = JAXBContext.newInstance("BwfXmlFacadeLocal"); //Surement Faux!!
     
                       Marshaller marshaller = jc.createMarshaller();
                       marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,true);
                       BwfXml bwfxml = em.find(BwfXml.class,bwfID);
    //                   marshaller.marshal(bwfxml, writer);
     
            }
            catch (JAXBException ex) {
                Logger.getLogger(MetaDB.class.getName()).log(Level.SEVERE, null, ex);
            }
            return writer.toString();
        }
    Merci si certains ont une idée!

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Octobre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur multimédia
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2012
    Messages : 4
    Par défaut ça fonctionne
    Bonjour,

    J'avais pas bien compris JAXBContext.
    Voici ce qui fonctionne:
    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
     
        @Override
        public String getFullIxml(int bwfID) {
            try {
                JAXBContext jc = JAXBContext.newInstance(BwfXml.class);
                Marshaller marshaller = jc.createMarshaller();
                marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,true);
     
                BwfXml bwfxml = audioFileFacade.find(bwfID).getBwfXmlid();
                  marshaller.marshal(bwfxml, writer);
            } catch (JAXBException ex) {
                Logger.getLogger(MetaIxmlIO.class.getName()).log(Level.SEVERE, null, ex);
            }
            return writer.toString();
        }

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

Discussions similaires

  1. Appel d'un EJB dans une page JSP
    Par sheridan08 dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 02/04/2013, 00h38
  2. appel d'un EJB dans une jsp
    Par jimboo dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 12/12/2011, 15h55
  3. Réponses: 1
    Dernier message: 04/06/2003, 12h48
  4. Appel à des fonctions incluses dans des DLL
    Par Greybird dans le forum Langage
    Réponses: 3
    Dernier message: 26/05/2003, 14h33

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