Index: lib/ezsoap/classes/ezsoapresponse.php
===================================================================
--- lib/ezsoap/classes/ezsoapresponse.php	(revision 22958)
+++ lib/ezsoap/classes/ezsoapresponse.php	(working copy)
@@ -87,6 +87,14 @@
             // get the response
             $response = $dom->getElementsByTagNameNS( $request->namespace(), $request->name() . "Response" );
 
+            /* Some protocols do not use namespaces, and do not work with an empty namespace.
+            So, if we get no response, try again without namespace.
+            */
+            if ( $response->length == 0 )
+            {
+                $response = $dom->getElementsByTagName( $request->name() . "Response" );
+            }
+
             $response = $response->item(0);
 
             if ( !empty( $response ) )
@@ -217,7 +225,7 @@
             {
                 foreach ( $node->childNodes as $childNode )
                 {
-                    if ( $child instanceof DOMElement )
+                    if ( $childNode instanceof DOMElement )
                     {
                         // check data type for child
                         $attr = $childNode->getAttributeNodeNS( eZSOAPEnvelope::SCHEMA_INSTANCE, 'type' )->value;
@@ -226,8 +234,7 @@
                         $attrParts = explode( ":", $attr );
                         $dataType = $attrParts[1];
 
-
-                        $returnValue[$childNode->name()] = eZSOAPResponse::decodeDataTypes( $childNode );
+                        $returnValue[$childNode->tagName] = eZSOAPResponse::decodeDataTypes( $childNode );
                     }
                 }
 
