草庐IT

Unmarshalling

全部标签

java - JAXB:如何使 JAXB 不将空字符串解码为 0

我有一个包含如下字段的DTO类:@XmlAttribute@NotNullprivateIntegernumber=null;我正在尝试解码xml,例如...number=""...我需要nuber字段保持为空,以便抛出验证异常。相反,JAXB将其解码为0。我怎样才能让它正常运行? 最佳答案 有争议,它是行为正确。number=""并不意味着null,它是一个空字符串,JAXB必须尝试正确处理它,并且它决定对于Integer数据类型最接近空字符串的是零。如果您想要一个null,那么应该完全省略number属性。如果你想定制这个行为,

java - 如何解码包含 DIFFGR 的 XML 代码

JAXB的新手,我正在尝试解码XML文档。我使用xjc命令从XSD文件构建DataSet和ObjectFactory:生成的NewDataSet类如下:packagegenerated;importjava.util.ArrayList;importjava.util.List;importjavax.xml.bind.annotation.XmlAccessType;importjavax.xml.bind.annotation.XmlAccessorType;importjavax.xml.bind.annotation.XmlElement;importjavax.xml.bin

javax.xml.绑定(bind).UnmarshalException : unexpected element (uri :""

我在将XML响应从服务转换为POJO时遇到异常。XML如下所示:这是我的XMLresponse.javax.xml.bind.UnmarshalException:unexpectedelement(uri:"",local:"ItemSearchResponse").Expectedelementsare我是这样使用它的:Documentresponse=getResponse(url);JAXBContextcontext=JAXBContext.newInstance(AmazonItem.class);UnmarshallerunMarshaller=context.creat

java - JAXB RI ClassFactory 中的空指针异常

介绍我和我的friend正在开发一个JavaFX应用程序,它充当我们学校的规划师。我们有任务(类作业)、Activity、类(class)和学生信息。为了尝试将数据持久存储在用户的硬盘上,我们使用JAXB。我们已经注释了我们的类,并且可以在包装器中成功编码Task类。问题是从tasks.xml解码文件。以下是相关的代码行:任务.java@XmlRootElementpublicclassTask{//constructors//completeconstructorpublicTask(StringclassName,Stringassignment,Stringdescription

java.rmi.UnmarshalException : error unmarshalling arguments; nested exception is: java. lang.ClassNotFoundException:ServicesTableau

关于JAVARMI,我需要你的帮助,我开发了一个用于对表进行排序的示例程序。但我得到了这个异常(exception):ErreurRemoteExceptionoccurredinserverthread;nestedexceptionis:java.rmi.UnmarshalException:errorunmarshallingarguments;nestedexceptionis:java.lang.ClassNotFoundException:ServicesTableau这是我的服务器源代码:publicclassServeur{publicstaticvoidmain(St

java - 使用 JAXB 解码通用列表

我有一个返回此XML的服务:successid1owner1id2owner2或successid1name1id2name2我想使用这些类解码检索到的XML:结果:@XmlRootElement@XmlAccessorType(XmlAccessType.FIELD)publicclassResponse{@XmlElementprotectedStringstatus;@XmlElementWrapper(name="result")@XmlElementprotectedListresult;}项目:@XmlRootElement@XmlAccessorType(XmlAcces

java - 如何重构 XSD 以便解码不返回 JAXBElement

我有以下架构:@javax.xml.bind.annotation.XmlRootElement(name="unit")当我解码这个XML时Name返回的对象是javax.xml.bind.JAXBElement,但是我想得到org.foo.bar.Unit背部。我需要这个,因为在我的案例中,解码是由JAX-RS提供程序或SpringWeb隐式发生的。观察:如果我删除/替换声明,JAXB开始返回org.foo.bar.Unit.如果我删除声明,JAXB开始返回org.foo.bar.Unit(尽管需要在解码期间禁用验证)。因此我会说给定的XSD是证明问题的最小XSD。问题:为什么JA

java - Jaxb UnMarshal 错误 : unexpected element (uri :"", 本地 :"processedSalesOrderTypeList")。预期的元素是

我正在尝试解码XML文件。我创建了Jaxb类,但是当我尝试解码时,它给了我:Exceptioninthread"main"javax.xml.bind.UnmarshalException:unexpectedelement(uri:"",local:"processedSalesOrderTypeList").Expectedelementsare,,,,,这是我的ObjectFactory.java类:@XmlRegistrypublicclassObjectFactory{privatefinalstaticQName_ProcessedSalesOrderMessage_QNA

java - JAXB-Unmarshalling 期间的 ObjectFactory 角色是什么?

我正在使用JAXB2.2.2来解析一个简单的XML-REST流。这是一段代码:JAXBContextjc=JAXBContext.newInstance("com.example.entities");Unmarshalleru=jc.createUnmarshaller();r=(Response)u.unmarshal(inputStream);对象工厂类:@XmlRegistrypublicclassObjectFactory{publicResponsecreateRsp(){returnnewResponse();}}响应类:@XmlAccessorType(XmlAcces

java - 解码 JAXB 的 WebLogic 12c 迁移问题

我们有一个当前在WebLogic10.3.5.0上运行的应用程序,我们正在迁移到WL12.1.2.0.0。我们遇到了对另一个应用程序的Un-marshallingWS调用的问题。我们熟悉升级时的Marshalling错误,但似乎这个问题并不相同。需要注意的是,它在相同WL版本的DEV/Test服务器上运行良好,但在本地部署时会返回以下错误(一定是env/configuration设置不匹配?):JAXBunmarshallingexception:null;nestedexceptionisjavax.xml.bind.UnmarshalException-withlinkedexce