Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从JAX-WS生成的WSDL隐藏枚举元素_Java_Enums_Wsdl_Jax Ws - Fatal编程技术网

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

Java 从JAX-WS生成的WSDL隐藏枚举元素,java,enums,wsdl,jax-ws,Java,Enums,Wsdl,Jax Ws,我有一个像blow这样的枚举类。我正在使用JAX-WS生成WSDL,但我想对客户端隐藏已删除的枚举。有办法吗?我尝试了@xmltransive,但没有成功 @SuppressWarnings("restriction") @XmlEnum(String.class) public enum StatusEnum { ACTIVE, INACTIVE, DELETED, } 在我看来,如果出于某些原因想对客户端隐藏一些enum条目,那么实际上有两个enum,它们本质上是不

我有一个像blow这样的枚举类。我正在使用JAX-WS生成WSDL,但我想对客户端隐藏已删除的枚举。有办法吗?我尝试了@xmltransive,但没有成功

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

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

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

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

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

这是否意味着客户端仍将看到名为HIDDEN的元素?您也可以返回
null
,但我仍然无法获得它。这是否意味着我可以使用
StatusEnum.DELETED
进行内部使用,而客户端可以使用
ClientStatusEnum.HIDDEN
?返回
null
是什么意思?这是否意味着客户端仍将看到名为HIDDEN的元素?您也可以返回
null
,但我仍然不明白。这是否意味着我可以使用
StatusEnum.DELETED
进行内部使用,而客户端可以使用
ClientStatusEnum.HIDDEN
?返回
null
是什么意思?