diff --git a/src/main/java/microsoft/exchange/webservices/data/core/ExchangeServiceBase.java b/src/main/java/microsoft/exchange/webservices/data/core/ExchangeServiceBase.java index bb01858b4..9e383c582 100644 --- a/src/main/java/microsoft/exchange/webservices/data/core/ExchangeServiceBase.java +++ b/src/main/java/microsoft/exchange/webservices/data/core/ExchangeServiceBase.java @@ -889,4 +889,8 @@ public static byte[] getSessionKey() { return ExchangeServiceBase.binarySecret; } } + + public int getMaximumPoolingConnections() { + return maximumPoolingConnections; + } } diff --git a/src/main/java/microsoft/exchange/webservices/data/core/request/ServiceRequestBase.java b/src/main/java/microsoft/exchange/webservices/data/core/request/ServiceRequestBase.java index 101d6b104..aafd48cf6 100644 --- a/src/main/java/microsoft/exchange/webservices/data/core/request/ServiceRequestBase.java +++ b/src/main/java/microsoft/exchange/webservices/data/core/request/ServiceRequestBase.java @@ -633,7 +633,13 @@ protected SoapFaultDetails readSoapFault(EwsServiceXmlReader reader) { protected HttpWebRequest validateAndEmitRequest() throws Exception { this.validate(); - HttpWebRequest request = this.buildEwsHttpWebRequest(); + HttpWebRequest request; + + if (service.getMaximumPoolingConnections() > 1) { + request = buildEwsHttpPoolingWebRequest(); + } else { + request = buildEwsHttpWebRequest(); + } try { try {