java.nio.- Kanäle.ClosedChannelException -Client heruntergefahren SSL

HALLO,

Ich habe ein webservice läuft auf glassfish3.1 server auf einer Maschine.

Auf der zweiten Maschine habe ich eine java (GUI) app ausgeführt wird, und fordert die oben beschriebenen web-service.

In meiner webservice-Aufruf, sende ich eine Datei als SOAP-attachment. Er erreicht den server, die Datei wird dann bearbeitet, und dann ist es zurück zu meinem client-Rechner über https.

Wenn meine Datei ist zu groß und dauert mehr als 15 Minuten, schlägt der Vorgang fehl und ich bekomme folgende Fehlermeldung:

Auf der Client-Seite:
Konnte nicht erstellt SOAP-Nachricht aufgrund einer Ausnahme: org.jvnet.mimepull.MIMEParsingException: javax.net.ssl.SSLException: SSL peer nicht ordnungsgemäß heruntergefahren

auf der server-Seite:
javax.- servlet.ServletException
bei org.glassfish.webservices.JAXWSServlet.doPost(JAXWSServlet.java:150)
bei javax.- servlet.http.HttpServlet.service(HttpServlet.java:755)
bei javax.- servlet.http.HttpServlet.service(HttpServlet.java:848)
bei org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)
bei org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
bei org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
bei org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
bei org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
bei com.Sonne.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
bei com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
bei org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
bei org.apache.catalina.- Anschluss.CoyoteAdapter.doService(CoyoteAdapter.java:326)
bei org.apache.catalina.- Anschluss.CoyoteAdapter.service(CoyoteAdapter.java:227)
bei com.Sonne.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:170)
bei com.Sonne.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
bei com.Sonne.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
bei com.Sonne.grizzly.http.ProcessorTask.Prozess(ProcessorTask.java:1013)
bei com.Sonne.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
bei com.Sonne.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
bei com.Sonne.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
bei com.Sonne.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
bei com.Sonne.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
bei com.Sonne.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
bei com.Sonne.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
bei com.Sonne.grizzly.ContextTask.run(ContextTask.java:71)
bei com.Sonne.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
bei com.Sonne.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
bei java.lang.Thread.run(Thread.java:662)
Verursacht durch: javax.xml.ws.WebServiceException: com.ctc.wstx.exc.WstxIOException: java.nio.- Kanäle.ClosedChannelException
bei com.Sonne.xml.ws.- Codierung.MtomCodec.encode(MtomCodec.java:184)
bei com.Sonne.xml.ws.- Codierung.SOAPBindingCodec.encode(SOAPBindingCodec.java:282)
bei com.Sonne.xml.ws.transport.http.HttpAdapter.encodePacket(HttpAdapter.java:400)
bei com.Sonne.xml.ws.transport.http.HttpAdapter.access$100(HttpAdapter.java:96)
bei com.Sonne.xml.ws.transport.http.HttpAdapter$HttpToolkit.Griff(HttpAdapter.java:618)
bei com.Sonne.xml.ws.transport.http.HttpAdapter.Griff(HttpAdapter.java:259)
bei com.Sonne.xml.ws.transport.http.- servlet.ServletAdapter.Griff(ServletAdapter.java:162)
bei org.glassfish.webservices.JAXWSServlet.doPost(JAXWSServlet.java:145)
27 mehr ...
Verursacht durch: com.ctc.wstx.exc.WstxIOException: java.nio.- Kanäle.ClosedChannelException
bei com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:313)
bei com.Sonne.xml.ws.util.xml.XMLStreamWriterFilter.flush(XMLStreamWriterFilter.java:71)
bei com.Sonne.xml.ws.- streaming.XMLStreamWriterUtil.getOutputStream(XMLStreamWriterUtil.java:101)
bei com.Sonne.xml.ws.Nachricht.jaxb.JAXBMessage.writePayloadTo(JAXBMessage.java:320)
bei com.Sonne.xml.ws.Nachricht.AbstractMessageImpl.writecontentto(AbstractMessageImpl.java:147)
bei com.Sonne.xml.ws.- Codierung.MtomCodec.encode(MtomCodec.java:168)
34 mehr ...
Verursacht durch: org.apache.catalina.- Anschluss.ClientAbortException: java.nio.- Kanäle.ClosedChannelException
bei org.apache.catalina.- Anschluss.OutputBuffer.doFlush(OutputBuffer.java:382)
bei org.apache.catalina.- Anschluss.OutputBuffer.flush(OutputBuffer.java:351)
bei org.apache.catalina.- Anschluss.CoyoteOutputStream.flush(CoyoteOutputStream.java:175)
bei com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:99)
bei com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:214)
bei com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:311)
... 39 mehr
Verursacht durch: java.nio.- Kanäle.ClosedChannelException
bei der sun.nio.ch.SocketChannelImpl.ensureWriteOpen(SocketChannelImpl.java:133)
bei der sun.nio.ch.SocketChannelImpl.schreiben(SocketChannelImpl.java:324)
bei com.Sonne.grizzly.util.OutputWriter.flushChannel(OutputWriter.java:108)
bei com.Sonne.grizzly.util.OutputWriter.flushChannel(OutputWriter.java:76)
bei com.Sonne.grizzly.util.SSLOutputWriter.flushChannel(SSLOutputWriter.java:102)
bei com.Sonne.grizzly.ssl.SSLOutputBuffer.flushChannel(SSLOutputBuffer.java:138)
bei com.Sonne.grizzly.http.SocketChannelOutputBuffer.flushBuffer(SocketChannelOutputBuffer.java:398)
bei com.Sonne.grizzly.http.SocketChannelOutputBuffer.flush(SocketChannelOutputBuffer.java:376)
bei com.Sonne.grizzly.http.ProcessorTask.Aktion(ProcessorTask.java:1241)
bei com.Sonne.grizzly.ssl.SSLProcessorTask.Aktion(SSLProcessorTask.java:164)
bei com.Sonne.grizzly.tcp.Antwort.Maßnahmen(Response.java:268)
bei org.apache.catalina.- Anschluss.OutputBuffer.doFlush(Ausgabe

...

Denke ich, dass die SSL-Sitzung ist eine Zeitüberschreitung auf meine client-Seite und nicht auf der server-Seite.

Nun bin ich versucht, herauszufinden, ein Weg zur Steigerung der SSL timeout auf meinem client-Seite, die ich vermute, ist 15 Minuten...

Ich bin nicht in der Lage zu tun, jede Hilfe wäre appriciated...
Danke

  • Was meinst du mit " SSL "- Sitzung"? Es ist wahrscheinlich nur ein Verbindungs-timeout. Was verwenden Sie auf dem client die Anfrage zu machen?
  • Ich habe gesehen, ähnliche Fehler kommen (mit und ohne SSL), wenn Sie versuchen, senden oder empfangen von SOAP-Nachrichten, sobald Sie zu groß werden. Ich habe nie wirklich bekommen, eine zufriedenstellende andere Lösung als trimmen nach unten meine Anfragen.
  • Irreführender Titel. Es gibt keine Beweise, die hier über den client Herunterfahren SSL. Eigentlich ist es beschwerte sich über die peer-tun, also falsch.
InformationsquelleAutor Pushkar | 2011-05-19
Schreibe einen Kommentar