Example #1
0
def invoke_admin_service(cluster, soap_action, input_dict):
    """ A thin wrapper around zato.common.soap.invoke_admin_service that adds
    Django session-related information to the request headers.
    """
    zato_message = Element('{%s}zato_message' % zato_namespace)
    zato_message.request = Element('request')
    
    for k, v in input_dict.items():
        setattr(zato_message.request, k, v)

    headers = {'x-zato-session-type':'zato-admin/tech_acc', 
               'x-zato-user': TECH_ACCOUNT_NAME,
               'x-zato-password': TECH_ACCOUNT_PASSWORD
               }

    request = etree.tostring(zato_message)
    zato_message, soap_response = _invoke_admin_service(cluster, soap_action, request, headers)
    
    if logger.isEnabledFor(logging.DEBUG):
        logger.debug('Request:[{}], response:[{}]'.format(request, soap_response))
        
    return zato_message, soap_response