问题标签 [jaxb2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 将 xml 发布到 spring REST 端点没有被解组到相关的 Java 对象中
我有一个项目,其中给出了 xsd。我使用 xjc 编译器生成 Java 类。然后我用 XmlRootElement 属性注释类。我已经在 AnnotationMethodHandlerAdapter 中使用 Jaxb2 编组/解组 bean 配置了 sevlet。当我发送没有命名空间的 xml 时,我收到 415 错误。
源代码如下文件-web.xml
文件 - dispatcher-servlet.xml
文件 - user.xsd
使用此命令为上述 xsd 生成 Java 类。
该命令的输出是
使用 @XmlRootElement(name="user") 注释的 User.java。
文件 - UserService.java
用这个 curl 命令测试了 REST api
输出是
有人可以指出我哪里出错了。
谢谢
java - 在标准 JAXB2 POJO 中绑定嵌套元素
我有以下文档模型结构。
我已经弄清楚如何将 node1 和 node2 映射到带注释的 POJO 并且它们工作得很好。但是,我有点坚持如何将 groupOfNodes 中的嵌套节点绑定到 groupNodes 列表。这就是我到目前为止所拥有的。我浏览了 java 文档上的可用注释列表,我发现它@XmlList
可能@XmlElementWrapper
最接近我想要的,但我不确定如何在这种情况下使用它们。当我@XmlElementWrapper
在 groupNodesList 中输入 null 时。当我输入 @XmlList 时,我得到一个异常,说这GroupNode
是一个复杂的类型,要放在@XmlList
.
我应该改用 XPath 吗?如果可能的话,我希望看到一个使用标准 JAXB2 的代码示例。否则一些提示也会很棒。
我很感激!
jax-ws - 具有多态性的 WebResult 与 RequestWrapper 注释
我有一个类,如下所示:
以及从中继承的两个类:
然后我有一个SEI:
我的响应包装类看起来像这样:
}
所以这里的问题是,如果我直接通过 JAXB 测试 ResponseWrapper 并填充 TallPerson 对象,我会正确地将该对象编组到特定于 TallPerson 的 XML 中(同样适用于 SmallPerson)。
问题是当我在战争中部署它并启用它时,当为 TallPerson 返回结果时,除了一条空消息外,我从 Web 服务调用中什么也没有收到。事实上,我什至没有收到 <getPersonByIdResponse> 的响应包装器根 XML 元素。
所以我的问题是,如果我有一个多态请求或响应对象(在本例中为响应对象),WebResult 名称/目标名称空间如何影响 ResponseWrapper 中的参数。因为在我的情况下,我使用 XmlElementRefs 将我的基础对象 Person 正确编组为 TallPerson 或 SmallPerson,但这与 WebResult 上父类 Person 的命名空间/名称有何关系?我不确定是否有冲突导致无法生成 XML 响应。
谢谢
java - JAXB 编组器和解组器
我使用 JAXB 编组器将对象编组到 System.out,如下所示:
然后将输出保存到 x.xml 文件中:
接下来,我将此 x.xml 生成为 x.xsd 的模式文件:
最后我尝试根据 x.xsd 解组和验证 x.xml 文件,如下所示:
但它抱怨:
有人知道这里有什么问题吗?非常感谢!
java - 使用 JAXB 表示法创建嵌套结构
我想将 jaxb 注释与现有的 java 类一起使用来创建 XML 输入,但我不知道如何基于 Java 类创建嵌套的 xml 结构
java - JAXB 2.x:如何在不知道目标类的情况下解组 XML?
如果有办法,如何做到这一点,我想知道最优雅的一种。这是问题: - 假设您有一个抽象类 Z - 您有两个从 Z 继承的类:名为 A 和 B。
您可以像这样编组任何实例(A 或 B):
在生成的 XML 中,您可以看到它是什么类型的实例(A 或 B)。
现在,你如何解组喜欢
我得到一个 UnmarshalException 说
javax.xml.bind.UnmarshalException"
那么如何进行解组以获得 Z 的实例,然后可以在解组后进行测试,它是什么?例如 z instanceof A then... z instanceof B then something else... 等等。
感谢您提供任何想法或解决方案。
我正在使用 JRE1.6 和 MOXy 作为 JAXB Impl。
java - 将对象转换为 JAXBElement
我想实现一个返回 JAXBElement 的方法,下面是代码
现在我不知道如何在上面的类中创建一个返回 JAXBElement 的方法
例如
validation - Jaxb2 自定义验证消息,可能吗?
任何人都知道如何使用 JaxB 2.x 进行自定义验证消息?我需要知道哪个标签或对象属性导致了错误。我已经有一个自定义的ValidationEventHandler,但是handleEvent方法的ValidationEvent事件参数并没有带来Node信息,只是XML文档中与错误相关的行和列。我的意图是用更用户友好的方式自定义解组错误消息。有办法做到这一点吗?
谢谢!
sockets - 如何在不关闭套接字的情况下从套接字编组对象?(通过套接字从 Inputstream 进行 JAXB 编组)
我尝试了许多不同的方式来通过服务器和客户端之间的套接字连接发送我的 xml 文档,而无需在发送后关闭套接字(保持输出流打开,以发送另一个文档)。我找到了几个声称它应该工作的网站,所以我尝试了他们建议的所有方式,但我没有找到一种有效的方式。(这描述了我想做的事情:http: //jaxb.java.net/guide/Designing_a_client_server_protocol_in_XML.html)
如果我在发送 (@code marsh.marshal(element, xsw);) 后关闭套接字,则以下代码可以完美运行,但是如果我尝试保持套接字打开,它会卡在服务器端的解组中。
客户端....
服务器端....
java - 如何使用 jax-rs 将 bean 结构映射到不同的模式
我有这个豆子
我想将其序列化为
(或作为 json)
我应该怎么做,最好使用 jaxb 注释?
我正在使用球衣,但答案不必特定于它。