2009-06-10 4 views
85

Ho bisogno di creare uno di questi come l'interfaccia lo richiede ... qualcuno può, per favore, farmi sapere come crearne uno, poiché non sembra esserci un punto definito?Come posso creare un'istanza di un oggetto JAXBElement <String>?

+13

scusa, sono un idiota. – miguel

+13

+1 come consolazione visto che è ancora una buona domanda – Damo

+2

Quasi -1. Se sei un idiota, lo sono anch'io :). Invece +1 per fare una domanda che mi ha aiutato. ;) – KjetilNordin

risposta

126

quando è stato importato il WSDL, si dovrebbe avere una classe ObjectFactory che dovrebbe avere sacco di metodi per la creazione di vari parametri di input.

ObjectFactory factory = new ObjectFactory(); 
JAXBElement<String> createMessageDescription = factory.createMessageDescription("description"); 
message.setDescription(createMessageDescription); 
1

Non so perché pensi che non ci sia costruttore. Vedi the API.

5

Ecco come lo faccio. Dovrai ottenere l'URL dello spazio dei nomi e il nome dell'elemento dal codice generato.

new JAXBElement(new QName("http://www.novell.com/role/service","userDN"), 
       new String("").getClass(),testDN); 
+3

È meglio utilizzare la classe ObjectFactory come indicato di seguito piuttosto che utilizzare il costruttore JAXBElement – Harish

5
ObjectFactory fact = new ObjectFactory(); 
JAXBElement<String> str = fact.createCompositeTypeStringValue("vik");  
comp.setStringValue(str); 
CompositeType retcomp = service.getDataUsingDataContract(comp); 
System.out.println(retcomp.getStringValue().getValue()); 
Problemi correlati