[
https://issues.apache.org/jira/browse/XMLRPC-164?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jochen Wiedmann resolved XMLRPC-164.
------------------------------------
Resolution: Fixed
Fix Version/s: (was: 3.1.1)
3.1.2
Assignee: Jochen Wiedmann
Applied, with US-ASCII encoding. Thank you!
> HttpUtil.java readLine method possibly shouldn't use system default charset
> to create the return String for the input stream header line
> ----------------------------------------------------------------------------------------------------------------------------------------
>
> Key: XMLRPC-164
> URL: https://issues.apache.org/jira/browse/XMLRPC-164
> Project: XML-RPC
> Issue Type: Bug
> Affects Versions: 3.1.1
> Environment: IBM z/OS w/ JRE1.4.2
> Reporter: Greg Wurth
> Assignee: Jochen Wiedmann
> Priority: Minor
> Fix For: 3.1.2
>
>
> I'm Running with a ServletWebServer on the z/OS platform and receive the
> following exception when processing new request:
> Jan 20, 2009 9:35:54 PM org.apache.xmlrpc.webserver.XmlRpcServlet log
> INFO: init
> Jan 20, 2009 9:35:54 PM org.apache.xmlrpc.server.XmlRpcErrorLogger log
> SEVERE: encoding 2: ISO-8859-1
> Jan 20, 2009 9:36:05 PM org.apache.xmlrpc.server.XmlRpcErrorLogger log
> SEVERE: 400 Bad Request
> org.apache.xmlrpc.webserver.ServletWebServer$Exception: 400 Bad Request
> at
> org.apache.xmlrpc.webserver.HttpServletRequestImpl.<init>(HttpServletRequestImpl.java:163)
> at
> org.apache.xmlrpc.webserver.ServletConnection.<init>(ServletConnection.java:50)
> at
> org.apache.xmlrpc.webserver.ServletWebServer.newTask(ServletWebServer.java:145)
> at org.apache.xmlrpc.webserver.WebServer.run(WebServer.java:329)
> at java.lang.Thread.run(Thread.java:571)
> Jan 20, 2009 9:36:05 PM org.apache.xmlrpc.server.XmlRpcErrorLogger log
> SEVERE: 400 Bad Request
> org.apache.xmlrpc.webserver.ServletWebServer$Exception: 400 Bad Request
> at
> org.apache.xmlrpc.webserver.HttpServletRequestImpl.<init>(HttpServletRequestImpl.java:163)
> at
> org.apache.xmlrpc.webserver.ServletConnection.<init>(ServletConnection.java:50)
> at
> org.apache.xmlrpc.webserver.ServletWebServer.newTask(ServletWebServer.java:145)
> at org.apache.xmlrpc.webserver.WebServer.run(WebServer.java:329)
> at java.lang.Thread.run(Thread.java:571)
> While tracing, I noticed that the String returned from the readLine method
> in org.apache.xmlrpc.util.HttpUtil was actually in ebcidic, the default
> charset on z/OS. This causes a problem in HttpServletRequestImpl while
> reading the input stream header. HttpServletRequestImpl calls the
> HttpUtil.readLine method to get each input stream header line and then
> verifies that the line has a colon in it. If there's not a colon the above
> exception is thrown.
> I'm brand new to using xmlrpc and I don't if I'm using it improperly or not,
> but it seems that the readLine method in HttpUtil should use the webservlet's
> specified encoding or the ASCII charset to build the return String on not
> whatever the platforms default charset is. When I updated the code to allow
> the "ISO-8859-1" or "US-ASCII" charset be specified in building the String,
> then the exception went away and everything worked like a charm.
> See my code change below in HttpUtil:
> public static String readLine(InputStream pIn, byte[] pBuffer) throws
> IOException {
> int next;
> int count = 0;
> while (true)
> {
> next = pIn.read();
> if (next < 0 || next == '\n')
> {
> break;
> }
> if (next != '\r')
> {
> pBuffer[count++] = (byte) next;
> }
> if (count >= pBuffer.length)
> {
> throw new IOException ("HTTP Header too long");
> }
> }
> return new String(pBuffer, 0, count); ===> Changed to return
> new String(pBuffer, 0, count,"ISO-8859-1");
> }
> The readLine method in HttpServletRequestImpl actually already does something
> like this (using the US-ASCII charset instead).
> I'm just using the buttermountain xmlrpc example that i believe was
> referenced on one of the apache xmlrpc pages.
> I don't know if this is really a bug or if I just need to configure my
> environment differently. I'm pretty new to Java on the zOS platform and know
> almost nothing about xmlrpc.
> Thanks for your time!
> Greg
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.