从 JAX-WS 生成的 WSDL 中隐藏枚举元素

发布于 2024-12-11 15:12:25 字数 244 浏览 0 评论 0原文

我有一个类似打击的枚举类。我正在使用 JAX-WS 生成 WSDL,但我想对客户端隐藏 DELETED 枚举。有办法做到这一点吗?我尝试了@XmlTransient,但不起作用。

@SuppressWarnings("restriction")
@XmlEnum(String.class)
public enum StatusEnum {
    ACTIVE,
    INACTIVE,
    DELETED,
}

I have a enum class like blow. I'm using JAX-WS to generate WSDL, but I want to hide the DELETED enum from the client. Is there a way to do that? I tried @XmlTransient, but doen't work.

@SuppressWarnings("restriction")
@XmlEnum(String.class)
public enum StatusEnum {
    ACTIVE,
    INACTIVE,
    DELETED,
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

全部不再 2024-12-18 15:12:25

从我的角度来看,如果您出于某种原因想要对客户端隐藏一些枚举条目,那么实际上有两个枚举,它们本质上是不同的 - “内部”和“客户端”。您可以在枚举代码中轻松地从另一个生成一个:

public enum StatusEnum {
  ACTIVE(ClientStatusEnum.ACTIVE),
  INACTIVE(ClientStatusEnum.INACTIVE),
  DELETED(ClientStatusEnum.HIDDEN);

  private ClientStatusEnum clientStatusEnum;

  StatusEnum(ClientStatusEnum cse) {
    this.clientStatusEnum = cse;
  }

  public ClientStatusEnum getClientStatusEnum() {
    return clientStatusEnum;
  } 
}

@XmlEnum(String.class)
public enum ClientStatusEnum {
  ACTIVE,
  INACTIVE,
  HIDDEN;
}

From my point of view, if you for some reasons want to hide some enum entries from the client, then there are actually two enums, which are different by nature - "internal" and "client side". You can easily produce one from another right in your enum code:

public enum StatusEnum {
  ACTIVE(ClientStatusEnum.ACTIVE),
  INACTIVE(ClientStatusEnum.INACTIVE),
  DELETED(ClientStatusEnum.HIDDEN);

  private ClientStatusEnum clientStatusEnum;

  StatusEnum(ClientStatusEnum cse) {
    this.clientStatusEnum = cse;
  }

  public ClientStatusEnum getClientStatusEnum() {
    return clientStatusEnum;
  } 
}

@XmlEnum(String.class)
public enum ClientStatusEnum {
  ACTIVE,
  INACTIVE,
  HIDDEN;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文