${is_prefix}Server.c ${ps_prefix}Client.c ${ws_prefix}C.c \
        ws_ps_typeref.c ws_is_typeref.c db_ops.c context.c common_server.c 
 
-EXA_TEST_SRCS:=jpis-test.c ${is_prefix}Client.c ${is_prefix}C.c context.c db_ops.c conf.c ws_is_typeref.c
+EXA_TEST_SRCS:=jpis-test.c ${is_prefix}Client.c ${is_prefix}C.c context.c common.c db_ops.c conf.c ws_is_typeref.c
 EXA_DB_SRCS:=jpis-db-internal.c db_ops.c conf.c context.c ws_is_typeref.c
 EXA_CLIENT_SRCS:=jpis-client.c ${is_prefix}Client.c ${is_prefix}C.c common.c
 
 
 #include "conf.h"
 #include "context.h"
 #include "db_ops.h"
+#include "common.h"
 
 
 #ifndef LOG_SQL
 
        lprintf("\n");
 
+       if (!jobid || !owner) {
+               glite_jpis_stack_error(ctx->jpctx, EINVAL, "jobid and owner is mandatory (jobid=%s, owner=%s)!\n", jobid, owner);
+               goto fail;
+       }
        md5_jobid = str2md5(jobid);
        md5_cert = str2md5(owner);
        GLITE_JPIS_PARAM(ctx->param_jobid, ctx->param_jobid_len, md5_jobid);