Hello ,
I get the below messages when streaming PDF files, I want to remove the
logging, please suggest.
Nov 19, 2008 7:21:06 PM
org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallback onClose
INFO: Outbound Message
---------------------------
Encoding:
Headers: {}
Messages:
Payload: %PDF-1.4
...pdf junk characters.
Also, I wrote a provider(attached) for pdf's where it gets the String as a
path, and dumps the contents of the pdf at the path,see below the code, do
you see any problem with this provider as
I get below exception
Error serializing the response, please check the server logs, response class
: String.
--------------------------------------
Nov 19, 2008 7:28:14 PM org.apache.cxf.phase.PhaseInterceptorChain
doIntercept
INFO: Interceptor has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Could not send Message.
at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(
*MessageSenderInterceptor.java:64*)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(*
PhaseInterceptorChain.java:221*)
at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(*
OutgoingChainInterceptor.java:74*)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(*
PhaseInterceptorChain.java:221*)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(*
ChainInitiationObserver.java:78*)
at org.apache.cxf.transport.servlet.ServletDestination.invoke(*
ServletDestination.java:92*)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(*
ServletController.java:279*)
at org.apache.cxf.transport.servlet.ServletController.invoke(*
ServletController.java:123*)
at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(*
AbstractCXFServlet.java:174*)
at org.apache.cxf.transport.servlet.AbstractCXFServlet.doGet(*
AbstractCXFServlet.java:156*)
at javax.servlet.http.HttpServlet.service(*HttpServlet.java:617*)
at javax.servlet.http.HttpServlet.service(*HttpServlet.java:717*)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(*
ApplicationFilterChain.java:290*)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(*
ApplicationFilterChain.java:206*)
at org.apache.catalina.core.StandardWrapperValve.invoke(*
StandardWrapperValve.java:233*)
at org.apache.catalina.core.StandardContextValve.invoke(*
StandardContextValve.java:191*)
at org.apache.catalina.core.StandardHostValve.invoke(*
StandardHostValve.java:128*)
at org.apache.catalina.valves.ErrorReportValve.invoke(*
ErrorReportValve.java:102*)
at org.apache.catalina.core.StandardEngineValve.invoke(*
StandardEngineValve.java:109*)
at org.apache.catalina.connector.CoyoteAdapter.service(*
CoyoteAdapter.java:286*)
at org.apache.coyote.http11.Http11Processor.process(*
Http11Processor.java:845*)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(*
Http11Protocol.java:583*)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(*JIoEndpoint.java:447*)
at java.lang.Thread.run(Unknown Source)
Caused by: *ClientAbortException*: *java.net.SocketException*: Connection
reset by peer: socket write error
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(*
OutputBuffer.java:358*)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(*ByteChunk.java:434*)
at org.apache.catalina.connector.OutputBuffer.doFlush(*OutputBuffer.java:309
*)
at org.apache.catalina.connector.OutputBuffer.close(*OutputBuffer.java:273*)
at org.apache.catalina.connector.CoyoteOutputStream.close(*
CoyoteOutputStream.java:104*)
at
org.apache.cxf.transport.http.AbstractHTTPDestination$WrappedOutputStream.close(
*AbstractHTTPDestination.java:517*)
at org.apache.cxf.io.CacheAndWriteOutputStream.postClose(*
CacheAndWriteOutputStream.java:47*)
at org.apache.cxf.io.CachedOutputStream.close(*CachedOutputStream.java:159*)
at org.apache.cxf.transport.AbstractConduit.close(*AbstractConduit.java:66*)
at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(
*MessageSenderInterceptor.java:62*)
... 23 more
Caused by: *java.net.SocketException*: Connection reset by peer: socket
write error
at java.net.SocketOutputStream.socketWrite0(*Native Method*)
at java.net.SocketOutputStream.socketWrite(Unknown Source)
at java.net.SocketOutputStream.write(Unknown Source)
at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(*
InternalOutputBuffer.java:740*)
at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(*ByteChunk.java:434*)
at org.apache.tomcat.util.buf.ByteChunk.append(*ByteChunk.java:349*)
at
org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(
*InternalOutputBuffer.java:764*)
at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(*
ChunkedOutputFilter.java:124*)
at org.apache.coyote.http11.InternalOutputBuffer.doWrite(*
InternalOutputBuffer.java:573*)
at org.apache.coyote.Response.doWrite(*Response.java:560*)
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(*
OutputBuffer.java:353*)
... 32 more
Nov 19, 2008 7:28:14 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet CXFServlet threw exception
java.lang.NoClassDefFoundError
at org.apache.cxf.interceptor.StaxOutInterceptor.getXMLOutputFactory(*
StaxOutInterceptor.java:143*)
at org.apache.cxf.interceptor.StaxOutInterceptor.handleMessage(*
StaxOutInterceptor.java:67*)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(*
PhaseInterceptorChain.java:221*)
at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(
*AbstractFaultChainInitiatorObserver.java:96*)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(*
PhaseInterceptorChain.java:262*)
at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(*
OutgoingChainInterceptor.java:74*)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(*
PhaseInterceptorChain.java:221*)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(*
ChainInitiationObserver.java:78*)
at org.apache.cxf.transport.servlet.ServletDestination.invoke(*
ServletDestination.java:92*)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(*
ServletController.java:279*)
at org.apache.cxf.transport.servlet.ServletController.invoke(*
ServletController.java:123*)
at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(*
AbstractCXFServlet.java:174*)
at org.apache.cxf.transport.servlet.AbstractCXFServlet.doGet(*
AbstractCXFServlet.java:156*)
at javax.servlet.http.HttpServlet.service(*HttpServlet.java:617*)
at javax.servlet.http.HttpServlet.service(*HttpServlet.java:717*)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(*
ApplicationFilterChain.java:290*)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(*
ApplicationFilterChain.java:206*)
at org.apache.catalina.core.StandardWrapperValve.invoke(*
StandardWrapperValve.java:233*)
at org.apache.catalina.core.StandardContextValve.invoke(*
StandardContextValve.java:191*)
at org.apache.catalina.core.StandardHostValve.invoke(*
StandardHostValve.java:128*)
at org.apache.catalina.valves.ErrorReportValve.invoke(*
ErrorReportValve.java:102*)
at org.apache.catalina.core.StandardEngineValve.invoke(*
StandardEngineValve.java:109*)
at org.apache.catalina.connector.CoyoteAdapter.service(*
CoyoteAdapter.java:286*)
at org.apache.coyote.http11.Http11Processor.process(*
Http11Processor.java:845*)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(*
Http11Protocol.java:583*)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(*JIoEndpoint.java:447*)
at java.lang.Thread.run(Unknown Source)
@Provider
@ProduceMime( "application/pdf" )
public class PDFProvider
implements MessageBodyWriter<String>
{
public long getSize( String l )
{
File f = new File(l);
//l is actually the path of the PDF
return f.exists() ? f.length() : 0;
}
public void writeTo( String li, MediaType mt, MultivaluedMap<String, Object>
headers, OutputStream os )
throws IOException
{
File f = new File(li);
if( !f.exists() || f==null )
{
os.write( "<?xml version=\"1.0\" encoding=\"UTF-8\"?><info type=\"error\">Error
in rendering PDF file</info>".getBytes() );
return;
}
java.io.FileInputStream in = new java.io.FileInputStream(f);
int size = 0;
byte[] buffer = new byte[8192];
while( (size = in.read(buffer, 0, buffer.length)) != -1)
{
os.write(buffer, 0, size);
}
}