[英]Set request object as JAXBElement using Java
我正在嘗試使用Java設置一個請求對象。 但是,它要求它僅接受JAXBElement對象,因此我不確定如何創建這樣的請求對象。 我的請求對象有一組setter和getter。 這是我的代碼
LOSRequest losRequest = new LOSRequest();
losRequest.setData(request);
可能的解決方案:setData(javax.xml.bind.JAXBElement)
這是LOSRequest
@javax.xml.bind.annotation.XmlAccessorType(javax.xml.bind.annotation.XmlAccessType.FIELD)
@javax.xml.bind.annotation.XmlType(name = "LOSRequest", propOrder = {"data", "requestid", "userCtx"})
public class LOSRequest {
@javax.xml.bind.annotation.XmlElementRef(name = "data", namespace = "http://to.service.los/xsd", type = javax.xml.bind.JAXBElement.class)
protected javax.xml.bind.JAXBElement<java.lang.String> data;
@javax.xml.bind.annotation.XmlElementRef(name = "requestid", namespace = "http://to.service.los/xsd", type = javax.xml.bind.JAXBElement.class)
protected javax.xml.bind.JAXBElement<java.lang.String> requestid;
@javax.xml.bind.annotation.XmlElementRef(name = "userCtx", namespace = "http://to.service.los/xsd", type = javax.xml.bind.JAXBElement.class)
protected javax.xml.bind.JAXBElement<los.service.to.xsd.LOSUserContext> userCtx;
有任何想法嗎?
使用帶注釋的成員:
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlType;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "LOSRequest", propOrder = {"data", "requestid", "userCtx"})
public class LOSRequest {
@XmlElementRef(name = "data", namespace = "http://to.service.los/xsd", type = JAXBElement.class)
protected String data;
// Getter/Setter
}
那你應該可以做
LOSRequest l = new LOSRequest();
l.setData("foo");
編輯:
這與包裹成員的代碼不同:
protected JAXBElement<String> data;
當然,這種包裝使不可能將簡單的String
設置為data
成員的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.