1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
|
/*
* Copyright (C) 2004-2005 by CERN/IT/GD/CT & CNRS/IN2P3/LAL
* All rights reserved
*/
// $Id: srm2_testExtendFileLifeTime.c,v 1.5 2006/01/27 09:37:00 grodid Exp $
#include "srmv2H.h"
#include "srmSoapBinding.nsmap"
#define DEFPOLLINT 10
#define SRM_EP_PATH "/v2_1_1/srm"
#ifdef GFAL_SECURE
#include "cgsi_plugin.h"
#endif
#include "parsesurl.ic"
#include "soapcallns1.ic"
main(argc, argv)
int argc;
char **argv;
{
int flags;
int i;
int nbfiles;
#if 0
int nbproto = 0;
static char *protocols[] = {
#if GFAL_ENABLE_RFIO
"rfio",
#endif
#if GFAL_ENABLE_DCAP
"gsidcap",
#endif
""
};
#endif
int r = 0;
char *r_token;
struct ns1__srmExtendFileLifeTimeResponse_ rep;
struct ns1__srmExtendFileLifeTimeRequest req;
struct ns1__TReturnStatus *reqstatp;
char *sfn;
struct soap soap;
struct ns1__srmStatusOfGetRequestResponse_ srep;
struct ns1__srmStatusOfGetRequestRequest sreq;
char *srm_endpoint;
if (argc < 4) {
fprintf (stderr, "usage: %s reqid SURL seconds\n", argv[0]);
exit (1);
}
nbfiles = argc - 3;
if (parsesurl (argv[2], &srm_endpoint, &sfn) < 0) {
perror ("parsesurl");
exit (1);
}
//while (*protocols[nbproto]) nbproto++;
soap_init (&soap);
#ifdef GFAL_SECURE
flags = CGSI_OPT_DISABLE_NAME_CHECK;
soap_register_plugin_arg (&soap, client_cgsi_plugin, &flags);
#endif
memset (&req, 0, sizeof(req));
if ((req.requestToken =
soap_malloc (&soap, sizeof(struct ns1__TRequestToken))) == NULL) {
perror ("malloc");
soap_end (&soap);
exit (1);
}
req.requestToken->value = argv[1];
if ((req.siteURL =
soap_malloc (&soap, sizeof(struct ns1__TSURL))) == NULL) {
perror ("malloc");
soap_end (&soap);
exit (1);
}
req.siteURL->value = argv[2];
if ((req.newLifeTime =
soap_malloc (&soap, sizeof(struct ns1__TLifeTimeInSeconds))) == NULL) {
perror ("malloc");
soap_end (&soap);
exit (1);
}
req.newLifeTime->value = atol(argv[3]);
/* GG special tests */
//CRASHreq.requestToken->value = NULL;
//GOODreq.requestToken = NULL;
//CRASHreq.siteURL->value = NULL;
//GOODreq.siteURL = NULL;
//GOODreq.newLifeTime->value = 0;
//GOODreq.newLifeTime = NULL;
if (soap_call_ns1__srmExtendFileLifeTime (&soap, srm_endpoint, "ExtendFileLifeTime",
&req, &rep)) {
soap_print_fault (&soap, stderr);
soap_print_fault_location (&soap, stderr);
soap_end (&soap);
exit (1);
}
reqstatp = rep.srmExtendFileLifeTimeResponse->returnStatus;
printf ("request state %d\n", reqstatp->statusCode);
if (reqstatp->statusCode != SRM_USCORESUCCESS &&
reqstatp->statusCode != SRM_USCOREDONE) {
if (reqstatp->explanation)
printf ("explanation: %s\n", reqstatp->explanation);
soap_end (&soap);
exit (1);
}
if (rep.srmExtendFileLifeTimeResponse->newTimeExtended)
printf("time extended to: %d\n", rep.srmExtendFileLifeTimeResponse->newTimeExtended->value);
soap_end (&soap);
exit (0);
}
|