我创建了一个简单的 EJB3 WebService ,它应该被 SOAPHandler 拦截。在构建过程中我没有收到任何错误\警告(我曾经得到类路径错误,它们都已修复),并且我能够部署和调用 WS ,但服务器完全忽略了 HandlerChain 部分,它永远不会受到打击. 我的代码是:
处理程序:
public class SecuritySOAPHandler implements SOAPHandler<SOAPMessageContext> { ... }
豆子:
@Stateless
@WebService(
portName = "ExampleWSPort",
serviceName="ExampleWS"
)
@HandlerChain( file="handlerchain.xml")
public class ExampleWS {
public ExampleWS()
{
}
@WebMethod
public String first(String input)
{
return input + " Got";
}
处理程序链.xml:
<?xml version="1.0" encoding="UTF-8"?>
<jws:handler-chains xmlns:jws="http://java.sun.com/xml/ns/javaee">
<!-- Note: The '*" denotes a wildcard. -->
<jws:handler-chain name="MyHandlerChain">
<jws:protocol-bindings>##SOAP11_HTTP ##ANOTHER_BINDING</jws:protocol-bindings>
<jws:port-name-pattern
xmlns:ns1="http://handlersample.samples.ibm.com/">ns1:MySampl*</jws:port-name-pattern>
<jws:service-name-pattern
xmlns:ns1="http://handlersample.samples.ibm.com/">ns1:*</jws:service-name-pattern>
<jws:handler>
<jws:handler-class>com.soaphandlers.SecuritySOAPHandler</jws:handler-class>
</jws:handler>
</jws:handler-chain>
</jws:handler-chains>
任何帮助表示赞赏。谢谢