0
我试图从中延伸AbstractSoapInterceptor一个CXF拦截登录消息和补充,拦截器链AbstractSoapInterceptor不与CXF工作:cxfEndpoint
Blueprint.xml
`<cxf:cxfEndpoint id="reportEndpoint" address="/report/"
serviceClass="com.shajeer.integration.helloworld.incident.IncidentService">
<cxf:inInterceptors>
<bean id="inInterceptor"
class="com.shajeer.integration.helloworld.logging.LoggingInSetupInterceptor" />
</cxf:inInterceptors>
</cxf:cxfEndpoint>`
拦截
`import org.apache.cxf.binding.soap.SoapMessage;
import org.apache.cxf.binding.soap.interceptor.AbstractSoapInterceptor;
import org.apache.cxf.interceptor.Fault;
import org.apache.cxf.phase.Phase;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LoggingInSetupInterceptor extends AbstractSoapInterceptor{
private static final Logger LOGGER = LoggerFactory.getLogger(LoggingInSetupInterceptor.class);
public LoggingInSetupInterceptor() {
super(Phase.PRE_INVOKE);
}
@Override
public void handleMessage(SoapMessage soapMessage) throws Fault {
System.out.println("In LoggingInSetupInterceptor :: LoggingInSetupInterceptor");
LOGGER.info("In LoggingInSetupInterceptor :: LoggingInSetupInterceptor");
}
}`
但是控制流并不是前夕n到达拦截器并直接进入骆驼环境。可能是什么原因?
CXF空间声明
`xmlns:cxf="http://camel.apache.org/schema/blueprint/cxf"`