草庐IT

maven-jaxb-plugin

全部标签

java - JAXB:编码的 XML 中缺少具体类型信息 (xsi:type)

我正在从XSD为SOAPWebService生成JAXB类,我正在为其构建客户端(使用jaxws-maven-pluginv2.4.1生成,wsimport目标)。我遇到一个问题,JAXB在编码我的对象时不会将xsi:type-Information添加到抽象类型的节点。WebService现在(我认为这是理所当然的)提示我试图将元素传递给它而不指定它们是什么类型(“元素的类型定义不能是抽象的...”)。这是一个演示我的问题的简化示例:抽象类型架构:(abstract.xsd)具体类型模式:(concrete.xsd)测试:importcom.example.namespace_con

xml - 如何使用 JAXB 抑制 XSI

JAXB2的默认XML输出如下:17:02:26但我希望它像下面这样:17:01:08寻求帮助,我正在使用JDK6和JAXB2.1 最佳答案 您可以尝试使用@XmlSchema注释并执行以下操作:package-info.java@XmlSchema(elementFormDefault=XmlNsForm.QUALIFIED,namespace="http://projects/open/2012/UniformProxySystem",xmlns={@XmlNs(prefix="xsi",namespaceURI="http:/

java - MOXY 中的 JAXB 继承

我有两个类:packagea;classA{privatefieldOfClassA;//getters,andsetters}packageb;classBextendsA{privatefieldOfClassB;//getters,andsetters}我想将类B编码到一个xml元素并从类A添加属性fieldOfClassB和fieldOfClassA但它在编码期间打印以下警告消息:Ignoringattribute[fieldOfClassA]onclass[b.B]asnoPropertywasgeneratedforit.请注意,这两个类来自两个不同的包,我无法更改此对象模

java - 如何使用 JAXB 或 Jackson 有条件地序列化?外部 View 与内部 View

我正在构建一个RESTfulAPI,我有一个用例,我需要能够呈现我的数据的两个不同View。一个我们可以在内部使用,一个我们将在外部公开。此外,我的API需要同时支持XML和JSON。对于我的JSON响应,使用Jackson非常容易做到这一点。我可以使用JsonViews的功能有条件地在我的JSON响应中包含字段:http://wiki.fasterxml.com/JacksonJsonViews首先您需要创建一个简单的类来指定您的View:publicclassViews{publicstaticclassExternal{}publicstaticclassInternalexte

java - 使用 xsi :nil and attributes in .Net/Jaxb 创建 XML 元素

我有一个XMLSchema说:            ...              这意味着我必须能够创建一个如下所示的实例:根据XMLSchema规范,我可以(http://www.w3.org/TR/xmlschema-0/#Nils)。根据Microsoft.Net,我不能(http://msdn.microsoft.com/en-us/library/ybce7f69(v=vs.100).aspx),据其他人告诉我,Jaxb也不能。.Net和Jaxb都不兼容吗?我可以以某种方式覆盖以获得所需的输出吗? 最佳答案 在JAX

java - 如何使 JAXB 注释并提供 equals/hashcode 实现

我正在尝试使用JAXB从WSDL生成类,这些类用Jsr303Annotations注释并提供equals和hashcode的实现。这两者都是分开工作的,但是当我尝试同时满足这两个要求时,我得到了错误:发生内部错误:“构建工作区”。com.sun.tools.xjc.Plugin:Providerorg.jvnet.jaxb2_commons.plugin.fixjaxb1058.FixJAXB1058Plugin无法实例化:java.lang.NoClassDefFoundError:org/jvnet/jaxb2_commons/reflection/util/Accessor/p>

java - JAXB 编码,忽略 nillable

我有一个带有注释nillable=true的变量的类,我不希望它们出现在xml中。该类是从无法更改的xsd生成的。例子:一个看起来像这样的类:publicclassHi{...@XmlElement(name="hello",nillable=true)protectedLonghello;...}对象被JAXBContext创建的编码器编码。生成的xml变成:......Hi类是从无法更改的xsd生成的。我的问题是,如果“hello”为空,是否有办法让编码器忽略可空参数并且不向xml输出任何内容? 最佳答案 一种方法是实现deco

java - JAXB:解码并不总是填充某些类?

我有一个JAXB类生成问题,希望得到一些帮助。这是我的问题根源的XML部分.........现在这将生成JAXBElement由于choice类型用maxOccurs>1.我想避免这些,所以我通过修改代码以使用“Wrapper”元素并移动maxOccurs来做到这一点。直到序列标签如下...对于类生成,看起来效果很好——JAXB元素被包装器列表替换为String(即List)并编译正常。但是,当我将实际的XML数据解码到生成的类中时,包装类中的数据未填充-但JAXB不会抛出异常。我的问题是:我是否需要以不同的方式更改架构才能使其正常工作?或者我可以在生成的代码或注释中添加/更改/删除某

xml - JAXB 2 注释和 XSD

在JAXB1.0时代,使用java对象、XSD和XML的推荐方法是从XSD定义开始,使用JAXB从XSD生成java类并维护XSD。但现在有了JAXB2.0注释,从java类生成XSD非常方便。是否建议采用从Java类和注释开始并生成XSD的方法?谢谢, 最佳答案 我建议开发人员从对象模型入手并对其进行注释以获得所需的XML。这为您在创建应用程序时提供了更大的灵active(例如还使用JPA将映射到数据库)。当您想要共享结构时(例如作为WSDL的一部分),您只需要生成XML模式。查看我的博客以获取从模型类开始的JAXB示例:http

ruby - 是否有用于 Ruby(如 JAXB)的 XML 绑定(bind)库?

Ruby是否有任何工具可以将XML(SOAP)转换为对象,反之亦然?如果可能,从XML模式(XSD)生成所有对象(模型)。我曾多次使用JAXB工具(Java语言),我需要类似的东西:从XML模式生成模型轻松创建用于序列化和反序列化的组件轻松创建用于将对象存储到数据库的组件如果可能,根据该模式生成数据库表你知道这方面的工具吗?您会推荐什么方法来完成这样的任务?感谢您的回答。 最佳答案 Savon应该涵盖其中的SOAP部分。 关于ruby-是否有用于Ruby(如JAXB)的XML绑定(bin