javax.xml.bind.UnmarshaleException:意外元素(uri:
在尝试使用jaxb将xml响应转换为java对象时,我遇到以下错误javax.xml.bind.UnmarshaleException:意外元素(uri:,java,jaxb,Java,Jaxb,在尝试使用jaxb将xml响应转换为java对象时,我遇到以下错误 javax.xml.bind.UnmarshalException: unexpected element (uri:"http://SOMETHING/doc/2006-03-01/", local:"Name"). Expected elements are <{}Name>,<{}IsTruncated>,<{}MaxKeys>,<{}Contents>,<
javax.xml.bind.UnmarshalException: unexpected element (uri:"http://SOMETHING/doc/2006-03-01/", local:"Name"). Expected elements are <{}Name>,<{}IsTruncated>,<{}MaxKeys>,<{}Contents>,<{}Prefix>,<{}Marker>
最后,我的解组代码是:
JAXBContext jc = JAXBContext.newInstance(ListBucketResult.class);
Unmarshaller unmarshaller = jc.createUnmarshaller();
unmarshaller.setEventHandler(new javax.xml.bind.helpers.DefaultValidationEventHandler());
JAXBElement element = (JAXBElement) unmarshaller.unmarshal (inputStream);
ListBucketResult customer = (ListBucketResult) element.getValue();
有人能告诉我我做错了什么吗?XML文档包含的元素是http://something/doc/2006-03-01/'命名空间,但注释的java类与该命名空间不关联。请尝试将@XmlType注释更改为:
@XmlType(name = "", namespace="http://something/doc/2006-03-01/", propOrder = { ...
您可以在package info类上使用@XmlSchema注释来控制命名空间限定。如果您已经编写了package info类,请确保正在编译该类。某些版本的ant在package info类方面存在问题
包裹信息
更多信息
我得到了类似的错误org.codehaus.jackson.JsonParseException和javax.xml.bind.unmarshaleexception:带有链接的异常:[javax.xml.bind.unmarshaleexception:意外的元素uri:sometext,local:elementA。预期的元素为 这是在将RESTEasy和Spring与使用JAXB生成的DTO集成时,我使用Jackson进行转换 为了解决这个问题,我在Maven依赖项中引入了Jackson库,它解决了我的问题
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-xc</artifactId>
<version>1.9.9</version>
</dependency>
还有其他我需要的Jackson罐子,所以我的POM基本上如下所示
//The jackson-core-asl jar contains streaming JSON parser and generator interfaces and implementations
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.9</version>
</dependency>
//Ability to use JAXB annotations containing classes needed to add XML compatibility support.
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-xc</artifactId>
<version>1.9.9</version>
</dependency>
//Mapper jar contains functionality for data binding:
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.9</version>
</dependency> //This dependency makes a JAX-RS implementation like Jersey,RESTEasy use Jackson for binding of JSON to-from Java objects
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-jaxrs</artifactId>
<version>1.9.9</version>
</dependency>
您好,更改此选项没有帮助。@xmlacessortypexmlacesstype.FIELD@XmlTypename=,namespace=,propOrder={name,prefix,marker,maxKeys,isTruncated,contents}无论采用何种机制,该问题都是名称空间问题。exception方法表示提供了一个完全限定名为{}name的元素,根据提供的xml,该元素是正确的,但是{}的元素需要名称和其他名称。后者是默认命名空间中的一个元素。异常现在是完全相同的还是有轻微更改?您好,感谢所有注释。只需删除@XmlTypename=,Propoder={name、prefix、marker、maxKeys、isTruncated、contents}将名称空间参数添加到@XmlType注释中对我来说非常有用!
@XmlSchema(
namespace = "http://something/doc/2006-03-01/",
elementFormDefault = XmlNsForm.QUALIFIED)
package example;
import javax.xml.bind.annotation.XmlNsForm;
import javax.xml.bind.annotation.XmlSchema;
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-xc</artifactId>
<version>1.9.9</version>
</dependency>
//The jackson-core-asl jar contains streaming JSON parser and generator interfaces and implementations
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.9</version>
</dependency>
//Ability to use JAXB annotations containing classes needed to add XML compatibility support.
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-xc</artifactId>
<version>1.9.9</version>
</dependency>
//Mapper jar contains functionality for data binding:
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.9</version>
</dependency> //This dependency makes a JAX-RS implementation like Jersey,RESTEasy use Jackson for binding of JSON to-from Java objects
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-jaxrs</artifactId>
<version>1.9.9</version>
</dependency>