Changeset 329f61d for fedd/fedd_client.py
- Timestamp:
- Jun 27, 2008 6:34:17 PM (16 years ago)
- Branches:
- axis_example, compt_changes, info-ops, master, version-1.30, version-2.00, version-3.01, version-3.02
- Children:
- 0a47d52
- Parents:
- 4f4b977
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
fedd/fedd_client.py
r4f4b977 r329f61d 8 8 9 9 from M2Crypto import SSL, X509 10 from M2Crypto.m2xmlrpclib import SSL_Transport 10 11 import M2Crypto.httpslib 12 13 from xmlrpclib import ServerProxy, Error, dumps, loads 11 14 from ZSI import SoapWriter 12 15 … … 69 72 70 73 self.set_defaults(url="https://localhost:23235", anonymous=False, 71 serialize_only=False, use_fedid=False, debug=0) 74 serialize_only=False, transport="soap", use_fedid=False, 75 debug=0) 72 76 73 77 self.add_option("-a","--anonymous", action="store_true", … … 108 112 self.add_option("-U", "--username", action="store", dest="user", 109 113 type="string", help="Use this username instead of the uid") 114 self.add_option("-x","--transport", action="store", type="choice", 115 choices=("xmlrpc", "soap"), 116 help="Transport for request (xmlrpc|soap) (Default: %default)") 110 117 self.add_option("--trace", action="store_const", dest="tracefile", 111 118 const=sys.stderr, help="Print SOAP exchange to stderr") … … 230 237 else: raise 231 238 232 loc = feddServiceLocator();233 port = loc.getfeddPortType(opts.url,234 transport=M2Crypto.httpslib.HTTPSConnection,235 transdict={ 'ssl_context' : context },236 tracefile=opts.tracefile)237 238 req = RequestAccessRequestMessage()239 240 239 msg = { 241 240 'allocID': pack_id('test alloc'), … … 268 267 msg['user'] = []; 269 268 270 req.set_element_RequestAccessRequestBody(271 pack_soap(req, "RequestAccessRequestBody", msg))272 273 269 if opts.debug > 1: print >>sys.stderr, msg 274 270 275 if opts.serialize_only: 276 sw = SoapWriter() 277 sw.serialize(req) 278 print str(sw) 279 sys.exit(0) 280 281 try: 282 resp = port.RequestAccess(req) 283 except ZSI.FaultException, e: 284 sys.exit("Fault: %s" % e) 285 286 287 if (resp != None): 288 resp_body = resp.get_element_RequestAccessResponseBody() 289 if ( resp_body != None): 271 if opts.transport == "soap": 272 loc = feddServiceLocator(); 273 port = loc.getfeddPortType(opts.url, 274 transport=M2Crypto.httpslib.HTTPSConnection, 275 transdict={ 'ssl_context' : context }, 276 tracefile=opts.tracefile) 277 278 req = RequestAccessRequestMessage() 279 280 req.set_element_RequestAccessRequestBody( 281 pack_soap(req, "RequestAccessRequestBody", msg)) 282 283 if opts.serialize_only: 284 sw = SoapWriter() 285 sw.serialize(req) 286 print str(sw) 287 sys.exit(0) 288 289 try: 290 resp = port.RequestAccess(req) 291 except ZSI.FaultException, e: 292 sys.exit("Fault: %s" % e) 293 294 295 if (resp != None): 296 resp_body = resp.get_element_RequestAccessResponseBody() 297 if ( resp_body != None): 298 try: 299 resp_dict = unpack_soap(resp_body) 300 if opts.debug > 1: print >>sys.stderr, resp_dict 301 print_response_as_testbed(resp_dict, opts.label) 302 except RuntimeError, e: 303 sys.exit("Bad response. %s" % e.messgae) 304 else: sys.exit("No body in resonpse!?") 305 else: sys.exit("No response?!?") 306 elif opts.transport == "xmlrpc": 307 if opts.serialize_only: 308 ser = dumps((msg,)) 309 sys.exit(0) 310 311 transport = SSL_Transport(context) 312 port = ServerProxy(opts.url, transport=transport) 313 314 try: 315 resp = port.RequestAccess({ 'RequestAccessRequestBody': msg}) 316 resp, method = loads(resp) 317 except Error, e: 318 sys.exit("Fault: %s" % e) 319 320 321 if (resp != None): 290 322 try: 291 resp_dict = unpack_soap(resp_body) 323 print resp 324 resp_dict = resp[0]['RequestAccessResponseBody'] 292 325 if opts.debug > 1: print >>sys.stderr, resp_dict 293 326 print_response_as_testbed(resp_dict, opts.label) 294 327 except RuntimeError, e: 295 328 sys.exit("Bad response. %s" % e.messgae) 296 else: sys.exit("No body in resonpse!?") 297 else: sys.exit("No response?!?") 329 else: sys.exit("No response?!?")
Note: See TracChangeset
for help on using the changeset viewer.