You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Salgado, Ignacio (JIRA)" <ji...@apache.org> on 2011/03/18 15:53:29 UTC

[jira] Updated: (CXF-2506) LoggingInInterceptor called twice if message is larger than 64 kb (when CachedOutStream writes to tempfile)

     [ https://issues.apache.org/jira/browse/CXF-2506?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Salgado, Ignacio updated CXF-2506:
----------------------------------

    Attachment: image001.gif

Hi,

We are having the same issue in our code but we don't know how to avoid this:

- When the request data is larger than 64K the handleMessage method from SoapInInterceptor is executed twice. In the second execution of the method it throws the stream closed exception.
- If the request data is smaller than 64K the handleMessage method from SoapInInterceptor is executed only once (for incoming data).
- We can avoid this by setting a large threshold  but we don't like the idea, since it won't attack the root cause.

Caused by: java.io.IOException: Stream closed
    at java.io.BufferedInputStream.getInIfOpen(BufferedInputStream.java:145)
    at java.io.BufferedInputStream.available(BufferedInputStream.java:386)
    at java.io.FilterInputStream.available(FilterInputStream.java:169)
    at org.apache.cxf.helpers.IOUtils.copy(IOUtils.java:98)
    at org.apache.cxf.helpers.IOUtils.copy(IOUtils.java:75)
    at com.aa.cs.ws.interceptors.SoapInInterceptor.handleMessage(SoapInInterceptor.java:126)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)

Can you give us more information about this.

Thanks in advance,


Ignacio Salgado
Technical Leader, Best Shore Application Services
Hewlett-Packard Company

+54 351 554 0528 / Tel
+54 9351 317 8121 / Mobile
ignacio.salgado@hp.com<ma...@hp.com> / Email
7050 Av. La Voz del Interior
Córdoba, X5008HLF
Argentina

[cid:image001.gif@01CBE562.597D9830]<http://www.hp.com/>

Please consider the environment before printing this email.



> LoggingInInterceptor called twice if message is larger than 64 kb (when CachedOutStream writes to tempfile)
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: CXF-2506
>                 URL: https://issues.apache.org/jira/browse/CXF-2506
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.1.5
>         Environment: Windows
>            Reporter: Laxmi Deepika Vadapalli
>         Attachments: image001.gif, java_first_jaxws.tar.gz
>
>
> I have my own SELoggingInterceptor. But it is same as LoggingInInterceptor code with no difference.
> I see that when message is larger than 64kb i.e. when CachedOutputStream write to temp file, this interceptor is called twice.
> First time, I process the message and second time I get Stream is closed Exception when I try to copy Message,content (InputStream) to CachedOutputStream.
> I tried printing the interceptor chain and I see my interceptor only once.
> It happens only with larger messages with CXF 2.1.5.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira