tomj 2005/05/31 12:46:14
Modified: java/src/org/apache/axis/transport/http HTTPSender.java java/src/org/apache/axis/i18n resource.properties Log: Fix bug 2027 - HTTPSender throws ArrayIndexOutOfBoundsException http://issues.apache.org/jira/browse/AXIS-2027 Add defensive code and throw an error if we do not find a content-Type header. Add message in the properties file. Revision Changes Path 1.127 +8 -2 ws-axis/java/src/org/apache/axis/transport/http/HTTPSender.java Index: HTTPSender.java =================================================================== RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/transport/http/HTTPSender.java,v retrieving revision 1.126 retrieving revision 1.127 diff -u -r1.126 -r1.127 --- HTTPSender.java 20 Apr 2005 22:18:58 -0000 1.126 +++ HTTPSender.java 31 May 2005 19:46:13 -0000 1.127 @@ -327,12 +327,18 @@ MimeHeaders mimeHeaders = reqMessage.getMimeHeaders(); if (posting) { - String contentType; - if (mimeHeaders.getHeader(HTTPConstants.HEADER_CONTENT_TYPE) != null) { + String contentType; + final String[] header = mimeHeaders.getHeader(HTTPConstants.HEADER_CONTENT_TYPE); + if (header != null && header.length > 0) { contentType = mimeHeaders.getHeader(HTTPConstants.HEADER_CONTENT_TYPE)[0]; } else { contentType = reqMessage.getContentType(msgContext.getSOAPConstants()); } + + //fix for AXIS-2027 + if (contentType == null || contentType.equals("")) { + throw new Exception(Messages.getMessage("missingContentType")); + } header2.append(HTTPConstants.HEADER_CONTENT_TYPE) .append(": ") .append(contentType) 1.118 +1 -0 ws-axis/java/src/org/apache/axis/i18n/resource.properties Index: resource.properties =================================================================== RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/i18n/resource.properties,v retrieving revision 1.117 retrieving revision 1.118 diff -u -r1.117 -r1.118 --- resource.properties 22 Apr 2005 13:59:29 -0000 1.117 +++ resource.properties 31 May 2005 19:46:13 -0000 1.118 @@ -1073,6 +1073,7 @@ NullDelegate=Null delegate passed to TypeMappingDelegate constructor optionWrapArrays=Prefers building beans to straight arrays for wrapped XML array types (defaults to off). useStubsGetCallMethod=Please use Stub's _getCall method +missingContentType=A HTTP POST request mandates a contentType HTTP header. # # # In-use keys #