Hi,

thanks for the tip, just in case here is some info on Http Conduit:
http://cxf.apache.org/docs/client-http-transport-including-ssl-support.html

the proxyAuthorization can be configured similarly to the authorization element...

Cheers, Sergey

On 21/05/12 16:42, Kiren Pillay wrote:
Hi Chandru,

If you're running your code from netbeans, make sure there is no proxy
configured there. I've seen this happen before.

Regards
Kiren

On Mon, May 21, 2012 at 5:04 PM, Sergey Beryozkin<[email protected]>wrote:

On 21/05/12 15:59, Ganesan, Chandru wrote:

Thanks Sergey. Could you point me to sample test and demo code?


JAXRSClientServerBookTest has in systests/jaxrs (and likely few other
tests) has few calls getting JSON back, Jackson based test is there.
I think one of the basic jaxrs demos in the distro does it.

jaxrs_advanced in the Talend TESB distro does it too


Cheers, Sergey


-----Original Message-----
From: Sergey Beryozkin [mailto:[email protected]]
Sent: Monday, May 21, 2012 4:39 AM
To: [email protected]
Subject: Re: SocketTimeoutException on POST request using Webclient

On 20/05/12 23:48, Ganesan, Chandru wrote:

I did try setting a high timeout value. The problem is the client is
unable to read the response from the server. When I execute the request
from the Firefox client, I get instant response. Is there any special
handling in the client to process the JSON response from a POST request?


I'm not aware of any restrictions that can prevent a JSON payload from
being read successfully (meaning - causing a read timeout exception)
with WebClient, we have the test and demo code reading JSON.

May be you can offer a test case ?

Cheers, Sergey


-----Original Message-----
From: Sergey Beryozkin [mailto:[email protected]]
Sent: Sunday, May 20, 2012 11:12 AM
To: [email protected]
Subject: Re: SocketTimeoutException on POST request using Webclient

Hi
On 19/05/12 13:50, Ganesan, Chandru wrote:

Hi

When I execute  a POST message (JSON) using WebClient the client fails
with SocketTimeoutException (see exception below).
The same request works fine from Firefox REST client. I think there a
problem with how I'm executing the POST from WebClient?

  CXF client code times out after 60 secs or so by default, so it can be
configured from Spring or code, example:
WebClient.getConfig(wc).**getHttpConduit().getClient().**
setReceiveTimeout(6000000);

HTH, Sergey


  Thanks for the help

Sample code:
==========

                  ----------------------
           webClient.reset();
           webClient.path(serviceList.**get(ASSET) + "/" + id);
           webClient.type(MediaType.**APPLICATION_JSON);
           webClient.accept(MediaType.**APPLICATION_JSON);

           Response response = null;
           try {
               ObjectMapper mapper = new ObjectMapper();
               String postMessage = mapper.writeValueAsString(**
properties);
               response = webClient.post(postMessage);
           } catch (Exception e) {
               throw new ValidationException(e);
           }

           if (response.getStatus() == Status.OK.getStatusCode()) {
               return true;
           }
           return retVal;
Here is the server exception:

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:**243)
                   at org.apache.cxf.jaxrs.client.**
WebClient.doChainedInvocation(**WebClient.java:595)
                   at org.apache.cxf.jaxrs.client.**
WebClient.doInvoke(WebClient.**java:576)
                   at org.apache.cxf.jaxrs.client.**
WebClient.invoke(WebClient.**java:240)
                   at org.apache.cxf.jaxrs.client.**
WebClient.post(WebClient.java:**249)
Caused by: java.net.**SocketTimeoutException: SocketTimeoutException
invoking http://.......................**..............................
**.: Read timed out
                   at 
sun.reflect.**NativeConstructorAccessorImpl.**newInstance0(Native
Method)
                   at sun.reflect.**NativeConstructorAccessorImpl.**
newInstance(**NativeConstructorAccessorImpl.**java:39)
                   at sun.reflect.**DelegatingConstructorAccessorI**
mpl.newInstance(**DelegatingConstructorAccessorI**mpl.java:27)
                   at java.lang.reflect.Constructor.**
newInstance(Constructor.java:**513)
                   at org.apache.cxf.transport.http.**HTTPConduit$**
WrappedOutputStream.**mapException(HTTPConduit.java:**2058)
                   at org.apache.cxf.transport.http.**HTTPConduit$**
WrappedOutputStream.close(**HTTPConduit.java:2043)
                   at org.apache.cxf.transport.**AbstractConduit.close(*
*AbstractConduit.java:66)
                   at org.apache.cxf.transport.http.**
HTTPConduit.close(HTTPConduit.**java:639)
                   at org.apache.cxf.interceptor.**
MessageSenderInterceptor$**MessageSenderEndingInterceptor**
.handleMessage(**MessageSenderInterceptor.java:**62)
                   ... 135 more
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:687)
                   at sun.net.www.http.HttpClient.**
parseHTTP(HttpClient.java:632)
                   at sun.net.www.protocol.http.**HttpURLConnection.**
getInputStream(**HttpURLConnection.java:1195)
                   at java.net.HttpURLConnection.**getResponseCode(**
HttpURLConnection.java:379)

Chandru





--
Sergey Beryozkin

Talend Community Coders
http://coders.talend.com/

Blog: http://sberyozkin.blogspot.com


Reply via email to