Index: trunk/zoo-services/utils/status/cgi-env/updateStatus.xsl
===================================================================
--- trunk/zoo-services/utils/status/cgi-env/updateStatus.xsl	(revision 32)
+++ trunk/zoo-services/utils/status/cgi-env/updateStatus.xsl	(revision 32)
@@ -0,0 +1,22 @@
+<xsl:stylesheet version="1.0"
+                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:ows="http://www.opengis.net/ows/1.1"
+                xmlns:wps="http://www.opengis.net/wps/1.0.0"
+                xmlns:xlink="http://www.w3.org/1999/xlink">
+
+  <xsl:output method="xml"/>
+  <xsl:param name="value" select="string('-1')"/>
+
+  <xsl:template match="@*|node()">
+    <xsl:copy>
+      <xsl:apply-templates select="@*|node()"/>
+    </xsl:copy>
+  </xsl:template>
+
+  <xsl:template match="/wps:ExecuteResponse/wps:Status/wps:ProcessStarted/@percentCompleted">
+    <xsl:attribute name="percentCompleted">
+      <xsl:value-of select="$value"/>
+    </xsl:attribute>
+  </xsl:template>
+
+</xsl:stylesheet>
Index: trunk/zoo-services/utils/status/service.c
===================================================================
--- trunk/zoo-services/utils/status/service.c	(revision 26)
+++ trunk/zoo-services/utils/status/service.c	(revision 32)
@@ -64,12 +64,23 @@
     DIR *dirp = opendir(tmpTmap->value);
     char fileName[1024],xslFileName[1024];
+    int hasFile=-1;
     if(dirp!=NULL){
       char tmp[128];
       sprintf(tmp,"_%s.xml",tmpMap->value);
       while ((dp = readdir(dirp)) != NULL)
-	if(strstr(dp->d_name,tmp)!=0)
+	if(strstr(dp->d_name,tmp)!=0){
 	  sprintf(fileName,"%s/%s",tmpTmap->value,dp->d_name);
-    }else{  
-      setMapInMaps(conf,"lenv","message","GetStatus was unable to use the tmpPath value set in main.cfg file.");
+	  hasFile=1;
+	}
+    }else{
+      char tmp[1024];
+      snprintf(tmp,1024,"GetStatus was unable to use the tmpPath value set in main.cfg file as directory %s.",tmpTmap->value);
+      setMapInMaps(conf,"lenv","message",tmp);
+      return SERVICE_FAILED;
+    }
+    if(hasFile<0){
+      char tmp[1024];
+      snprintf(tmp,1024,"GetStatus was unable to find any cache file for Service ID %s.",tmpMap->value);
+      setMapInMaps(conf,"lenv","message",tmp);
       return SERVICE_FAILED;
     }
@@ -94,7 +105,7 @@
       xmlFree(xmlbuff);
     }
-    else{   
+    else{
       char tmp[1024];
-      sprintf(tmp,"ZOO GetStatus Service was unable to find or parse the cache xml file available for the Service ID %s.",tmpMap->value);
+      sprintf(tmp,"ZOO GetStatus Service was unable to parse the cache xml file available for the Service ID %s.",tmpMap->value);
       setMapInMaps(conf,"lenv","message",tmp);
       return SERVICE_FAILED;
