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