从 JAX-WS 生成 XSD 时如何避免 XSD 序列?

2024-01-03

当我注释了 java 类时

@javax.xml.bind.annotation.XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class UserdataType {

    String username;
    String street;
    String address;

它将生成为

<xs:complexType name="userdataType">
<xs:sequence>
<xs:element name="username" type="xs:string" minOccurs="0"/>
<xs:element name="street" type="xs:string" minOccurs="0"/>
<xs:element name="address" type="xs:string" minOccurs="0"/>

因此,默认情况下 JAX-WS 始终在 XSD 文件中生成“序列”。

这迫使客户注意元素的确切顺序,这在某些情况下没有帮助。

有没有办法生成与序列不同的东西?


Add an XmlType http://download.oracle.com/javaee/5/api/javax/xml/bind/annotation/XmlType.html注释为空propOrder, 像这样:

 @XmlType(propOrder={})

然后它会生成一个xs:all(无序)而不是序列。

<xs:complexType name="userdataType">
  <xs:all>
    <xs:element name="username" type="xs:string" minOccurs="0"/>
    <xs:element name="street" type="xs:string" minOccurs="0"/>
    <xs:element name="address" type="xs:string" minOccurs="0"/>
  </xs:all>
</xs:complexType>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 JAX-WS 生成 XSD 时如何避免 XSD 序列? 的相关文章

  • 过滤掉来自第三方框架的log4j消息?

    如何过滤来自外部第三方框架的日志消息 我正在使用 Hibernate 和 Spring 框架 我想抑制日志 以便只显示我的 log4j 日志 在我的 log4j properties 文件中 我将根记录器日志记录级别设置为 ERROR 然后
  • 如何为 Runnable 分配方法引用值

    我有一个关于 Java 8 的问题Runnable public static void main String args Runnable r1 Test t1 Runnable r2 Test t2 Runnable r3 Test t
  • 我想最小化@Transactional 的范围吗?

    不确定 范围 在这里是否是正确的术语 我使用 Spring 进行 JPA 事务管理 下面有 Hibernate 我执行数据库事务的方法是私有的 但是由于您只能在类或类上设置 Transactional公共方法 http static spr
  • Spring - 如何调整 SoapEnvelopeLoggingInterceptor 比标准输出更正式地记录数据到日志文件

    我正在尝试对我的 Spring Web 服务请求 响应进行正式审核 我在 Spring 配置中设置了这个
  • DateTimeFormatter 比 SimpleDateFormat 更严格吗?以毫秒为单位解析日期

    我有简单的测试用例 public static void main String args String pattern yyyy MM dd HH mm ss SSS String date 2017 01 15 15 15 15 5 S
  • Netbeans Maven 项目 - 其他来源未出现

    在Netbeans Maven项目中 逻辑文件夹中的Other Source通常是一些文本 xml等文件的存储 但是 我不明白它到底何时出现以及如何在创建新项目时创建它 我尝试过 与带有 junit 测试文件的测试包相同 右键单击Proje
  • 如何删除本地缓存中的可用状态?

    因此 我正在开发一个使用 firebase 的 firestore 的应用程序 并且想知道这是否可能 因为我不希望我的应用程序检查服务器中不再存在的数据 例子 collectionReference addSnapshotListener
  • 如何正确处理 JWT 刷新?

    我有一个安卓应用程序 它连接到一个REST API开发与Jersey 我的 REST 端点通过令牌进行保护 下面是我生成它们的方法 Algorithm algorithm Algorithm HMAC256 secret String to
  • 为什么 Volatile 的行为很奇怪

    我最近经历了 volatile 关键字的这种奇怪行为 据我所知 易失性关键字应用于变量以反映对数据所做的更改 变量由一个线程传递到另一个线程 volatile 关键字防止在线程上缓存数据 我做了一个小测试 我使用了一个名为 count 的整
  • 在 R 上使用 Java 16 运行 H2O

    我使用 R 命令安装了 h2o install packages h2o 这促使我安装了最新版本的 Java 我安装了 版本 16 一切都运行得很好 除了在启动时 h2o 会提醒我从 h2o ai 网站安装最新版本的 h2o 因为该版本是用
  • 使用@Depends注释StatelessBean到HornetQ-JMS队列

    我在文件中有一个 JMS 队列的简单定义my hornetq jms xml
  • 改进 JUNG 图的渲染

    我正在使用 jung 来直观地显示大型数据集 数千个节点 但是当我放大或缩小或移动节点时 系统会变得非常滞后 有没有办法改善 JUNG 中图形的渲染 我用来改进图形渲染的方法是过滤图形的边缘 每次您尝试移动图形时 框架都会进行大量计算来重新
  • 在 java GUI 中更新 JTree

    我在 GUI 中使用了 JTree 并将其添加到 JFrame 中 当我想更新它并更改程序另一部分中的节点时 当程序运行时 作为执行的操作 我尝试添加新节点或删除节点 但我的界面没有改变 请给我建议一个解决方案 regards 除了 ins
  • Android - Google 地图触摸和拖动标记

    如何在地图活动上移动标记 而无需长按并按住该标记直到它获得焦点 我只想触摸和拖动 但它需要大约 1 2 秒才能接收焦点并触发拖动事件 这是我的代码 mMap googleMap mMap setMapType GoogleMap MAP T
  • 使用 MVP 模式

    我有一个用 MVC 模式制作的 Web 应用程序 但是我正在尝试适应 MVP 模式 我正在使用 GWTPlatform 库 我已经将其中的一些代码迁移到了Presenter和View 然而 我还没有看到任何全面的材料来解释如何实际处理Mod
  • 如何在 JPasswordField 中启用剪切、复制?

    我注意到我无法剪切和复制JPasswordField 现在如何将密码的选定部分复制 剪切到剪贴板 有什么方法可以做到这一点吗 简单 用这个方法 JPasswordField jt new JPasswordField 20 Put clie
  • Java - 强制执行已实现的方法

    我有三门课 但我有问题 它们被命名为 GameScene StageScene StageOne 我的问题是我想在 StageScene 中实现初始化 但仍然强制 StageOne 实现它 这样每当有人使用 StageOne 对象 stag
  • 如何映射“根”Servlet 以便其他脚本仍然可以运行?

    我正在尝试构建一个调用 JSP 页面的 Servlet 类似于以下内容 public void doGet HttpServletRequest req HttpServletResponse resp throws IOException
  • 注释非法 Unicode 序列

    我曾经在一个处理 unicode 处理的 Java 应用程序上工作 像往常一样 我首先编写一些代码并测试它 然后注释掉工作代码并添加一些新行 这个过程一直持续到我找到解决方案 我遇到的确切问题是注释掉非法的 Unicode 字符串 有些 u
  • JBoss Weld + java.lang.OutOfMemoryError:永久代空间

    我刚刚切换到 Weld 以利用 CDI JSF 2 Beans 对话范围 这是我的 Maven 依赖项

随机推荐