string GetEffectiveUrl(object clientObj)
        {
            // client can either have define URI in attribute or have set it
            // via proxy's ServiceURI property - but must exist by now
            if (!string.IsNullOrEmpty(Url))
            {
                return(Url);
            }
            string useUrl = XmlRpcTypeInfo.GetUrlFromAttribute(clientObj.GetType());

            if (!string.IsNullOrEmpty(useUrl))
            {
                return(useUrl);
            }
            throw new XmlRpcMissingUrl("Proxy XmlRpcUrl attribute or Url "
                                       + "property not set.");
        }