I have a generated class that looks like below. I need to call setAmount() from a POJO, but I don't know what value to pass for the arg. It takes type JAXBElement, and I haven't found a way to instantiate that.
I have an ObjectFactory, but it only creates the class CardRequest.
Can anyone suggest a way?
@XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "amount", }) @XmlRootElement(name = "card-request") public class CardRequest { @XmlElementRef(name = "amount", namespace = "http://mycompany/services", type = JAXBElement.class) protected JAXBElement<String> amount; public JAXBElement<String> getAmount() { return amount; } public void setAmount(JAXBElement<String> value) { this.amount = ((JAXBElement<String> ) value); } }
You can do the following: JAXBElement<String> jaxbElement = new JAXBElement(new QName("http://mycompany/services", "amount"), String. class, "Hello World"); There should also be a create method on the generated ObjectFactory class that will create this instance of JAXBElement with the appropriate info for you.
Code example extracted from Stack Overflow: ObjectFactory factory = new ObjectFactory(); JAXBElement<String> createMessageDescription = factory. createMessageDescription("description"); message. setDescription(createMessageDescription);
QName getName() This method returns the xml element tag name. 3. Class getScope() This method returns scope of xml element declaration.
You can do the following:
JAXBElement<String> jaxbElement = new JAXBElement(new QName("http://mycompany/services", "amount"), String.class, "Hello World"); There should also be a create method on the generated ObjectFactory class that will create this instance of JAXBElement with the appropriate info for you.
ObjectFactory objectFactory = new ObjectFactory(); JAXBElement<String> jaxbElement = objectFactory.createAmount("Hello World"); If the element definition is nested within your schema the name of the create method might be longer such as createCardRequestAmount().
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With