我有一个EJB,它也扮演着我的web服务类的角色。我使用OracleWeblogic 12.1.2作为JavaEE容器。这是该类的代码:
@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文件。让这篇文章流畅地完成。然后我们应该编辑它,并在类路径中复制编辑后的版本,对于@Policy
注释,我们应该使用xml文件的新地址!就是这样。