GlassFish Java web服务超时

GlassFish Java web服务超时,java,c#,web-services,web-applications,glassfish,Java,C#,Web Services,Web Applications,Glassfish,我正在设置一个新的GlassFish服务器4.1.1,其中部署了一个Java web服务。web服务有一个web方法,该方法接收JSON作为输入参数,并因此返回JSON。为了在JSON中序列化/反序列化Java对象,我使用了Gson库。web方法正在调用另一个web服务,其中一个运行正在执行大约2-3分钟。例如,我在一个循环中调用这个web服务6-10次,因此web方法要等待大约16-30分钟才能返回一个值。问题是超时,但我不知道在哪里以及如何为我的问题设置超时 我试图从VisualStudio

我正在设置一个新的GlassFish服务器4.1.1,其中部署了一个Java web服务。web服务有一个web方法,该方法接收JSON作为输入参数,并因此返回JSON。为了在JSON中序列化/反序列化Java对象,我使用了Gson库。web方法正在调用另一个web服务,其中一个运行正在执行大约2-3分钟。例如,我在一个循环中调用这个web服务6-10次,因此web方法要等待大约16-30分钟才能返回一个值。问题是超时,但我不知道在哪里以及如何为我的问题设置超时

我试图从VisualStudioC#项目中调用这个JavaWeb服务,在该项目中,我添加了一个web引用,在其中定义了web服务的web引用URL。我还设置了XMLWeb服务客户端等待同步XMLWeb服务请求的响应到达的时间。我将其设置为10小时,如下所示

静态字符串CallEARSjDE(字符串json)
{
EARSWebReference.EARSWebService EARSWS=新的EARSWebReference.EARSWebService();
EARSWS.Timeout=36000000;//10小时
返回EARSWS.EARSjDE(json);
}
我还为在JavaWeb方法中发出的web服务请求设置了超时。我把它设为1小时

Gson-Gson=new-Gson();
RequestConfig RequestConfig=RequestConfig.custom().setConnectTimeout(1*3600000.build();//超时设置为1小时
HttpClient HttpClient=HttpClientBuilder.create().setDefaultRequestConfig(requestConfig.build();
HttpPost=新的HttpPost(this.ServiceURL);
StringEntity postingString=newStringEntity(gson.toJson(problemLCSRequest));
post.setEntity(posting字符串);
setHeader(“内容类型”、“应用程序/json”);
HttpResponse response=httpClient.execute(post);
HttpEntity=response.getEntity();
字符串responseString=EntityUtils.toString(实体,“UTF-8”);
ProblemLCSResponse responseJson=gson.fromJson(responseString,ProblemLCSResponse.class);
除了这两个超时之外,我还在GlassFish管理控制台中设置了一个超时。我是用电脑做的→ 服务器配置→ Web容器部分,其中我将会话超时设置为36.000秒(10小时)

例如,当我在一个web方法中调用一个web服务6次时,我得到了所需的响应。但是当我调用web服务超过6次时,它会抛出一个异常,如下所示。我认为这个异常的原因是超时,但我不知道是哪一个原因导致的,在哪里可以更改它

警告:Servlet EARSWebService的StandardWrapperValve[EARSWebService]:Servlet.service()引发异常 java.nio.channels.ClosedByInterruptException 位于java.nio.channels.spi.AbstractInterruptableChannel.end(AbstractInterruptableChannel.java:202) 在sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:478) 位于org.glassfish.grizzly.nio.transport.TCPNIOUtils.flushByteBuffer(TCPNIOUtils.java:149) 位于org.glassfish.grizzly.nio.transport.TCPNIOUtils.writeCompositeBuffer(TCPNIOUtils.java:87) 位于org.glassfish.grizzly.nio.transport.TCPNIOAsyncQueueWriter.write0(TCPNIOAsyncQueueWriter.java:129) 位于org.glassfish.grizzly.nio.transport.TCPNIOAsyncQueueWriter.write0(TCPNIOAsyncQueueWriter.java:106) 位于org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.write(AbstractNIOAsyncQueueWriter.java:260) 位于org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.write(AbstractNIOAsyncQueueWriter.java:169) 位于org.glassfish.grizzly.nio.AbstractNIOAsyncQueueWriter.write(AbstractNIOAsyncQueueWriter.java:71) 位于org.glassfish.grizzly.nio.transport.TCPNIOTransportFilter.handleWrite(TCPNIOTransportFilter.java:126) 位于org.glassfish.grizzly.filterchain.TransportFilter.handleWrite(TransportFilter.java:191) 位于org.glassfish.grizzly.filterchain.ExecutorResolver$8.execute(ExecutorResolver.java:111) 位于org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283) 在org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart上(DefaultFilterChain.java:200) 在org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132) 在org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111)上 位于org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) 在org.glassfish.grizzly.filterchain.FilterChainContext.write上(FilterChainContext.java:890) 在org.glassfish.grizzly.filterchain.FilterChainContext.write上(FilterChainContext.java:858) 位于org.glassfish.grizzly.http.io.OutputBuffer.flushBuffer(OutputBuffer.java:1029) 位于org.glassfish.grizzly.http.io.OutputBuffer.flushBinaryBuffers(OutputBuffer.java:1016) 位于org.glassfish.grizzly.http.io.OutputBuffer.flushAllBuffers(OutputBuffer.java:987) 位于org.glassfish.grizzly.http.io.OutputBuffer.flush(OutputBuffer.java:738) 位于org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:291) 位于org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:275) 位于org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:175) 位于java.io.FilterOutputStream.flush(FilterOutputStream.java:140) 位于com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:103) 位于com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:225) 位于com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:259) 位于com.sun.xml.ws.util.xml.XMLStreamWriterFilter.flush(XMLStreamWriterFilter.java:71) 在com.sun.xml.ws.streaming.XMLStreamWriterUtil.getOutputStream(XMLStreamWriterUtil.java:103)上 位于com.sun.xml.ws.message.jaxb.JAXBMessage.writePayloadTo(JAXBMessage.java:403) 在com.sun.xml.ws.message.AbstractMessageImpl.writeTo(AbstractMessageImpl.java:192)上 位于com.sun.xml.ws.api.message.MessageWrapper.writeTo(MessageWrapper.java:226) 在com.sun.xml.ws.encoding.Stre