Trying to execute a web service asynchronously. The stack trace is at the
end of the email. This is my code:
public static void main(String args[]) throws Exception {
File wsdl = new File(args[0]);
PublishService ps = new com.xxx.service.PublishService(wsdl.toURL(),
com.xxx.service.PublishService.SERVICE);
ExecutorService executor = Executors.newFixedThreadPool(5);
ps.setExecutor(executor);
PublishAsync port = ps.getPublishAsync();
OtPublish request = new OtPublish();
request.setMapFileName(MAP_FILENAME);
request.setTransType(TRANSTYPE);
Response<OtResponse> response = port.publishAsync(request);
OtResponse pubFileResponse = response.get();
//OtResponse pubFileResponse = response.get(1L, TimeUnit.HOURS); //
Tried this too
System.out.println("Server responded through polling with: " +
pubFileResponse.getPublishedFileName());
}
No matter what I do there, the socket times out after 60 seconds. I can see
the web service continue on for a couple of minutes and completes (and
throws an exception I'm guessing because the connection timed out?)
Exception in thread "main" java.util.concurrent.ExecutionException:
java.net.SocketTimeoutException: Read timed out
at org.apache.cxf.endpoint.ClientCallback.get(ClientCallback.java:129)
at
org.apache.cxf.jaxws.JaxwsResponseCallback.get(JaxwsResponseCallback.java:49)
at com.xxx.service.client.PublishClient.main(PublishClient.java:35)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:110)
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:1000)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2110)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream$1.run(HTTPConduit.java:2092)
at
org.apache.cxf.workqueue.AutomaticWorkQueueImpl$2.run(AutomaticWorkQueueImpl.java:253)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)