code: def get_issuers(self):
          
          issuers = set()
  
          message_issuer_nodes = OneLogin_Saml2_XML.query(self.document, '/samlp:Response/saml:Issuer')
          if len(message_issuer_nodes) > 0:
              if len(message_issuer_nodes) == 1:
                  issuer_value = OneLogin_Saml2_XML.element_text(message_issuer_nodes[0])
                  if issuer_value:
                      issuers.add(issuer_value)
              else:
                  raise OneLogin_Saml2_ValidationError(
                      'Issuer of the Response is multiple.',
                      OneLogin_Saml2_ValidationError.ISSUER_MULTIPLE_IN_RESPONSE
                  )
  
          assertion_issuer_nodes = self.__query_assertion('/saml:Issuer')
          if len(assertion_issuer_nodes) == 1:
              issuer_value = OneLogin_Saml2_XML.element_text(assertion_issuer_nodes[0])
              if issuer_value:
                  issuers.add(issuer_value)
          else:
              raise OneLogin_Saml2_ValidationError(
                  'Issuer of the Assertion not found or multiple.',
                  OneLogin_Saml2_ValidationError.ISSUER_NOT_FOUND_IN_ASSERTION
              )
  
          return list(set(issuers))
docs: Gets the issuers (from message and from assertion)
  
          :returns: The issuers
          :rtype: list