Added print of status or Error Report from xml ES
authorJacob Poulsen <ja7@dbc.dk>
Mon, 17 Mar 2008 14:16:22 +0000 (15:16 +0100)
committerAdam Dickmeiss <adam@indexdata.dk>
Tue, 18 Mar 2008 10:19:55 +0000 (11:19 +0100)
client/client.c

index befc3e7..811d957 100644 (file)
@@ -1925,16 +1925,30 @@ void process_ESResponse(Z_ExtendedServicesResponse *res)
         if (ext->which == Z_External_itemOrder)
         {
             Z_IOTaskPackage *otp = ext->u.itemOrder->u.taskPackage;
-            if (otp && otp->targetPart && otp->targetPart->itemRequest)
+
+            if (otp && otp->targetPart ) 
             {
-                Z_External *ext = otp->targetPart->itemRequest;
-                if (ext->which == Z_External_octet)
+                if (otp->targetPart->itemRequest) 
                 {
-                    Odr_oct *doc = ext->u.octet_aligned;
-                    printf("Got itemRequest doc %.*s\n",
-                           doc->len, doc->buf);
+                    Z_External *ext = otp->targetPart->itemRequest;                    
+                    if (ext->which == Z_External_octet)
+                    {
+                        Odr_oct *doc = ext->u.octet_aligned;
+                        printf("Got itemRequest doc %.*s\n",
+                               doc->len, doc->buf);
+                    }
                 }
-            }
+                else if (otp->targetPart->statusOrErrorReport) 
+                {
+                    Z_External *ext = otp->targetPart->statusOrErrorReport;
+                    if (ext->which == Z_External_octet)
+                    {
+                        Odr_oct *doc = ext->u.octet_aligned;
+                        printf("Got Status or Error Report doc %.*s\n",
+                               doc->len, doc->buf);
+                    }
+                }
+            } 
         }
     }
     if (res->taskPackage && res->taskPackage->which == Z_External_octet)