StringIndexOutOfBoundsException in org.apache.axiom.attachments.impl.PartFactory.readHeader() ---------------------------------------------------------------------------------------------
Key: WSCOMMONS-381 URL: https://issues.apache.org/jira/browse/WSCOMMONS-381 Project: WS-Commons Issue Type: Bug Components: AXIOM Environment: Axis2 1.4 Client and Server Reporter: Jan Dittberner PartFactory throws a StringIndexOutOfBoundsException in org.apache.axiom.attachments.impl.PartFactory.readHeader(): org.apache.axiom.om.OMException: java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at org.apache.axiom.attachments.impl.PartFactory.createPart(PartFactory.java:127) at org.apache.axiom.attachments.Attachments.getPart(Attachments.java:624) at org.apache.axiom.attachments.Attachments.getNextPartDataHandler(Attachments.java:542) at org.apache.axiom.attachments.Attachments.getDataHandler(Attachments.java:333) at org.apache.axis2.context.MessageContext.getAttachment(MessageContext.java:1681) at de.t_systems.mittelstand.crow.obmcrow._2008_1.RequestValidator.validateAttachment(RequestValidator.java:223) at de.t_systems.mittelstand.crow.obmcrow._2008_1.RequestValidator.validate(RequestValidator.java:130) at de.t_systems.mittelstand.crow.obmcrow._2008_1.ObmCrowServiceSkeleton.createNewComplaint(ObmCrowServiceSkeleton.java:120) at de.t_systems.mittelstand.crow.obmcrow._2008_1.ObmCrowServiceMessageReceiverInOut.invokeBusinessLogic(ObmCrowServiceMessageReceiverInOut.java:69) at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:131) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619) Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at java.lang.AbstractStringBuilder.substring(AbstractStringBuilder.java:881) at java.lang.StringBuffer.substring(StringBuffer.java:416) at org.apache.axiom.attachments.impl.PartFactory.readHeader(PartFactory.java:232) at org.apache.axiom.attachments.impl.PartFactory.readHeaders(PartFactory.java:199) at org.apache.axiom.attachments.impl.PartFactory.createPart(PartFactory.java:85) ... 28 more The problem is caused by a SwA-Message that has been created by an Axis2 1.4 client. The attachment that creates the trouble is a MIME-Message itself and the header that PartFactory cannot read contains a line break. I attach an example SOAP-Message that causes the crash: -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.