/// <summary> /// Create a client to call Partner methods with. /// </summary> /// <returns>A client to call Partner methods with</returns> public SalesForceAPI.Partner.Soap CreatePartnerClient() { if (_session == null) { Login(); } return(PartnerClientFactory.CreateChannel()); }
/// <summary> /// Login to SalesForce. /// </summary> private void Login() { SalesForceAPI.Partner.Soap loginClient = PartnerClientFactory.CreateChannel(); SalesForceAPI.Partner.loginResponse response = loginClient.login(new SalesForceAPI.Partner.loginRequest( null, null, _credential.Username, _credential.Password + _credential.Token)); _session = response.result; DisposeClient(loginClient); PartnerClientFactory.Endpoint.Address = new System.ServiceModel.EndpointAddress(_session.serverUrl); MetadataClientFactory.Endpoint.Address = new System.ServiceModel.EndpointAddress(_session.metadataServerUrl); ApexClientFactory.Endpoint.Address = new System.ServiceModel.EndpointAddress(_session.serverUrl.Replace("/u/", "/s/")); ToolingClientFactory.Endpoint.Address = new System.ServiceModel.EndpointAddress(_session.serverUrl.Replace("/u/", "/T/")); RestBaseUrl = String.Format("https://{0}/services/data/v{1:N1}", new Uri(_session.serverUrl).Host, SalesForceClient.METADATA_VERSION); User = new User(_session.userId, _session.userInfo.userFullName); UserEmail = _session.userInfo.userEmail; }