将xml文档解组为Java对象(jaxb)时出现问题
我使用xjc从XSD创建java对象 现在我尝试将xml文档解组到java对象,但我得到:将xml文档解组为Java对象(jaxb)时出现问题,xml,jaxb,xml-namespaces,unmarshalling,Xml,Jaxb,Xml Namespaces,Unmarshalling,我使用xjc从XSD创建java对象 现在我尝试将xml文档解组到java对象,但我得到: javax.xml.bind.UnmarshaleException:意外元素(uri:),本地:“GlobalComponentInformation 这里有吗 编辑: 我正在传递一个org.w3c.dom.Document对象,它是从web服务调用(AxisWeb服务)返回的 注意,从ws返回的要在此处解析的文档对象包含以下根元素: <GlobalInformationResponseDocum
javax.xml.bind.UnmarshaleException:意外元素(uri:),本地:“GlobalComponentInformation
这里有吗
编辑:
我正在传递一个org.w3c.dom.Document对象,它是从web服务调用(AxisWeb服务)返回的
注意,从ws返回的要在此处解析的文档对象包含以下根元素:
<GlobalInformationResponseDocument xmlns="" />
套餐信息:
@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.mycompany.com/GlobalInformationResponseExt",
elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package com.company.jaxb.client;
从web服务类接收的根元素:
<GlobalInformationResponseDocument xmlns="" />
您需要修复XML文档,或者更改JAXB映射以匹配文档。在这种情况下,请删除包信息。从web服务类接收的根元素:
<GlobalInformationResponseDocument xmlns="" />
您将需要修复XML文档,或者更改JAXB映射以匹配文档。在这种情况下,请删除包信息。根类上的@XmlRootElement是什么样子的?包信息类是什么样子的(如果有)?以及您正在解组的XML输入类型(流、DOM等)?GlobalComponentInformation从何而来?它可能在解析的XML响应中返回?您没有在XSD中定义它吗?根类上的@XmlRootElement是什么样子的?包信息类是什么样子的(如果有)?还有您正在解组的XML输入类型(流、DOM等)?GlobalComponent信息从何而来?它可能在解析的XML响应中返回?您没有在XSD中定义它吗?我确实更改了XML文档,然后传递给JAXB封送处理对象,该对象不接受修改的对象,除非我将文档转换为字符串,然后再转换为文档!当您更改了xml文档“?由于将文档转换为字符串并返回到文档是有效的,我假设您的更改没有正确地解决名称空间不匹配的问题。我确实更改了xml文档,然后传递到JAXB封送处理对象,该对象不接受修改的对象,除非我将文档转换为字符串,然后再转换为文档!当您“更改了xml文档”?由于将文档转换为字符串并返回到文档是有效的,我假设您的更改没有正确地解决名称空间不匹配的问题。
<GlobalInformationResponseDocument xmlns="http://www.mycompany.com/GlobalInformationResponseExt" />
@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.mycompany.com/GlobalInformationResponseExt",
elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package com.company.jaxb.client;