我创建了一个简单的EJB3 WebService,它应该被SOAPHandler拦截。 我在构建过程中没有收到任何错误\警告(我曾经得到类路径错误,它们都是固定的),并且我能够部署和调用WS,但服务器完全忽略了HandlerChain部分,并且它永远不会获取击中。 我的代码是:
的处理程序:Weblogic 10.3.6忽略@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";
}
handlerchain.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>
任何帮助表示赞赏。 感谢
你的处理程序的实现在哪里? – kolossus
我假设它只是 返回true; (对于getHeaders()为null) SOAPHandler接口方法。 –
Stas