2014-01-10 2 views
0

JAX-Ws 클라이언트를 사용하여 웹 서비스를 호출하고 있습니다. 잠시 동안 (예 : 20-30 분) 웹 서비스가 실행됩니다. 그러나 3-4 분 후에 클라이언트 측에서 다음 예외가 발생합니다.JAX-WS webservice 클라이언트 : 서버가 HTTP 상태 코드를 보냈습니다. 504 : 게이트웨이 시간 초과

The server sent HTTP status code 504: Gateway Time-out:com.sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 504: Gateway Time-out at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.checkStatusCode(HttpTransportPipe.java:296) at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.createResponsePacket(HttpTransportPipe.java:245) at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:203) at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:122) at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:95) at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:626) at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:585) at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:570) at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:467) at com.sun.xml.internal.ws.client.Stub.process(Stub.java:308) at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:146) at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:98) at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78) at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:129) at com.sun.proxy.$Proxy31.processRequest(Unknown Source) at com.fmer.bsc.test.EdxWebServiceInvokerThread.call(EdxWebServiceInvokerThread.java:57) at com.fmer.bsc.test.EdxWebServiceInvokerThread.call(EdxWebServiceInvokerThread.java:1) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724)

나는 그것 때문에 클라이언트 시간 초과의 수와 시간을 추가 below.Still로 운을 한다거나 할 없지만. 또한 서버에서 나는 webservice가 여전히 실행되는 것을 보았다.

답변

-1

문제는 아파치 웹 서버에 기본 시간 초과가 120 초인 것으로 생각됩니다.

우리의 모든 웹 서비스 호출은 부하 분산 장치 (apache httpd 서버)를 거쳐 Jboss 응용 프로그램 서버로 전송됩니다.

그래서 appache 웹 서버의 httpd.conf 파일에서 아래 속성 값이 변경되었습니다.

Timeout 120 

Timeout 18000 

즉 5시간

이 변화 JAX-WS 클라이언트 코드의 변경에 부가된다.

관련 문제