Index: trunk/zoo-project/zoo-kernel/zoo_loader.c
===================================================================
--- trunk/zoo-project/zoo-kernel/zoo_loader.c	(revision 712)
+++ trunk/zoo-project/zoo-kernel/zoo_loader.c	(revision 718)
@@ -250,6 +250,6 @@
 	xmlFree(tval);
       }
-      const char* requests[3]={"GetCapabilities","DescribeProcess","Execute"};
-      for(int j=0;j<3;j++){
+      const char* requests[6]={"GetCapabilities","DescribeProcess","Execute","GetStatus","GetResult","Dismiss"};
+      for(int j=0;j<6;j++){
 	char tt[128];
 	sprintf(tt,"/*[local-name()='%s']",requests[j]);
@@ -264,5 +264,5 @@
 	      free(t1->value);
 	    t1->value=zStrdup(requests[j]);
-	    j=2;
+	    j=5;
 	  }
 	  xmlXPathFreeObject(reqptr);
@@ -320,8 +320,10 @@
 	    }
 	    xmlXPathFreeObject(idptr);
-	    addToMap(tmpMap,"Identifier",identifiers);
+	    if(identifiers[0]!=0)
+	      addToMap(tmpMap,"Identifier",identifiers);
 	    free(identifiers);
 	  }
-	}else{
+	}
+	if(getMap(tmpMap,"Identifier")==NULL){
 	  idptr=extractFromDoc(doc,"/*/*[local-name()='JobID']");
 	  if(idptr!=NULL){
@@ -332,20 +334,21 @@
 	      identifiers[0]=0;
 	      for(int k=0;k<id->nodeNr;k++){
-		xmlChar* content=xmlNodeListGetString(doc, id->nodeTab[k]->xmlChildrenNode,1);
-		if(strlen(identifiers)>0){
-		  char *tmp=zStrdup(identifiers);
-		  snprintf(identifiers,strlen(tmp)+xmlStrlen(content)+2,"%s,%s",tmp,content);
-		  free(tmp);
-		}
-		else{
-		  snprintf(identifiers,xmlStrlen(content)+1,"%s",content);
-		}
-		xmlFree(content);
+		  xmlChar* content=xmlNodeListGetString(doc, id->nodeTab[k]->xmlChildrenNode,1);
+		  if(strlen(identifiers)>0){
+		    char *tmp=zStrdup(identifiers);
+		    snprintf(identifiers,strlen(tmp)+xmlStrlen(content)+2,"%s,%s",tmp,content);
+		    free(tmp);
+		  }
+		  else{
+		    snprintf(identifiers,xmlStrlen(content)+1,"%s",content);
+		  }
+		  xmlFree(content);
 	      }
 	      xmlXPathFreeObject(idptr);
-	      addToMap(tmpMap,"JobID",identifiers);
+	      if(identifiers[0]!=0)
+		addToMap(tmpMap,"JobID",identifiers);
 	      free(identifiers);
 	    }
-	}
+	  }
 	}
       }
