草庐IT

xml - jaxbcontext 生成不完整的模式?

我在使用JAXB时遇到了一个奇怪的问题。我已经使用xjc从我的XSD生成我的java类,一切看起来都不错。如果我使用schemagen,它会生成一个与我的原始xsd相匹配的正确模式。但是,如果我使用JAXBContext.generateSchema(),那么生成的模式是不完整的。我使用OracleJava1.6.0_29和jaxb-2.2.4-1.jar作为实现。我附上了Java代码(生成模式)和下面的xsd以及jaxb调用的输出。CalculateBorrowingDataResponse.xsd:Java代码://CreatingtheXMLtreeJAXBContextjc=J

java - 使用 Jackson API 和 JAXB 注释将 JSON 转换为 XML,反之亦然

我正在尝试编写一个代码,它可以分别接受XML或JSON输入和输出JSON或XML。即,如果我提供XML,它应该返回JSON,如果我提供JSON,它应该提供XML输出。有人告诉我这可以使用JacksonAPI和JAXB注释实现。谁能帮我解决这个问题? 最佳答案 注意:我是EclipseLinkJAXB(MOXy)JAXB(JSR-222)的领导和成员专家组。下面是一个示例,说明如何使用MOXy的JSON绑定(bind)来支持此用例。Java模型下面是一个使用JAXB元数据注释的域模型示例。相同的元数据将用于对象到XML和对象到JSON

xml - 在外部绑定(bind)文件中设置 XJC javaType 适配器

我有一个包含以下内容的XSD文件:我想将xjcjavaType适配器导出到外部.xjb文件。在此文件中,我想为所有xsd:base64Binary类型的certificate元素设置此适配器,但不为中的document元素设置此适配器Server复杂类型,也有xsd:base64Binary类型。我该怎么做? 最佳答案 改变你的xsd并添加这个绑定(bind)配置 关于xml-在外部绑定(bind)文件中设置XJCjavaType适配器,我们在StackOverflow上找到一个类似的问

java - JAXB Java 和 XSD 映射

在我的一个项目中,我使用JAXB2编码器,它有一个契约优先的Web服务,我从XML模式生成对象。一切正常。但是,我有一个“代码可用性”问题。让我举个例子。架构:因此,为了访问PersonContractAlerts列表,我必须调用:PersonContractAlertsResponse.getPersonContractAlertListType().getPersonContractAlert()有点长。我的问题是:如何摆脱getPersonContractAlertListType()并直接转到:PersonContractAlertsResponse.getPersonCont

java - 为什么 MOXy JAXB 编码为空字符串而 JAXB 引用实现却没有?

下面显示的JUnit测试在使用MOXy时失败(在我的环境中),但适用于JAXB引用实现。预期的结果XML是:2但打开MOXy-jaxb.properties包含:javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory生成的XML字符串为空。这种行为的原因可能是什么,需要采取什么措施来解决?我已尝试使用EclipseLinkMOXy版本2.5.1和2.4.2-请参阅下面的pom.xml片段。依赖项是pom.xml中的第一个,然后是许多其他依赖项(这可能也破坏了展示)。org.eclips

java - 将 JAXB 注释类用于 JAXWS 服务

我有一个像这样工作的网络服务:@WebService(serviceName="TempService")publicclassTempService{@WebMethod(operationName="addBarkod")publicBooleanaddBarkod(@WebParam(name="barkod")Barkodbarkod){System.out.println(barkod.getBarkodNo());}}Barkod类为:publicclassBarkod{privateStringbarkodNo;//thereareconstructorsandgette

java - 在 JAXB Marshalling 中,如何识别哪个子元素导致了 JAXB Marshalling Exception?

我在编码我的JAXBElement时遇到了这个异常,它有几个子元素。我如何弄清楚如何查明导致此异常的子元素?java.lang.NullPointerExceptionatcom.sun.xml.bind.v2.runtime.property.AttributeProperty.getIdValue(AttributeProperty.java:128)atcom.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.getId(ClassBeanInfoImpl.java:320)atcom.sun.xml.bind.v2.runtime.reflec

java - 使用 JAXB 忽略根元素

我正在使用Spring及其REST模板,使用JAXB将XML从Web服务绑定(bind)到域对象。Web服务返回的XML如下:1bob...我有一个用户类如下:publicclassUser{privateStringid;privateStringname;}是否可以忽略“response”元素,将根元素指定为“user”?感谢您的帮助。 最佳答案 代表您的类的XML有一个根标签。所以:或者您使用java解析器提取用户子树,然后使用JAXB,否则你创建另一个类response映射您的网络服务响应。我建议第二个选择。对于信息,当您使

java - JAXB 解码具有不同属性的相同元素 (lang)

我有一个RESTxml提要,具有以下语言区分用法Letní2001/2002Summer2001/2002除了名称之外,lang属性出现在多个不同的元素中。有没有一种方法可以让我根据所选语言仅使用一个元素轻松解码它?或者得到一个List或更好的Map两者?我知道我可以通过为每个元素创建一个不同的类来做到这一点,但我不想仅仅因为语言选择就为每个资源创建五十个类。编辑:我还没有考虑过MOXy,如果仅靠JAXB无法做到这一点,我可能不得不考虑。 最佳答案 注意:我是EclipseLinkJAXB(MOXy)JAXB(JSR-222)的领导

java - 当 Java 类具有 java.util.Properties 时如何进行 JAXB 转换?

我有一个带有“id”字符串字段和java.util.Properties字段及其getter和setter的Java类。我如何使用JAXB将此类的实例转换为XML?非常感谢! 最佳答案 因为JAXB显然可以处理collections,但不是maps,您可以提供自己的propertiesCollectionView字段,基于AbstractCollection.@XmlType(name="property")classXmlProperty{@XmlAttributepublicStringkey;@XmlValuepublicSt