1 回答

TA貢獻1829條經驗 獲得超13個贊
最后,我設法找到了解決上述問題的方法。它如下:
在谷歌上搜索了很多之后,我發現了一個Web 服務處理程序的概念,可以分別為從 Web 服務提供者接收或發送的每個請求和響應調用它。
如何配置: 1. 創建一個 Java File SecurityHandler 并在其中粘貼以下代碼:
public class SecurityHandler implements SOAPHandler<SOAPMessageContext>
{
@Override
public boolean handleMessage(SOAPMessageContext context)
{
boolean outbound = (Boolean)context.get(SOAPMessageContext.MESSAGE_OUTBOUND_PROPERTY);
if(outbound) {
//logic to handle a response
}
if (!outbound) {
//logic to handle a request
}
return true;
}
@Override
public boolean handleFault(SOAPMessageContext context) {
return true;
}
@Override
public void close(MessageContext context) {}
@Override
public Set<QName> getHeaders() {
return Collections.emptySet();
}
}
使用以下代碼示例創建一個 XML 文件:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<javaee:handler-chains
xmlns:javaee="http://java.sun.com/xml/ns/javaee"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<javaee:handler-chain>
<javaee:handler>
<javaee:handler-class>your.package.path.SecurityHandler</javaee:handler-class>
</javaee:handler>
</javaee:handler-chain>
</javaee:handler-chains>
要激活對您公開的 Web 服務的每個請求或響應的處理程序,請在 Web 服務類中添加注釋,如下所示:
@HandlerChain(file="/your/package/path/handler-chain.xml")
公開課我的網絡服務{
//要公開的方法或網絡服務。
}
添加回答
舉報