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
|
/*
* Copyright (C) 2004-2007 by CERN/IT/GD/CT & CNRS/IN2P3/LAL
* All rights reserved
*/
// $Id: srm2_testMkdir.c,v 1.3 2007/07/19 08:06:24 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;
int nbproto = 0;
static char *protocols[] = {
#if GFAL_ENABLE_RFIO
"rfio",
#endif
#if GFAL_ENABLE_DCAP
"gsidcap",
#endif
""
};
int r = 0;
char *r_token;
struct ns1__srmMkdirResponse_ rep;
struct ns1__srmMkdirRequest req;
struct ns1__TReturnStatus *reqstatp;
char *sfn;
struct soap soap;
char *srm_endpoint;
if (argc < 2) {
fprintf (stderr, "usage: %s SURL\n", argv[0]);
exit (1);
}
if (parsesurl (argv[1], &srm_endpoint, &sfn) < 0) {
perror ("parsesurl");
exit (1);
}
while (*protocols[nbproto]) nbproto++;
soap_init (&soap);
#ifdef GFAL_SECURE
flags = CGSI_OPT_DISABLE_NAME_CHECK;
// Special BestMan - LBL
//1807flags |= CGSI_OPT_DELEG_FLAG;
soap_register_plugin_arg (&soap, client_cgsi_plugin, &flags);
#endif
memset (&req, 0, sizeof(req));
#if 0
if ((req.directoryPath =
soap_malloc (&soap, sizeof(struct ns1__TSURLInfo))) == NULL /* ||
//(req.directoryPath->SURLOrStFN =
(req.directoryPath->SURL =
soap_malloc (&soap, sizeof(struct ns1__TSURL))) == NULL */ ) {
perror ("malloc");
soap_end (&soap);
exit (1);
}
#endif
//req.directoryPath->SURLOrStFN->value = argv[1];
//OLD2req.directoryPath = argv[1];
req.SURL = argv[1];
req.storageSystemInfo = NULL;
//req.directoryPath = 0; // TEST30 CRASH
//req.directoryPath->SURLOrStFN = 0; // TEST32 CRASH
#if 0
if (soap_call_ns1__srmMkdir (&soap, srm_endpoint, "Mkdir",
&req, &rep)) {
soap_print_fault (&soap, stderr);
soap_print_fault_location (&soap, stderr);
soap_end (&soap);
exit (1);
}
#else
SOAP_CALL_NS1(Mkdir, re);
#endif
reqstatp = rep.srmMkdirResponse->returnStatus;
printf ("request status %s\n", soap_ns1__TStatusCode2s (&soap, reqstatp->statusCode));
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);
}
soap_end (&soap);
exit (0);
}
|