强制 weblogic 从生成的 wsdl 中排除 IncludeTimestamp

Force weblogic to exclude IncludeTimestamp from generated wsdl

我有一个 EJB 也扮演着我的 Web 服务的角色 class。我使用 Oracle Weblogic 12.1.2 作为 JavaEE 容器。 这是 class:

的代码
@Stateless
@WebService(serviceName="MyService")
@Policy(uri = "Wssp1.2-2007-Https-UsernameToken-Plain.xml", attachToWsdl=true)
@XmlAccessorType(XmlAccessType.FIELD)
public class MyWebServiceBean{
// some web methods ...
}

可以在生成的 WSDL 文件中正确看到附加的策略及其对应的 wsse 标记。但是,生成的文件中有一个 IncludeTimestamp 标记,强制客户端在其请求中发送时间戳。因为在我的环境中,客户可能有不同的时间,所以我不想强迫他们发送时间!然后我简单地从服务器 wsdl 中省略 IncludeTimestamp 标签,之后一切顺利!但我不想手动处理它。 weblogic 12.1.2 中是否有任何设置来配置提到的标记的存在?

经过大量阅读和搜索,我发现我们应该创建自定义策略。首先我们应该找到所需策略的 xml 文件。流量post这样做。然后我们应该编辑它并将编辑后的版本复制到我们的类路径中,对于 @Policy 注释我们应该使用我们的 xml 文件的新地址!就是这样。