私はカスタムInterceptStrategyを使用しています。SOAPレスポンスが成功した後にエラーをスローします。CamelインタセプタとCXFインタセプタとの競合
エラー:java.lang.IllegalStateException:それはorg.apache.catalina.core.AsyncContextImpl.getRequestで と呼ばれてきた(完全)または発送のいずれかの後のGetRequestを()()メソッドを呼び出すことは違法である(AsyncContextImpl .javaファイル:org.springframework.security.web.servletapi.HttpServlet3RequestFactory $ SecurityContextAsyncContext.dispatchでorg.apache.catalina.core.AsyncContextImpl.dispatch(AsyncContextImpl.java:153) で224) (HttpServlet3RequestFactory.java:291) org.apache.cxf.transport.http.Servlet3ContinuationProvider $ Servlet3Continuation.resume(Servlet3ContinuationProvider.java:125) at org.apache.cxf.transport.http.Servlet3ContinuationProvider $ Servlet3Continuation.resume(Servlet3ContinuationProvider.java:13) 1)
public class ApplicationLogStrategy implements InterceptStrategy {
@Override
public Processor wrapProcessorInInterceptors(CamelContext context, ProcessorDefinition<?> definition,
Processor target, Processor nextTarget) throws Exception {
return new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
System.out.println("Display" + definition);
if (definition.getId().equalsIgnoreCase(ApplicationConstants.INITIAL_LOG)) {
//setCommonFields(exchange);
//setSpecificFields(exchange);
}
target.process(exchange);
}
};
}
}
私のラクダのルート:
<camelContext id="id-por" xmlns="http://camel.apache.org/schema/spring">
<route>
<!-- route starts from the cxf webservice -->
<from uri="cxf:bean:porEndpoint" />
<doTry>
<to uri="bean:soapBean?method=processSOAP"/>
<bean id="soap_success" method="processSuccess" ref="soapBean"/>
<camel:bean id="published_log" method="info('Message - SUCCESS')" ref="logger"/>
<doCatch>
<camel:exception>java.lang.Exception</camel:exception>
<handled>
<constant>true</constant>
</handled>
<to uri="bean:soapBean?method=processGenericError"/>
</doCatch>
</doTry>
</route>
</camelContext>
それはメッセージの後にエラーがスローされます "のメッセージ - SUCCESS" が記録されます。 :
<camel:bean id="published_log" method="info('Message - SUCCESS')" ref="logger"/>
は私が<stop/>
が、運を追加し、まだエラーがスローされます:(完全)または発送のいずれかの後のGetRequestを()()メソッド
あなたは何をしようとしていますか、最初に傍受戦略を使用しているのはなぜですか?これは実際には高度なものや非常に特殊なユースケースです。 –
カスタムロギングがあり、部分的なペイロードデータを設定しました。 –