- if method_name not in ('ReCreate', 'Help', 'Ticket', 'GetXIDs', 'GetSSHKeys'):
- target_name = args[0]
+ # Special case the genicw
+ if caller_name == PLC_SLICE_PREFIX+"_sfacm":
+ try: result = method(*args)
+ except Exception, err: raise xmlrpclib.Fault(104, 'Error in call: %s' %err)
+ # Anyone can call these functions
+ elif method_name not in ('Help', 'Ticket', 'GetXIDs', 'GetSSHKeys'):
+ # Authenticate the caller if not in the above fncts.
+ if method_name == "GetRecord":
+ target_name = caller_name
+ else:
+ target_name = args[0]
+
+ # Gather target slice's object.