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

标签 java enums wsdl jax-ws

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

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

最佳答案

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

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;
}

关于java - 从 JAX-WS 生成的 WSDL 中隐藏枚举元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7860602/

相关文章:

java - Enum.values() 在哪里定义?

c++ - 运算符重载 << 用于枚举到 ostringstream

android - 如何在 Android 3.0+ Honeycomb 上使用 ksoap2

java - 如何将 SOAP 安全 header (UsernameToken) 信息添加到代码优先的 Web 服务生成的 WSDL

java - 将 Double 舍入为 2dp

JavaFX 通过 css 设置标签文本

java - 从运行方法/线程返回数据以更新 GUI

sql - Postgres : overload/add comparison operators to domain

java - 如何修复在 Eclipse 上安装 AST-View 时出现的错误

java - SoapUI 抛出对象引用未设置 : how to find reason