private SfRserver GetServer(string serverName, string farm, SessionToken token, IEnumerable <DeviceID> deviceIds, out DeviceID deviceId)
 {
     deviceId = null;
     foreach (var currentDeviceId in deviceIds)
     {
         try
         {
             var rServerRequest = new listServerfarmRservers {
                 deviceID = currentDeviceId, serverfarmname = farm, sessionToken = token
             };
             var rServers = _proxy.listServerfarmRservers(new listServerfarmRserversRequest {
                 listServerfarmRservers = rServerRequest
             });
             var sfRServer = rServers.listServerfarmRserversResponse.SfRservers.Single(x => x.realserverName.ToLower() == serverName.ToLower());
             deviceId = currentDeviceId;
             return(sfRServer);
         }
         catch (FaultException <WSException> aceEx)
         {
             Logger.Verbose("Web Service Fault: {0}", aceEx.Message);
             Logger.Verbose("Since this device [{0}] faulted, ConDep will try next device.", currentDeviceId.name);
         }
     }
     throw new ConDepLoadBalancerException("Unable to get real server from load balancer. Use verbose logging for more details.");
 }
 private SfRserver GetServer(string serverName, string farm, SessionToken token, DeviceID deviceId)
 {
     var rServerRequest = new listServerfarmRservers
                              {deviceID = deviceId, serverfarmname = farm, sessionToken = token};
     var rServers = _proxy.listServerfarmRservers(new listServerfarmRserversRequest { listServerfarmRservers = rServerRequest});
     var sfRServer = rServers.listServerfarmRserversResponse.SfRservers.Single(x => x.realserverName.ToLower() == serverName.ToLower());
     return sfRServer;
 }
 private SfRserver GetServer(string serverName, string farm, SessionToken token, IEnumerable<DeviceID> deviceIds, out DeviceID deviceId)
 {
     deviceId = null;
     foreach (var currentDeviceId in deviceIds)
     {
         try
         {
             var rServerRequest = new listServerfarmRservers { deviceID = currentDeviceId, serverfarmname = farm, sessionToken = token };
             var rServers = _proxy.listServerfarmRservers(new listServerfarmRserversRequest { listServerfarmRservers = rServerRequest });
             var sfRServer = rServers.listServerfarmRserversResponse.SfRservers.Single(x => x.realserverName.ToLower() == serverName.ToLower());
             deviceId = currentDeviceId;
             return sfRServer;
         }
         catch(FaultException<WSException> aceEx)
         {
             Logger.Verbose("Web Service Fault: {0}", aceEx.Message);
             Logger.Verbose("Since this device [{0}] faulted, ConDep will try next device.", currentDeviceId.name);
         }
     }
     throw new ConDepLoadBalancerException("Unable to get real server from load balancer. Use verbose logging for more details.");
 }