我有个错误:
无法解组到[class….message]:意外元素(uri:,local:“message”)。UnmarshaleException:意外元素(uri:,local:“message”)。预期元素为<{http://www.defaultnamespace.com/order}顺序><{http://www.defaultnamespace.com/xmlmsg}命令><{http://www.defaultnamespace.com/xmlmsg}结果><{http://www.defaultnamespace.com/xmlmsg}信息>
这是message.class:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"command",
"result"
})
@XmlRootElement(name = "MESSAGE")
@XmlSeeAlso({
ORDER.class
})
public class MESSAGE {
@XmlElement(name = "COMMAND")
@ApiModelProperty
protected COMMAND command;
@XmlElement(name = "RESULT")
@ApiModelProperty
protected RESULT result;
}
这是command.class:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"any"
})
@XmlRootElement(name = "DATA")
public class COMMAND{
@XmlAnyElement(lax = true)
protected List<Object> any;
}
这是order.class:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {})
@XmlRootElement(name = "ORDER")
public class ORDER {
@XmlAttribute(name = "BRAND_ID")
protected String brandid;
@XmlAttribute(name = "OID")
protected String oid;
}
这是order-package-info.java:
@javax.xml.bind.annotation.XmlSchema(namespace = "www.defaultnamespace.com/order", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package ...order;
这是命令和结果-package-info.java:
@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.defaultnamespace.com/xmlmsg", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package ....xmlmsg;
解组:
@PostMapping(path = "/someendpoint", consumes = {
MediaType.APPLICATION_XML
}, produces = MediaType.TEXT_XML)
public ResponseEntity<String> sendOrder(@RequestBody MESSAGE requestMessage) {
return null;
}
请求如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<MESSAGE>
<COMMAND>
<DATA>
<ORDER BRAND_ID="some" OID="some">
</ORDER>
</DATA>
</COMMAND>
</MESSAGE>
暂无答案!
目前还没有任何答案,快来回答吧!