Ich muss eine davon erstellen, da die Schnittstelle dies erfordert. Kann mir bitte jemand sagen, wie man einen erstellt, da anscheinend kein c’tor definiert ist?
Wie instanziiere ich ein JAXBElement Objekt?
miguel
Gaurav
Wenn Sie die WSDL importiert haben, sollten Sie eine haben ObjectFactory
Klasse, die eine Reihe von Methoden zum Erstellen verschiedener Eingabeparameter haben sollte.
ObjectFactory factory = new ObjectFactory();
JAXBElement<String> createMessageDescription = factory.createMessageDescription("description");
message.setDescription(createMessageDescription);
vik
ObjectFactory fact = new ObjectFactory();
JAXBElement<String> str = fact.createCompositeTypeStringValue("vik");
comp.setStringValue(str);
CompositeType retcomp = service.getDataUsingDataContract(comp);
System.out.println(retcomp.getStringValue().getValue());
JC.
Hier ist, wie ich es mache. Sie müssen die Namespace-URL und den Elementnamen aus Ihrem generierten Code abrufen.
new JAXBElement(new QName("http://www.novell.com/role/service","userDN"),
new String("").getClass(),testDN);
-
Es ist besser, die ObjectFactory-Klasse wie unten erwähnt zu verwenden, anstatt den JAXBElement-Konstruktor zu verwenden
– Harisch
1. Dezember 2011 um 5:10 Uhr
Andere Alternative:
JAXBElement<String> element = new JAXBElement<>(new QName("Your localPart"),
String.class, "Your message");
Dann:
System.out.println(element.getValue()); // Result: Your message
Ich weiß nicht, warum Sie denken, dass es keinen Konstruktor gibt. Sehen die API.