Wie instanziiere ich ein JAXBElement Objekt?

Lesezeit: 1 Minute

Benutzer-Avatar
miguel

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?

Benutzer-Avatar
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);

Benutzer-Avatar
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());

Benutzer-Avatar
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.

1333520cookie-checkWie instanziiere ich ein JAXBElement Objekt?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy