SRAssignments.java(包装类):
@XmlRootElement
@XmlType(propOrder = {})
public class SRAssignments
{
@XmlElement(name = "srAssignments", type = SRAssignment.class) private
List<SRAssignment> srAssignments = new ArrayList<SRAssignment>();
public SRAssignments()
{
}
@SuppressWarnings("javadoc")
public SRAssignments(List<SRAssignment> srAssignments)
{
this.srAssignments = srAssignments;
}
@SuppressWarnings("javadoc")
public List<SRAssignment> getAssignments()
{
return this.srAssignments;
}
@SuppressWarnings("javadoc")
public void setAssignments(List<SRAssignment> srAssignments)
{
this.srAssignments = srAssignments;
}
}
客户端代码:
StringBuilder getAssignmentsResponse =
(StringBuilder) RestClientUtil.sendGetMethod(urlGetAssignments
+ URLEncoder.encode(technician, "UTF-8"));
Unmarshaller unmarshaller = RestClientUtil.getUnmarshaller(SRAssignments.class);
reader = new StringReader(new String(getAssignmentsResponse));
assignments = (SRAssignments) unmarshaller.unmarshal(reader);
getAssignmentsResponse中的XML内容显示:
<?xml version="1.0" encoding="UTF-8"?><sRAssignments><srAssignment><assignedBy><bonus>0.0</bonus><commission>0.0</commission><educationLevel>1</educationLevel><email>email1@test.com</email><empNo>RMGR1</empNo><firstName>first1</firstName><lastName>last1</lastName><role>manager</role><salary>0.0</salary></assignedBy><assignedOn>2012-12-26T14:09:41.763-08:00</assignedOn><comment>remote agent assigning a request...</comment><employee><bonus>0.0</bonus><commission>0.0</commission><educationLevel>1</educationLevel><email>email1@ge.com</email><empNo>TN1</empNo><firstName>first1</firstName><lastName>last1</lastName><role>technician</role><salary>0.0</salary></employee><serviceRequest><customer><city>city1</city><companyName>companyName1</companyName><custNo>RCN1</custNo><email>email1@ge.com</email><firstName>first1</firstName><gender>F</gender><lastName>last1</lastName><midInit>K</midInit><phone>4082229871 </phone><state>CA</state><streetAddress>streetAddress1</streetAddress><title>S </title><zipCode>zipCode </zipCode></customer><dateCreated>2012-12-26T14:09:38.678-08:00</dateCreated><description>Stress testing, customer is submitting a service request for some repair request.10Request by: Thread-1</description><srNo>107824</srNo><status>2</status></serviceRequest><sraId>34974</sraId><status>1</status></srAssignment></sRAssignments>
javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"sRAssignments"). Expected elements are <{}customer>,<{}customerSurvey>,<{}employee>,<{}serviceRequest>,<{}srAssignment>,<{}srAssignments>,<{}surveyResponse>
at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:662)
at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:258)
at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:253)
at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:120)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext$DefaultRootLoader.childElement(UnmarshallingContext.java:1063)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:498)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:480)
at com.sun.xml.bind.v2.runtime.unmarshaller.SAXConnector.startElement(SAXConnector.java:150)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:400)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:626)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3104)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:921)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:217)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:189)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:137)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:194)
at com.ge.dsp.iworkRemote.remoteAgents.TechnicianRemoteAgent.getAssignmentsByEmployee(TechnicianRemoteAgent.java:134)
at com.ge.dsp.iworkRemote.remoteAgents.TechnicianRemoteAgent.execute(TechnicianRemoteAgent.java:86)
at com.ge.dsp.iworkRemote.remoteAgents.TechnicianRemoteAgent$TechnicianAgentRunner.run(TechnicianRemoteAgent.java:256)
at java.lang.Thread.run(Thread.java:662)
下面注释的大小写与从响应中读取的xml不同。
@XmlElement(name = “srAssignments”, type = SRAssignment.class)
检查你的箱子。你那端的注释应该如下所示。
@XmlElement(name = "sRAssignments", type = SRAssignment.class)
问题内容: 从xml解组时遇到异常 组类没有任何注释,而group.xml仅包含数据。 有什么原因吗? 问题答案: 看起来您的XML文档具有根元素“ Group”而不是“ group”。您可以: 将XML上的根元素更改为“ group” 将注释@XmlRootElement(name =“ Group”)添加到Group类。
你可以在这个网站找到很多这样的问题,但没有一个解决了我的问题。 这是我的XML: 我已经使用XJC编译器创建了Jaxb类,创建的文件如下所示:
从xml反编组时遇到异常 } 我为systemUnit类添加了注释@xmlRootelement(name=“systemUnit”)。 有人能帮我解决这个问题吗
嗨,我已经使用wsimport从WSDL生成了java类,但是我已经将响应写到了一个文件*.xml中。但是现在我想读取这个xml文件并填充已经生成的java类。 我试过: XML如下所示: 或者我能做什么?
我正在尝试将JSON解组为Java对象。我看到的关于解析XML的帖子很少。所以我希望问题不要重复 我的Java类有以下注释 我使用的是来自cxf-rt-rs-extension-providers-version-2.7.3的org.apache.cxf.jaxrs.provider.json.JSONProvider 我得到以下错误 UnMarshalException:意外元素(URI:“”,
重要提示:我想说明我已经读过javax.xml.bind.UnmarshalException:意外元素。预期的元素是(无),并尝试了建议的解决方案,但没有成功。 我尝试将反序列化为用生成的类。这是代码: 这是一个错误: UnMarshalException:意外元素(URI:“”,local:“id”)。所需元素为(无) 这是原始的: 我使用的是8(Azul ZuluFx 8.0.202)和2.
我知道有很多像这样的问题,但没有一个给我提供正确的答案,所以我来这里。 下面是我得到的XML: 下面是相关的java类: