Index: src/java/org/apache/hadoop/hbase/rest/AbstractController.java =================================================================== --- src/java/org/apache/hadoop/hbase/rest/AbstractController.java (revision 747900) +++ src/java/org/apache/hadoop/hbase/rest/AbstractController.java (working copy) @@ -64,6 +64,9 @@ if (columnArray != null) { columns = new byte[columnArray.length][]; for (int i = 0; i < columnArray.length; i++) { + if(!columnArray[i].contains(":")) { + columnArray[i] = columnArray[i] + ":"; + } columns[i] = Bytes.toBytes(columnArray[i]); } } Index: src/java/org/apache/hadoop/hbase/rest/Dispatcher.java =================================================================== --- src/java/org/apache/hadoop/hbase/rest/Dispatcher.java (revision 747900) +++ src/java/org/apache/hadoop/hbase/rest/Dispatcher.java (working copy) @@ -84,7 +84,7 @@ public enum ContentType { XML("text/xml"), JSON("application/json"), PLAIN("text/plain"), MIME( - "multipart/related"), NOT_ACCEPTABLE(""); + "multipart/related"), FORM("application/x-www-form-urlencoded"), NOT_ACCEPTABLE(""); private final String type; Index: src/java/org/apache/hadoop/hbase/rest/parser/HBaseRestParserFactory.java =================================================================== --- src/java/org/apache/hadoop/hbase/rest/parser/HBaseRestParserFactory.java (revision 747900) +++ src/java/org/apache/hadoop/hbase/rest/parser/HBaseRestParserFactory.java (working copy) @@ -35,6 +35,9 @@ static { parserMap.put(ContentType.XML, XMLRestParser.class); parserMap.put(ContentType.JSON, JsonRestParser.class); + //for form or mime data assmume xml parser as a parser really shouldn't be used + parserMap.put(ContentType.FORM, XMLRestParser.class); + parserMap.put(ContentType.MIME, XMLRestParser.class); } public static IHBaseRestParser getParser(ContentType ct) {