Hi , 

This is my Method code shown below 

Actually this serves as a Webservices Method .

*public Response getData(ServiceRequest request)
{
        try
        {
                final   boolean toProceedorNot = validate(legdata);
                if (!toProceedorNot) {
                        status.setErrorText(errorText);
                        return response;
                } 
                else {
                        // Some Processing is done here
                        response.setMessage(result);
                }                                                       
        }

        catch(Exception e)
        {
                errorText = e.getMessage().toString();
                status.setErrorText(errorText);
                response.setStatus(status);
        }

        return response;
}*



If the execution of the Method takes longer time , an SocketTimeoutException
will be thrown by the Apache CXF Framework

     *   at java.lang.Thread.run(Thread.java:662)
      Caused by: java.net.SocketTimeoutException: Read timed out
        at java.net.SocketInputStream.socketRead0(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java:129)
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
        at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
        at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:695)
        at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:640)
        at
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1195)
        at
java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:379)
        at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2034)
        at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2013)
        at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1938)
        at
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
        at
org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:626)
        at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)*


My Question is that , even though an SocketTimeoutException  is thrown , it
is not coming inside the Exception block .

I am not sure whether this Exception , should be handled by whom ( The
client or inside the Webservices Implementation method )

*But as a Webservice provider , please tell me how to deal with this
Exception ??*

Thanks





--
View this message in context: 
http://cxf.547215.n5.nabble.com/How-to-deal-with-SocketTimeoutException-inside-Java-Code-Webservices-tp4973805p4973805.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to