[英]Invisible or hidden XML element in SOAP service
我正在使用Java构建嵌入式JAX-WS SOAP服务。 我正在使用javax.xml.bind
定义数据类型。
我想隐藏其中一种数据类型中的一个字段,以便在发布WSDL时将其支持但不可见。
我的动机是我们将弃用一个属性,但是我仍然会支持该属性(内容将被忽略和未使用)。 在下面的示例中,如果用户通过http://myservice?wsdl
访问WSDL,则他们不会将属性email
视为user
的一部分
我可以使用任何可以提供此功能的注释吗? 另外
@XmlType
public class User
{
@XmlElement
public String name;
@XmlElement
@Hidden (?)
public String email;
}
我不知道有什么标准方法可以告诉CXF忽略生成的WSDL中的元素。 一种选择是维护静态WSDL文件,然后从架构中手动删除“ hidden”元素。 您可以将该字段保留在JAXB带注释的类中。 如果使用Spring配置服务,则可以添加具有wsdlLocation属性的WSDL:
<jaxws:endpoint
wsdlLocation="classpath:/Service.wsdl">
</jaxws:endpoint>
请注意,包含“隐藏”字段的XML将不再验证,因此,如果对输入消息使用架构验证,则需要忽略这些错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.