On 09/05/2016 06:39, Ooura, Nobuhito wrote: > Hi, All. > > I am using Tomcat8.0.33 and JAX-WS RI 2.2.10. > I am trying to File transfer using JAX-WS with MTOM. > Client connects via reverse proxy made by httpd. > The httpd connects to tomcat by AJP. > > When I upload a file several times consecutively, some are completed > successful. > But, some will fail by the exception that I showed at the end of this message.
What percentage fail? Can you provide a simple web application that demonstrates the problem? Mark > > My server.xml remains default. > > The same problem occurs with Tomcat 7.0.69. > On the other hand, the problem does not occur when I use HTTP connector not > AJP. > And also, the problem did not occur with JBoss EAP 6.1 even if I use AJP > connector. > I use the sample program in the following URL for the confirmation of the > phenomenon. > > Server program > https://github.com/ooura/jaxws-mtom-sample-server > Client program > https://github.com/ooura/jaxws-mtom-sample-client > > By configuration, this program can run many client concurrently in multi > threads And each client can perform the upload multiple times. > But, I encounted the problem by default. (1 upload / 1 client) > For example, I execute the client 5 times like below. > > $ mvn exec:java; mvn exec:java; mvn exec:java; mvn exec:java; mvn exec:java > > In my environment, Immediately after the start of the Tomcat, until the > fourth successful, but always fail in the fifth. > > Is it the bug of tomcat? > > When upload failed, I found following exception in catalina.out. > > SEVERE [ajp-nio-8009-exec-2] > com.sun.xml.ws.transport.http.HttpAdapter.invokeAsync Couldn't create SOAP > message due to exception: org.jvnet.mimepull.MIMEParsingException: Missing > start boundary > com.sun.xml.ws.protocol.soap.MessageCreationException: Couldn't create SOAP > message due to exception: org.jvnet.mimepull.MIMEParsingException: Missing > start boundary > at > com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:319) > at > com.sun.xml.ws.transport.http.HttpAdapter.decodePacket(HttpAdapter.java:503) > at > com.sun.xml.ws.transport.http.HttpAdapter.invokeAsync(HttpAdapter.java:713) > at > com.sun.xml.ws.transport.http.servlet.ServletAdapter.invokeAsync(ServletAdapter.java:212) > at > com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doGet(WSServletDelegate.java:161) > at > com.sun.xml.ws.transport.http.servlet.WSServletDelegate.doPost(WSServletDelegate.java:197) > at > com.sun.xml.ws.transport.http.servlet.WSServlet.doPost(WSServlet.java:81) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) > at > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) > at > org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522) > at > org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:868) > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:666) > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1502) > at > org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) > at java.lang.Thread.run(Thread.java:745) > Caused by: org.jvnet.mimepull.MIMEParsingException: Missing start boundary > at org.jvnet.mimepull.MIMEParser.skipPreamble(MIMEParser.java:313) > at org.jvnet.mimepull.MIMEParser.access$300(MIMEParser.java:68) > at > org.jvnet.mimepull.MIMEParser$MIMEEventIterator.next(MIMEParser.java:149) > at > org.jvnet.mimepull.MIMEParser$MIMEEventIterator.next(MIMEParser.java:132) > at org.jvnet.mimepull.MIMEMessage.makeProgress(MIMEMessage.java:198) > at org.jvnet.mimepull.MIMEPart.getHeaders(MIMEPart.java:179) > at org.jvnet.mimepull.MIMEPart.getContentType(MIMEPart.java:171) > at > com.sun.xml.ws.encoding.MimeMultipartParser$PartAttachment.getContentType(MimeMultipartParser.java:184) > at > com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:359) > at com.sun.xml.ws.encoding.MimeCodec.decode(MimeCodec.java:195) > at > com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:306) > ... 29 more > > Thanks for reading. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org