<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def call(self, uri, *args, **kwargs ):
 """ Sends a RPC request to the WAMP server """

        if self._state == STATE_DISCONNECTED:
            raise Exception("WAMP is currently disconnected!")
        options = {
            'disclose_me': True
        }
        uri = self.get_full_uri(uri)
        message = self.send_and_await_response(CALL(
                      options=options,
                      procedure=uri,
                      args=args,
                      kwargs=kwargs
                    ))

        if message == WAMP_RESULT:
            return message.args[0]

        if message == WAMP_ERROR:
            if message.args:
                err = message.args[0]
            else:
                err = message.error
            raise ExInvocationError(err)

        return message