- added web services timeout settings

git-svn-id: https://svn.apache.org/repos/asf/chemistry/dotcmis/trunk@1085085 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/DotCMIS/binding/webservices/webservices.cs b/DotCMIS/binding/webservices/webservices.cs
index a6186af..a13d477 100644
--- a/DotCMIS/binding/webservices/webservices.cs
+++ b/DotCMIS/binding/webservices/webservices.cs
@@ -233,7 +233,7 @@
                 SecurityBindingElement securityElement = SecurityBindingElement.CreateUserNameOverTransportBindingElement();

                 securityElement.SecurityHeaderLayout = SecurityHeaderLayout.LaxTimestampFirst;

 

-                string enableUnsecuredResponseFlag = session.GetValue(SessionParameter.EnableUnsecuredResponse) as string;

+                string enableUnsecuredResponseFlag = session.GetValue(SessionParameter.WebServicesEnableUnsecuredResponse) as string;

                 if (enableUnsecuredResponseFlag != null && enableUnsecuredResponseFlag.ToLower().Equals("true"))

                 {

                     PropertyInfo eur = securityElement.GetType().GetProperty("EnableUnsecuredResponse");

@@ -256,6 +256,30 @@
                 elements.Add(transportElement);

 

                 binding = new CustomBinding(elements);

+

+                string openTimeOut = session.GetValue(SessionParameter.WebServicesOpenTimeout) as string;

+                if (openTimeOut != null)

+                {

+                    binding.OpenTimeout = TimeSpan.Parse(openTimeOut);

+                }

+

+                string closeTimeOut = session.GetValue(SessionParameter.WebServicesCloseTimeout) as string;

+                if (closeTimeOut != null)

+                {

+                    binding.CloseTimeout = TimeSpan.Parse(closeTimeOut);

+                }

+

+                string sendTimeOut = session.GetValue(SessionParameter.WebServicesSendTimeout) as string;

+                if (sendTimeOut != null)

+                {

+                    binding.SendTimeout = TimeSpan.Parse(sendTimeOut);

+                }

+

+                string receiveTimeOut = session.GetValue(SessionParameter.WebServicesReceiveTimeout) as string;

+                if (receiveTimeOut != null)

+                {

+                    binding.ReceiveTimeout = TimeSpan.Parse(receiveTimeOut);

+                }

             }

 

             if (serviceKey == SessionParameter.WebServicesRepositoryService)

diff --git a/DotCMIS/const.cs b/DotCMIS/const.cs
index 93626ee..c9e3a7d 100644
--- a/DotCMIS/const.cs
+++ b/DotCMIS/const.cs
@@ -47,7 +47,12 @@
         public const string WebServicesAclService = "org.apache.chemistry.dotcmis.binding.webservices.ACLService";

 

         public const string WebServicesWCFBinding = "org.apache.chemistry.dotcmis.binding.webservices.wcfbinding";

-        public const string EnableUnsecuredResponse = "org.apache.chemistry.dotcmis.binding.webservices.enableUnsecuredResponse"; // requires hotfix 971493 or the .NET framework 4 

+        public const string WebServicesOpenTimeout = "org.apache.chemistry.dotcmis.binding.webservices.openTimeout";

+        public const string WebServicesCloseTimeout = "org.apache.chemistry.dotcmis.binding.webservices.closeTimeout";

+        public const string WebServicesSendTimeout = "org.apache.chemistry.dotcmis.binding.webservices.sendTimeout";

+        public const string WebServicesReceiveTimeout = "org.apache.chemistry.dotcmis.binding.webservices.receiveTimeout";

+

+        public const string WebServicesEnableUnsecuredResponse = "org.apache.chemistry.dotcmis.binding.webservices.enableUnsecuredResponse"; // requires hotfix 971493 or the .NET framework 4 

 

         // authentication provider

         public const string AuthenticationProviderClass = "org.apache.chemistry.dotcmis.binding.auth.classname";