Peter Masters created WINK-371:
----------------------------------
Summary: Data conversion issue for Multi-part MIME on mainframe
(z/OS)
Key: WINK-371
URL: https://issues.apache.org/jira/browse/WINK-371
Project: Wink
Issue Type: Bug
Components: Server
Affects Versions: 1.2
Environment: z/OS primarily
Reporter: Peter Masters
We have a method annotated as follows:-
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.TEXT_XML)
When we look through the parts on zOS, using:
while (iterator.hasNext()) {
InPart part = iterator.next();
InputStream is = part.getBody(InputStream.class, null);
...
}
we see an exception
java.lang.StringIndexOutOfBoundsException
at java.lang.String.substring(String.java:1092)
at
org.apache.wink.common.internal.providers.multipart.MultiPartParser.parseHeaders(MultiPartParser.java:264)
at
org.apache.wink.common.internal.providers.multipart.MultiPartParser.nextPart(MultiPartParser.java:109)
at
org.apache.wink.common.model.multipart.InMultiPart.hasNext(InMultiPart.java:83)
...
The headers going over the wire are in UTF-8, but I believe Wink is trying to
decode them as platform encoding (e.g. a new String(bytes), without a codepage
specified). On a regular windows/linux box this would work for normal
codepoints, but on zOS, EBCDIC encoding is nothing like UTF-8, so the
assumption wouldn't work. I'm unfortunately not permitted to look at wink
sourcecode (legal reasons) so I cannot verify this myself, but as this is a
string handling error on a UTF-8 string, that is the best guess I can do.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira