 				{
 					var tableMetadata:Object = {};
 					tableMetadata[ColumnMetadata.ENTITY_TYPE] = EntityType.TABLE;
-					addAsyncResponder(service.getHierarchyInfo(tableMetadata), handleEntityHierarchyInfo, null, tableMetadata);
+					addAsyncResponder(service.getHierarchyInfo(tableMetadata), handleEntityHierarchyInfo, handleServiceFault, tableMetadata);
 					
 					var hierarchyMetadata:Object = {};
 					hierarchyMetadata[ColumnMetadata.ENTITY_TYPE] = EntityType.HIERARCHY;
-					addAsyncResponder(service.getHierarchyInfo(hierarchyMetadata), handleEntityHierarchyInfo, null, hierarchyMetadata);
+					addAsyncResponder(service.getHierarchyInfo(hierarchyMetadata), handleEntityHierarchyInfo, handleServiceFault, hierarchyMetadata);
 				}
 				else
 					ids.push(int(id));

		public function getHierarchyInfo(publicMetadata:Object):AsyncToken
		{
			var token:AsyncToken = service.getHierarchyInfo(publicMetadata);
			addAsyncResponder(token, handleEntityHierarchyInfo, null, publicMetadata);
			return token;
		}
		

package weave.services
{
    import mx.rpc.AsyncToken;
    import mx.rpc.events.FaultEvent;
    import mx.rpc.events.ResultEvent;
    
    import weave.api.core.ICallbackCollection;
