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?

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$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)
 ~[cxf-api-2.6.1.jar:2.6.1]
        at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.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(DelegatingMethodAccessorImpl.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.execute(TaskEngine_PdfGenerator.java:174)
 [TaskEngine_PdfGenerator.class:na]
        at sun.reflect.GeneratedMethodAccessor1769.invoke(Unknown Source) 
~[na:na]
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.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(AopUtils.java:309)
 [spring-aop-3.0.5.RELEASE.jar:3.0.5.RELEASE]
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
 [spring-aop-3.0.5.RELEASE.jar:3.0.5.RELEASE]
        at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.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(ReflectiveMethodInvocation.java:172)
 [spring-aop-3.0.5.RELEASE.jar:3.0.5.RELEASE]
        at 
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.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(TaskWrapper.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(NativeConstructorAccessorImpl.java:39)
 ~[na:1.6.0_26]
        at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.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.mapException(HTTPConduit.java:1457)
 ~[cxf-rt-transports-http-2.6.1.jar:2.6.1]
        at 
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.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$MessageSenderEndingInterceptor.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(HttpURLConnection.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.handleResponseInternal(HTTPConduit.java:1577)
 ~[cxf-rt-transports-http-2.6.1.jar:2.6.1]
        at 
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1520)
 ~[cxf-rt-transports-http-2.6.1.jar:2.6.1]
        at 
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1428)
 ~[cxf-rt-transports-http-2.6.1.jar:2.6.1]
        ... 29 common frames omitted

Reply via email to