X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fseshigh.c;h=936f31d134f839ee7f9cb13a0a7a99c02fb0c294;hb=8746c08e36ba07edc839f1396c17a27ea2915dc0;hp=6010c2fae3148120aa3ece4c284e8ab4620cd17c;hpb=764d3e4552e9a6c56f9cc07eadf9b6a5142722d0;p=yaz-moved-to-github.git diff --git a/src/seshigh.c b/src/seshigh.c index 6010c2f..936f31d 100644 --- a/src/seshigh.c +++ b/src/seshigh.c @@ -2,7 +2,7 @@ * Copyright (c) 1995-2004, Index Data * See the file LICENSE for details. * - * $Id: seshigh.c,v 1.18 2004-01-23 18:16:07 adam Exp $ + * $Id: seshigh.c,v 1.22 2004-03-16 13:12:43 adam Exp $ */ /* @@ -631,9 +631,8 @@ static void srw_bend_search(association *assoc, request *req, srw_res->num_diagnostics = 1; srw_res->diagnostics = (Z_SRW_diagnostic *) odr_malloc(assoc->encode, sizeof(*srw_res->diagnostics)); - srw_res->diagnostics[0].code = - odr_intdup(assoc->encode, srw_error); - srw_res->diagnostics[0].details = 0; + yaz_mk_std_diagnostic(assoc->encode, + srw_res->diagnostics, srw_error, 0); return; } @@ -661,13 +660,11 @@ static void srw_bend_search(association *assoc, request *req, srw_res->num_diagnostics = 1; srw_res->diagnostics = (Z_SRW_diagnostic *) odr_malloc(assoc->encode, sizeof(*srw_res->diagnostics)); - srw_res->diagnostics[0].code = - odr_intdup(assoc->encode, - yaz_diag_bib1_to_srw (rr.errcode)); - srw_res->diagnostics[0].details = rr.errstring; - yaz_log(LOG_DEBUG, "srw_bend_search returned SRW error %d", - *srw_res->diagnostics[0].code); - + yaz_mk_std_diagnostic(assoc->encode, srw_res->diagnostics, + yaz_diag_bib1_to_srw (rr.errcode), + rr.errstring); + yaz_log(LOG_DEBUG, "srw_bend_search returned SRW error %s", + srw_res->diagnostics[0].uri); } else { @@ -713,10 +710,11 @@ static void srw_bend_search(association *assoc, request *req, srw_res->diagnostics = (Z_SRW_diagnostic *) odr_malloc(assoc->encode, sizeof(*srw_res->diagnostics)); - srw_res->diagnostics[0].code = - odr_intdup(assoc->encode, - yaz_diag_bib1_to_srw (errcode)); - srw_res->diagnostics[0].details = rr.errstring; + + yaz_mk_std_diagnostic(assoc->encode, + srw_res->diagnostics, + yaz_diag_bib1_to_srw (errcode), + rr.errstring); break; } if (srw_res->records[j].recordData_buf) @@ -754,6 +752,7 @@ static void srw_bend_explain(association *assoc, request *req, rr.print = assoc->print; rr.explain_buf = 0; rr.database = srw_req->database; + rr.schema = "http://explain.z3950.org/dtd/2.0/"; (*assoc->init->bend_explain)(assoc->backend, &rr); if (rr.explain_buf) { @@ -859,6 +858,7 @@ static void process_http_request(association *assoc, request *req) } else { + yaz_log(LOG_LOG, "generate soap error"); http_code = 500; z_soap_error(assoc->encode, soap_package, "SOAP-ENV:Client", "Bad method", 0); @@ -1319,7 +1319,7 @@ static Z_APDU *process_initRequest(association *assoc, request *reqb) assoc->init->implementation_name, odr_prepend(assoc->encode, "GFS", resp->implementationName)); - version = odr_strdup(assoc->encode, "$Revision: 1.18 $"); + version = odr_strdup(assoc->encode, "$Revision: 1.22 $"); if (strlen(version) > 10) /* check for unexpanded CVS strings */ version[strlen(version)-2] = '\0'; resp->implementationVersion = odr_prepend(assoc->encode,