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:
Je préfèrerais utiliser mon EJB DAO dans l'EJB 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(); }
Question: Que faut-il écrire à droite de JAXBContext jc =???
Pour l'instant, j'en suis là:
Merci si certains ont une idée!
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(); }







Répondre avec citation
Partager