Java 从JAX-WS生成的WSDL隐藏枚举元素
我有一个像blow这样的枚举类。我正在使用JAX-WS生成WSDL,但我想对客户端隐藏已删除的枚举。有办法吗?我尝试了@xmltransive,但没有成功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,它们本质上是不
@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
是什么意思?