Bonjour,

j'ai un soucis lorsque j'appelle une méthode via le webservice de mon application :

je suis sensé récupérer un ensemble d'objets depuis une base de données oracle. Quand le nombre d'objets à récupérer est limité cela fonctionne bien mais quand je dois en récupérer beaucoup (nb>10000), j'obtiens l'erreur suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
 
 
ERROR java.io.IOException: *** 21608290 TP-Processor5 org.apache.axis.Message
ClientAbortException:  java.net.SocketException: Write failed: Broken pipe
	at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:366)
	at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:324)
	at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:392)
	at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:381)
	at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:88)
	at org.apache.axis.utils.ByteArray.writeTo(ByteArray.java:375)
	at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:265)
	at org.apache.axis.Message.writeTo(Message.java:539)
	at org.apache.axis.transport.http.AxisServlet.sendResponse(AxisServlet.java:902)
	at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:777)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
	at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
	at sun.reflect.GeneratedMethodAccessor321.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
	at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
	at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
	at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:245)
	at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50)
	at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:152)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
	at org.objectweb.jonas.web.catalina55.ResetAuthenticationValve.invoke(ResetAuthenticationValve.java:91)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
	at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
	at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
	at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:754)
	at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:684)
	at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:876)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
	at java.lang.Thread.run(Thread.java:595)
Caused by: java.net.SocketException: Write failed: Broken pipe
	at jrockit.net.SocketNativeIO.writeBytesPinned(Native Method)
	at jrockit.net.SocketNativeIO.socketWrite(SocketNativeIO.java:45)
	at java.net.SocketOutputStream.socketWrite0(SocketOutputStream.java)
	at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
	at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
	at org.apache.jk.common.ChannelSocket.send(ChannelSocket.java:518)
	at org.apache.jk.common.JkInputStream.doWrite(JkInputStream.java:147)
	at org.apache.coyote.Response.doWrite(Response.java:559)
	at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:361)
	at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:324)
	at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:392)
	at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:381)
	at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:88)
	at org.apache.axis.utils.ByteArray.writeTo(ByteArray.java:375)
	at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:265)
	at org.apache.axis.Message.writeTo(Message.java:539)
	at org.apache.axis.transport.http.AxisServlet.sendResponse(AxisServlet.java:902)
	at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:777)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
	at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
	at sun.reflect.GeneratedMethodAccessor321.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
	at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
	at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
	at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:245)
	at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50)
	at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156)
Y a-t-il un paramètre à modifier pour que la connexion ne se ferme pas quand il y a beaucoup de données?

Merci d'avance