On Tuesday, July 24, 2012 10:56:47 AM James Talbut wrote:
> Hi,
> 
> I've calling a SOAP service that I expect to take a while to complete.
> I've using the code below to prepare the proxy.
> But it keeps generating a SocketTimeoutException after two minutes.
> Have I missed something?

Bizzarre.   CXF's default is one minute.  Thus, something definitely is 
changing it if it's getting up to 2 minutes.    Maybe it's the first default 
timeout of 60 secs and then another 60 seconds on an alternate URL from 
LoadDistributorFeature?  No idea really.

However, it's likely that it's an issue in the LoadDistributorFeature.   I 
believe the LoadDistributorFeature creates a new conduit and thus the 
original  conduit (that you configured) might be gone.   You may be able to 
try setting the feature prior to calling the client.getConduit().... that 
might work.

Dan


> 
> Thanks
> 
> Jim
> 
> Code:
>         this.docConverterService = docConverterService;
>         BindingProvider binder = ( BindingProvider ) docConverterService;
>         ((SOAPBinding)binder.getBinding()).setMTOMEnabled( true );
> 
>         Client client = org.apache.cxf.frontend.ClientProxy.getClient(
> docConverterService ); HTTPConduit http = ( HTTPConduit )
> client.getConduit();
>         HTTPClientPolicy httpClientPolicy = http.getClient();
>         if( httpClientPolicy == null ) {
>             httpClientPolicy = new HTTPClientPolicy();
>             httpClientPolicy.setConnectionTimeout( 10000 );
>             httpClientPolicy.setReceiveTimeout( 1000000 );
>             http.setClient( httpClientPolicy );
>         } else {
>             httpClientPolicy.setConnectionTimeout( 10000 );
>             httpClientPolicy.setReceiveTimeout( 1000000 );
>         }
> 
>         if( urls.length > 1 ) {
>             log.debug( "Configuring LoadDistributorFeature for {} URLs",
> urls.length ); List< String > alternateUrls = Arrays.asList( urls );
> Collections.shuffle( alternateUrls );
> 
>             LoadDistributorFeature feature = new LoadDistributorFeature
> (); SequentialStrategy strategy = new SequentialStrategy();
> strategy.setAlternateAddresses( alternateUrls );
>             feature.setStrategy( strategy );
>             feature.initialize( client, null );
>         } else {
>             binder.getRequestContext().put(
> BindingProvider.ENDPOINT_ADDRESS_PROPERTY, urls[ 0 ].trim() ); }
> 
> 
> Exception:
> org.apache.cxf.interceptor.Fault: Could not send Message.
>         at
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingIn
> terceptor.handleMessage(MessageSenderInterceptor.java:64)
> ~[cxf-api-2.6.1.jar:2.6.1] at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorCh
> ain.java:262) ~[cxf-api-2.6.1.jar:2.6.1] at
> org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:532)
> [cxf-api-2.6.1.jar:2.6.1] at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:464)
> [cxf-api-2.6.1.jar:2.6.1] at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:367)
> [cxf-api-2.6.1.jar:2.6.1] at
> org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:320)
> [cxf-api-2.6.1.jar:2.6.1] at
> org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:89)
> [cxf-rt-frontend-simple-2.6.1.jar:2.6.1] at
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134)
> [cxf-rt-frontend-jaxws-2.6.1.jar:2.6.1] at
> $Proxy578.scheduledPdfQuery(Unknown Source) [na:na]
>         at sun.reflect.GeneratedMethodAccessor1798.invoke(Unknown Source)
> ~[na:na] at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI
> mpl.java:25) ~[na:1.6.0_26] at
> java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_26] at
> com.groupgti.gtisupport.model.services.taskengine.SchedulerTargetService.
> getRequests(SchedulerTargetService.java:239)
> [SchedulerTargetService.class:na] at
> com.groupgti.gtisupport.model.taskengines.pdf.TaskEngine_PdfGenerator.exe
> cute(TaskEngine_PdfGenerator.java:174) [TaskEngine_PdfGenerator.class:na]
> at sun.reflect.GeneratedMethodAccessor1769.invoke(Unknown Source)
> ~[na:na] at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI
> mpl.java:25) ~[na:1.6.0_26] at
> java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_26] at
> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(A
> opUtils.java:309) [spring-aop-3.0.5.RELEASE.jar:3.0.5.RELEASE] at
> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpo
> int(ReflectiveMethodInvocation.java:183)
> [spring-aop-3.0.5.RELEASE.jar:3.0.5.RELEASE] at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(Refl
> ectiveMethodInvocation.java:150)
> [spring-aop-3.0.5.RELEASE.jar:3.0.5.RELEASE] at
> org.springframework.transaction.interceptor.TransactionInterceptor.invoke
> (TransactionInterceptor.java:110)
> [spring-tx-3.0.5.RELEASE.jar:3.0.5.RELEASE] at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(Refl
> ectiveMethodInvocation.java:172)
> [spring-aop-3.0.5.RELEASE.jar:3.0.5.RELEASE] at
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAop
> Proxy.java:202) [spring-aop-3.0.5.RELEASE.jar:3.0.5.RELEASE] at
> $Proxy518.execute(Unknown Source) [na:na]
>         at
> com.groupgti.gtisupport.model.services.taskengine.TaskWrapper.execute(Tas
> kWrapper.java:130) [TaskWrapper.class:na] at
> org.quartz.core.JobRunShell.run(JobRunShell.java:223)
> [quartz-1.8.6.jar:na] at
> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:
> 549) [quartz-1.8.6.jar:na] Caused by: java.net.SocketTimeoutException:
> SocketTimeoutException invoking
> http://XXX.XXX.XXX.XXX/PDFGenerator/PDFGenerator_v1.asmx: Read timed out
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> ~[na:1.6.0_26] at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAc
> cessorImpl.java:39) ~[na:1.6.0_26] at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConst
> ructorAccessorImpl.java:27) ~[na:1.6.0_26] at
> java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> ~[na:1.6.0_26] at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapExceptio
> n(HTTPConduit.java:1457) ~[cxf-rt-transports-http-2.6.1.jar:2.6.1] at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPC
> onduit.java:1442) ~[cxf-rt-transports-http-2.6.1.jar:2.6.1] at
> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
> ~[cxf-api-2.6.1.jar:2.6.1] at
> org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:658)
> ~[cxf-rt-transports-http-2.6.1.jar:2.6.1] at
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingIn
> terceptor.handleMessage(MessageSenderInterceptor.java:62)
> ~[cxf-api-2.6.1.jar:2.6.1] ... 26 common frames omitted
> Caused by: java.net.SocketTimeoutException: Read timed out
>         at java.net.SocketInputStream.socketRead0(Native Method)
> ~[na:1.6.0_26] at
> java.net.SocketInputStream.read(SocketInputStream.java:129)
> ~[na:1.6.0_26] at
> java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
> ~[na:1.6.0_26] at
> java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
> ~[na:1.6.0_26] at
> java.io.BufferedInputStream.read(BufferedInputStream.java:317)
> ~[na:1.6.0_26] at
> sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
> ~[na:1.6.0_26] at
> sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632) ~[na:1.6.0_26]
> at
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnect
> ion.java:1195) ~[na:1.6.0_26] at
> java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:379)
> ~[na:1.6.0_26] at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespo
> nseInternal(HTTPConduit.java:1577)
> ~[cxf-rt-transports-http-2.6.1.jar:2.6.1] at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRespo
> nse(HTTPConduit.java:1520) ~[cxf-rt-transports-http-2.6.1.jar:2.6.1] at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPC
> onduit.java:1428) ~[cxf-rt-transports-http-2.6.1.jar:2.6.1] ... 29 common
> frames omitted
-- 
Daniel Kulp
[email protected] - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com

Reply via email to