public LinearRateShipmentSimpleResponse CalculateLinearRates(LinearRateShipmentSimpleRequest request) { // LinearRateShipmentSimpleResponse response = null; RateWareXLPortTypeClient client = new RateWareXLPortTypeClient(); try { AuthenticationToken authToken = getAuthenticationToken(); if (client.isReady(authToken)) { response = client.LinearRateShipmentSimple(authToken, request); } client.Close(); } catch (TimeoutException te) { client.Abort(); throw new ApplicationException(te.Message); } catch (FaultException fe) { client.Abort(); throw new ApplicationException(fe.Message); } catch (CommunicationException ce) { client.Abort(); throw new ApplicationException(ce.Message); } return(response); }