Hi Florent,
I believe your problem is related to [1], which is the problem about big
message(more than 64k) with Logging Interceptor.
This problem is fixed in cxf 2.0.3.
But our servicemix is still based on cxf 2.0.2.
I will try to update cxf version used in servicemix .
[1]http://issues.apache.org/jira/browse/CXF-986
Best Regards
Freeman
Florent wrote:
Hello,
I did add the following interceptors to my cxf consummer and provider :
<cxfbc:inInterceptors>
<bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
</cxfbc:inInterceptors>
<cxfbc:outInterceptors>
<bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
</cxfbc:outInterceptors>
<cxfbc:inFaultInterceptors>
<bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
</cxfbc:inFaultInterceptors>
<cxfbc:outFaultInterceptors>
<bean class="org.apache.cxf.interceptor.LoggingOutInterceptor"/>
</cxfbc:outFaultInterceptors>
Here is the starting part of the logged message :
12 dÚc. 2007 10:45:43 org.apache.cxf.interceptor.LoggingInInterceptor
handleMessage
INFO: Inbound Message
--------------------------------------
Headers: {null=[HTTP/1.1 200 OK], Content-Length=[7772],
Content-Language=[fr-FR], Date=[Wed, 12 Dec 2007 09:45:43 GMT],
Server=[WebSphere Application Server/6.1], content-type=[text/xml;
charset=utf-8]}
Message:
hase>2007-02-28T23:00:00.000Z</endOfFinancialPhase><financialPhaseNumber>2</financialPhaseNumber>
...
</searchAutorisationByInternalAutorisationNumberDTOReturn></p559:searchAutorisationByInternalAutorisationNumberDTOResponse></soapenv:Body></soapenv:Envelope>
And i get the following error :
12 dÚc. 2007 10:45:43 org.apache.cxf.phase.PhaseInterceptorChain doIntercept
INFO: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Unexpected end of input block; expected an
identifier at [row,col {unknown-source}]: [1,4000]
at
org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.getBodyElement(JbiInWsdl1Interceptor.java:217)
at
org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1Interceptor.java:108)
at
org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.handleMessage(JbiInWsdl1Interceptor.java:60)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:207)
at
org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.onMessage(CxfBcProviderMessageObserver.java:119)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1932)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1790)
at
org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:166)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)Caused by:
com.ctc.wstx.exc.WstxEOFException: Unexpected end of input block; expected
an identifier at [row,col {unknown-source}]: [1,4000]
at
com.ctc.wstx.sr.StreamScanner.throwUnexpectedEOB(StreamScanner.java:675)
at
com.ctc.wstx.sr.StreamScanner.loadMoreFromCurrent(StreamScanner.java:1029)
at
com.ctc.wstx.sr.StreamScanner.getNextCharFromCurrent(StreamScanner.java:786)
at
com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStreamReader.java:2913)
at
com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2846)
at
com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1019)
at
org.apache.cxf.staxutils.DepthXMLStreamReader.next(DepthXMLStreamReader.java:215)
at
org.apache.cxf.staxutils.PartialXMLStreamReader.next(PartialXMLStreamReader.java:41)
at org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:660)
at
org.apache.cxf.staxutils.StaxUtils.startElement(StaxUtils.java:582)
at
org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:619)
at
org.apache.cxf.staxutils.StaxUtils.startElement(StaxUtils.java:582)
at
org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:619)
at
org.apache.cxf.staxutils.StaxUtils.startElement(StaxUtils.java:582)
at
org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:619)
at
org.apache.cxf.staxutils.StaxUtils.startElement(StaxUtils.java:582)
at
org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:619)
at org.apache.cxf.staxutils.StaxUtils.read(StaxUtils.java:519)
at
org.apache.servicemix.cxfbc.interceptors.JbiInWsdl1Interceptor.getBodyElement(JbiInWsdl1Interceptor.java:214)
... 17 more
If i remove interceptors it works fine.
So, my question is : is there a message size limit that interceptor can
handle?