diff --git a/lib/types/wadl.js b/lib/types/wadl.js
index <HASH>..<HASH> 100644
--- a/lib/types/wadl.js
+++ b/lib/types/wadl.js
@@ -52,9 +52,14 @@ function convertToSwagger(wadl, callback) {
     }
   }
   var convertType = function(wadlType) {
-    assert(!_.isUndefined(wadlType));
-    assert(wadlType.indexOf('xsd:') === 0);
-    var type = wadlType.substring(4);
+    if (_.isUndefined(wadlType))
+      return {};
+
+    //HACK: we just strip namespace. Yes I know, it's ugly.
+    //But handling XML namespaces is even uglier.
+    var match = wadlType.match('^[^:]\+:(.+)$');
+    assert(match);
+    var type = match[1];
     switch (type) {
       case 'boolean':
       case 'string':
@@ -103,8 +108,9 @@ function convertToSwagger(wadl, callback) {
       name: wadlParam.$.name,
       required: JSON.parse(wadlParam.$.required),
       in: convertStyle(wadlParam.$.style),
+      type: 'string', //default type
     };
-    _.extend(ret, convertType(wadlParam.$.type || 'xsd:string'));
+    _.assign(ret, convertType(wadlParam.$.type));
 
     var wadlDefault = wadlParam.$.default;
     if (!_.isUndefined(wadlDefault))
Wadl: support XML namespaces other than 'xsd'