You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by to...@apache.org on 2005/05/31 21:46:14 UTC

cvs commit: ws-axis/java/src/org/apache/axis/i18n resource.properties

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                                                        #