Changeset 058f58e for fedd/fedd_access.py
- Timestamp:
- Nov 20, 2008 7:14:58 PM (15 years ago)
- Branches:
- axis_example, compt_changes, info-ops, master, version-1.30, version-2.00, version-3.01, version-3.02
- Children:
- cfabc40
- Parents:
- c922f23
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
fedd/fedd_access.py
rc922f23 r058f58e 52 52 id_list_attrs = ("restricted",) 53 53 54 proxy_request, proxy_xmlrpc_request = make_service_callers('RequestAccess', 55 'getfeddPortType', RequestAccessRequestMessage, 56 'RequestAccessRequestBody') 54 proxy_RequestAccess= \ 55 service_caller('RequestAccess', 'getfeddPortType', 56 feddServiceLocator, RequestAccessRequestMessage, 57 'RequestAccessRequestBody') 57 58 58 59 def __init__(self, config=None): … … 153 154 154 155 self.soap_services = {\ 155 'RequestAccess': make_soap_handler(\156 'RequestAccess': soap_handler(\ 156 157 RequestAccessRequestMessage.typecode,\ 157 158 self.RequestAccess, RequestAccessResponseMessage,\ 158 159 "RequestAccessResponseBody"), \ 159 'ReleaseAccess': make_soap_handler(\160 'ReleaseAccess': soap_handler(\ 160 161 ReleaseAccessRequestMessage.typecode,\ 161 162 self.ReleaseAccess, ReleaseAccessResponseMessage,\ … … 163 164 } 164 165 self.xmlrpc_services = {\ 165 'RequestAccess': make_xmlrpc_handler(\166 'RequestAccess': xmlrpc_handler(\ 166 167 self.RequestAccess, "RequestAccessResponseBody"),\ 167 'ReleaseAccess': make_xmlrpc_handler(\168 'ReleaseAccess': xmlrpc_handler(\ 168 169 self.ReleaseAccess, "ReleaseAccessResponseBody")\ 169 170 } … … 698 699 return resp 699 700 else: 700 p_fault = None # Any SOAP failure (sent unless XMLRPC works) 701 try: 702 # Proxy the request using SOAP 703 self.log.debug("Sending proxy message to %s" % dt) 704 resp = self.proxy_request(dt, req, feddServiceLocator, 701 resp = self.proxy_RequestAccess.call_service(dt, req, 705 702 self.proxy_cert_file, self.proxy_cert_pwd, 706 703 self.proxy_trusted_certs) 707 if resp.has_key('RequestAccessResponseBody'): 708 return resp['RequestAccessResponseBody'] 709 elif resp.has_key('Fedd_FaultBody'): 710 raise service_error(resp['FeddFaultBody']['code'], 711 resp['FeddFaultBody']['desc']) 712 except service_error, e: 713 if e.code == service_error.proxy: p_fault = None 714 else: raise 715 except ZSI.FaultException, f: 716 p_fault = f.fault.detail[0] 717 718 719 # If we could not get a valid SOAP response to the request above, 720 # try the same address using XMLRPC and let any faults flow back 721 # out. 722 if p_fault == None: 723 resp = self.proxy_xmlrpc_request(dt, req, self.proxy_cert_file, 724 self.proxy_cert_pwd, self.proxy_trusted_certs) 725 if resp.has_key('RequestAccessResponseBody'): 726 return resp['RequestAccessResponseBody'] 704 if resp.has_key('RequestAccessResponseBody'): 705 return resp['RequestAccessResponseBody'] 727 706 else: 728 # Build the fault 729 body = p_fault.get_element_FeddFaultBody() 730 if body != None: 731 raise service_error(body.get_element_code(), 732 body.get_element_desc()); 733 else: 734 raise service_error(\ 735 service_error.proxy, 736 "Undefined fault from proxy??"); 707 return None 737 708 738 709 def ReleaseAccess(self, req, fid):
Note: See TracChangeset
for help on using the changeset viewer.