def call()

in dubbo_client/rpclib.py [0:0]


    def call(self, method, *args, **kwargs):
        provider = self.registry.get_random_provider(self.interface, version=self.version, group=self.group)
        # print service_url.location
        client = HttpClient(url="http://{0}{1}".format(provider.location, provider.path))
        try:
            return client.call(method, *args, **kwargs)
        except HTTPError, e:
            raise ConnectionFail(None, e.filename)
        except JsonRpcError, error:
            if error.code in dubbo_client_errors:
                raise dubbo_client_errors[error.code](message=error.message, data=error.data)
            else:
                raise DubboClientError(code=error.code, message=error.message, data=error.data)
        except Exception, ue:
            if hasattr(ue, 'reason'):
                raise InternalError(ue.message, ue.reason)
            else:
                raise InternalError(ue.message, None)