Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Calendar/3.3/Properties/AssemblyInfo.cs
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Calendar/3.3/Properties/AssemblyInfo.cs	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Calendar/3.3/Properties/AssemblyInfo.cs	(revision 4305)
@@ -58,3 +58,3 @@
 // [assembly: AssemblyVersion("1.0.*")]
 [assembly: AssemblyVersion("3.3.0.0")]
-[assembly: AssemblyFileVersion("3.3.0.4296")]
+[assembly: AssemblyFileVersion("3.3.0.4302")]
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive 3.3.sln
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive 3.3.sln	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive 3.3.sln	(revision 4305)
@@ -78,4 +78,7 @@
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Hive.Experiment-3.3", "HeuristicLab.Hive.Experiment\3.3\HeuristicLab.Hive.Experiment-3.3.csproj", "{A84C0A25-13D0-40A6-924F-53556D9691DC}"
+	ProjectSection(ProjectDependencies) = postProject
+		{898B31CF-81DC-453B-AEB3-BDF83197A7EE} = {898B31CF-81DC-453B-AEB3-BDF83197A7EE}
+	EndProjectSection
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Hive.Experiment.Views-3.3", "HeuristicLab.Hive.Experiment.Views\3.3\HeuristicLab.Hive.Experiment.Views-3.3.csproj", "{4F15BEA2-F494-4584-A0E5-6BA85377B313}"
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Contracts/3.3/Interfaces/ISlaveCommunicator.cs
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Contracts/3.3/Interfaces/ISlaveCommunicator.cs	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Contracts/3.3/Interfaces/ISlaveCommunicator.cs	(revision 4305)
@@ -40,5 +40,5 @@
     /// </summary>
     [OperationContract]
-    Response Login(Guid slaveId);
+    Response Login(SlaveDto slave);
 
     [OperationContract]
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Contracts/3.3/WcfSettings.cs
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Contracts/3.3/WcfSettings.cs	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Contracts/3.3/WcfSettings.cs	(revision 4305)
@@ -15,4 +15,5 @@
     public const string ServerConsoleServiceName = "ServerConsoleService";
     public const string ClientServiceName = "ClientService";
+    public const string ClientStreamedServiceName = "ClientServiceStreamed";
 
     public const int DefaultPort = 9000;
@@ -57,17 +58,17 @@
     }
 
-    /// <summary>
-    /// Defines the used certificate for authentification located in a certification store.
-    /// </summary>
-    /// <param name="svchost">A service for which this certificate is applicable.</param>
-    public static void SetServiceCertificate(ServiceHost svchost) {
-#if USE_MSG_BINDING
-      svchost.Credentials.ServiceCertificate.SetCertificate(
-        StoreLocation.LocalMachine,
-        StoreName.My,
-        X509FindType.FindBySubjectName,
-        SERVERCERT);
-#endif
-    }
+//    /// <summary>
+//    /// Defines the used certificate for authentification located in a certification store.
+//    /// </summary>
+//    /// <param name="svchost">A service for which this certificate is applicable.</param>
+//    public static void SetServiceCertificate(ServiceHost svchost) {
+//#if USE_MSG_BINDING
+//      svchost.Credentials.ServiceCertificate.SetCertificate(
+//        StoreLocation.LocalMachine,
+//        StoreName.My,
+//        X509FindType.FindBySubjectName,
+//        SERVERCERT);
+//#endif
+//    }
 
     /// <summary>
@@ -77,15 +78,5 @@
     /// <returns></returns>
     public static IPAddress GetActiveIP() {
-      //return IPAddress.Parse("127.0.0.1");
       return System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties().GetActiveTcpConnections()[0].LocalEndPoint.Address;
-      //IPAddress[] addresses;
-      //addresses = Dns.GetHostAddresses(Dns.GetHostName());
-      //int index = 0;
-      //if (System.Environment.OSVersion.Version.Major >= 6) {
-      //  for (index = addresses.Length - 1; index >= 0; index--)
-      //    if (addresses[index].AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
-      //      break;
-      //}
-      //return addresses[index];
     }
 
@@ -106,4 +97,5 @@
       endpoint.Address = builder.ToEndpointAddress();
     }
+
   }
 
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment.Views/3.3/HiveExperimentView.Designer.cs
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment.Views/3.3/HiveExperimentView.Designer.cs	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment.Views/3.3/HiveExperimentView.Designer.cs	(revision 4305)
@@ -64,7 +64,7 @@
       this.executionTimeTextBox = new System.Windows.Forms.TextBox();
       this.pauseButton = new System.Windows.Forms.Button();
-      this.ServerUrlLabel = new System.Windows.Forms.Label();
+      this.ServerIpLabel = new System.Windows.Forms.Label();
       this.resourceIdsLabel = new System.Windows.Forms.Label();
-      this.serverUrlTextBox = new System.Windows.Forms.TextBox();
+      this.serverIpTextBox = new System.Windows.Forms.TextBox();
       this.resourceIdsTextBox = new System.Windows.Forms.TextBox();
       this.disconnectButton = new System.Windows.Forms.Button();
@@ -304,10 +304,10 @@
       // ServerUrlLabel
       // 
-      this.ServerUrlLabel.AutoSize = true;
-      this.ServerUrlLabel.Location = new System.Drawing.Point(1, 53);
-      this.ServerUrlLabel.Name = "ServerUrlLabel";
-      this.ServerUrlLabel.Size = new System.Drawing.Size(51, 13);
-      this.ServerUrlLabel.TabIndex = 11;
-      this.ServerUrlLabel.Text = "ServerUrl";
+      this.ServerIpLabel.AutoSize = true;
+      this.ServerIpLabel.Location = new System.Drawing.Point(1, 53);
+      this.ServerIpLabel.Name = "ServerIpLabel";
+      this.ServerIpLabel.Size = new System.Drawing.Size(51, 13);
+      this.ServerIpLabel.TabIndex = 11;
+      this.ServerIpLabel.Text = "ServerIp";
       // 
       // resourceIdsLabel
@@ -322,12 +322,12 @@
       // serverUrlTextBox
       // 
-      this.serverUrlTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
-      this.serverUrlTextBox.Location = new System.Drawing.Point(72, 50);
-      this.serverUrlTextBox.Name = "serverUrlTextBox";
-      this.serverUrlTextBox.Size = new System.Drawing.Size(663, 20);
-      this.serverUrlTextBox.TabIndex = 13;
-      this.serverUrlTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.serverUrlTextBox_Validating);
-      this.serverUrlTextBox.Validated += new System.EventHandler(this.serverUrlTextBox_Validated);
+      this.serverIpTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.serverIpTextBox.Location = new System.Drawing.Point(72, 50);
+      this.serverIpTextBox.Name = "serverIpTextBox";
+      this.serverIpTextBox.Size = new System.Drawing.Size(663, 20);
+      this.serverIpTextBox.TabIndex = 13;
+      this.serverIpTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.serverUrlTextBox_Validating);
+      this.serverIpTextBox.Validated += new System.EventHandler(this.serverUrlTextBox_Validated);
       // 
       // resourceIdsTextBox
@@ -372,5 +372,5 @@
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
       this.Controls.Add(this.resourceIdsTextBox);
-      this.Controls.Add(this.serverUrlTextBox);
+      this.Controls.Add(this.serverIpTextBox);
       this.Controls.Add(this.resourceIdsLabel);
       this.Controls.Add(this.tabControl);
@@ -379,5 +379,5 @@
       this.Controls.Add(this.executionTimeTextBox);
       this.Controls.Add(this.executionTimeLabel);
-      this.Controls.Add(this.ServerUrlLabel);
+      this.Controls.Add(this.ServerIpLabel);
       this.Controls.Add(this.pauseButton);
       this.Controls.Add(this.stopButton);
@@ -390,5 +390,5 @@
       this.Controls.SetChildIndex(this.stopButton, 0);
       this.Controls.SetChildIndex(this.pauseButton, 0);
-      this.Controls.SetChildIndex(this.ServerUrlLabel, 0);
+      this.Controls.SetChildIndex(this.ServerIpLabel, 0);
       this.Controls.SetChildIndex(this.executionTimeLabel, 0);
       this.Controls.SetChildIndex(this.executionTimeTextBox, 0);
@@ -397,5 +397,5 @@
       this.Controls.SetChildIndex(this.tabControl, 0);
       this.Controls.SetChildIndex(this.resourceIdsLabel, 0);
-      this.Controls.SetChildIndex(this.serverUrlTextBox, 0);
+      this.Controls.SetChildIndex(this.serverIpTextBox, 0);
       this.Controls.SetChildIndex(this.resourceIdsTextBox, 0);
       this.Controls.SetChildIndex(this.nameLabel, 0);
@@ -424,7 +424,7 @@
     private System.Windows.Forms.Button pauseButton;
     private System.Windows.Forms.TabPage hiveStatusTabPage;
-    private System.Windows.Forms.Label ServerUrlLabel;
+    private System.Windows.Forms.Label ServerIpLabel;
     private System.Windows.Forms.Label resourceIdsLabel;
-    private System.Windows.Forms.TextBox serverUrlTextBox;
+    private System.Windows.Forms.TextBox serverIpTextBox;
     private System.Windows.Forms.TextBox resourceIdsTextBox;
     private System.Windows.Forms.Button viewExperimentButton;
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment.Views/3.3/HiveExperimentView.cs
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment.Views/3.3/HiveExperimentView.cs	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment.Views/3.3/HiveExperimentView.cs	(revision 4305)
@@ -29,4 +29,5 @@
 using HeuristicLab.Optimization;
 using HeuristicLab.Optimization.Views;
+using HeuristicLab.Hive.Experiment.Properties;
 
 namespace HeuristicLab.Hive.Experiment.Views {
@@ -82,5 +83,5 @@
         executionTimeTextBox.Text = Content.ExecutionTime.ToString();
         resourceIdsTextBox.Text = Content.ResourceIds;
-        serverUrlTextBox.Text = Content.ServerUrl;
+        serverIpTextBox.Text = Settings.Default.HiveServerIp;
         experimentNamedItemView.Content = Content.Experiment;
         logView.Content = Content.Log;
@@ -193,15 +194,15 @@
 
     private void serverUrlTextBox_Validating(object sender, System.ComponentModel.CancelEventArgs e) {
-      if (string.IsNullOrEmpty(serverUrlTextBox.Text)) {
+      if (string.IsNullOrEmpty(serverIpTextBox.Text)) {
         e.Cancel = true;
-        errorProvider.SetError(serverUrlTextBox, "ServerUrl cannot be empty");
-        serverUrlTextBox.SelectAll();
+        errorProvider.SetError(serverIpTextBox, "ServerUrl cannot be empty");
+        serverIpTextBox.SelectAll();
         return;
       }
-      Content.ServerUrl = serverUrlTextBox.Text;
+      Settings.Default.HiveServerIp = serverIpTextBox.Text;
     }
 
     private void serverUrlTextBox_Validated(object sender, EventArgs e) {
-      errorProvider.SetError(serverUrlTextBox, string.Empty);
+      errorProvider.SetError(serverIpTextBox, string.Empty);
     }
 
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/HeuristicLab.Hive.Experiment-3.3.csproj
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/HeuristicLab.Hive.Experiment-3.3.csproj	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/HeuristicLab.Hive.Experiment-3.3.csproj	(revision 4305)
@@ -85,4 +85,5 @@
     <Reference Include="System.Core" />
     <Reference Include="System.Drawing" />
+    <Reference Include="System.Runtime.Serialization" />
     <Reference Include="System.ServiceModel" />
     <Reference Include="System.Xml.Linq" />
@@ -104,5 +105,4 @@
     </Compile>
     <Compile Include="ServiceLocator.cs" />
-    <Compile Include="Settings.cs" />
   </ItemGroup>
   <ItemGroup>
@@ -113,7 +113,8 @@
     <None Include="Properties\AssemblyInfo.frame" />
     <None Include="Properties\Settings.settings">
-      <Generator>SettingsSingleFileGenerator</Generator>
+      <Generator>PublicSettingsSingleFileGenerator</Generator>
       <LastGenOutput>Settings.Designer.cs</LastGenOutput>
     </None>
+    <None Include="Tools\RecreateServiceConfig.bat" />
   </ItemGroup>
   <ItemGroup>
@@ -130,4 +131,7 @@
       <Name>HeuristicLab.Hive.JobBase-3.3</Name>
     </ProjectReference>
+  </ItemGroup>
+  <ItemGroup>
+    <WCFMetadata Include="Service References\" />
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/HiveExperiment.cs
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/HiveExperiment.cs	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/HiveExperiment.cs	(revision 4305)
@@ -43,4 +43,5 @@
 using System.ServiceModel;
 using HeuristicLab.Hive.Contracts.ResponseObjects;
+using HeuristicLab.Hive.Experiment.Properties;
 
 namespace HeuristicLab.Hive.Experiment {
@@ -90,5 +91,5 @@
       }
     }
-    
+
     #region Storable Properties
     [Storable]
@@ -114,17 +115,4 @@
     public JobItemList JobItems {
       get { return jobItems; }
-    }
-
-
-    [Storable]
-    private string serverUrl;
-    public string ServerUrl {
-      get { return serverUrl; }
-      set {
-        if (serverUrl != value) {
-          serverUrl = value;
-          OnServerUrlChanged();
-        }
-      }
     }
 
@@ -191,5 +179,4 @@
     public HiveExperiment()
       : base(itemName, itemDescription) {
-      this.ServerUrl = HeuristicLab.Hive.Experiment.Properties.Settings.Default.HiveServerUrl;
       this.ResourceIds = HeuristicLab.Hive.Experiment.Properties.Settings.Default.ResourceIds;
       this.log = new Log();
@@ -205,5 +192,4 @@
       HiveExperiment clone = (HiveExperiment)base.Clone(cloner);
       clone.resourceIds = this.resourceIds;
-      clone.serverUrl = this.serverUrl;
       clone.experiment = (HeuristicLab.Optimization.Experiment)cloner.Clone(experiment);
       clone.executionState = this.executionState;
@@ -279,5 +265,5 @@
 
       Thread t = new Thread(() => {
-        IClientFacade clientFacade = GetClientFacade();
+        IClientFacade clientFacade = CreateStreamedClientFacade();
 
         try {
@@ -307,5 +293,6 @@
             LogMessage(jobItem.JobDto.Id, "Job sent to Hive");
           }
-        } catch (Exception e) {
+        }
+        catch (Exception e) {
           LogMessage("Error: Starting HiveExperiment failed: " + e.Message);
           this.ExecutionState = Core.ExecutionState.Stopped;
@@ -468,5 +455,5 @@
     private void FetchAndUpdateJob(Guid jobId) {
       LogMessage(jobId, "FetchAndUpdateJob started");
-      IClientFacade clientFacade = GetClientFacade();
+      IClientFacade clientFacade = CreateStreamedClientFacade();
       IOptimizer originalOptimizer;
       lock (pendingOptimizersByJobId) {
@@ -490,5 +477,5 @@
 
     public void AbortJob(Guid jobId) {
-      IClientFacade clientFacade = GetClientFacade();
+      IClientFacade clientFacade = CreateClientFacade();
       Response response = clientFacade.AbortJob(jobId);
       LogMessage(jobId, "Aborting Job: " + response.StatusMessage);
@@ -554,5 +541,5 @@
         try {
           do {
-            IClientFacade clientFacade = GetClientFacade();
+            IClientFacade clientFacade = CreateStreamedClientFacade();
             IEnumerable<Guid> jobIdsToQuery = from job in JobItems
                                               where job.State != JobState.Finished &&
@@ -571,5 +558,6 @@
                   throw new Exception(response.StatusMessage.ToString());
                 }
-              } catch (Exception e) {
+              }
+              catch (Exception e) {
                 LogMessage("Polling results failed: " + e.Message);
               }
@@ -582,7 +570,9 @@
             }
           } while (!this.stopResultsPollingPending);
-        } catch (ThreadInterruptedException exception) {
+        }
+        catch (ThreadInterruptedException exception) {
           // thread has been interuppted
-        } finally {
+        }
+        finally {
           this.IsPollingResults = false;
         }
@@ -601,5 +591,5 @@
     public void RequestSnapshot(Guid jobId) {
       Thread t = new Thread(() => {
-        IClientFacade clientFacade = GetClientFacade();
+        IClientFacade clientFacade = CreateStreamedClientFacade();
         ResponseObject<SerializedJob> response;
         int retryCount = 0;
@@ -876,9 +866,10 @@
 
     #region Helper Functions
-    private IClientFacade GetClientFacade() {
+    private IClientFacade CreateClientFacade() {
       IClientFacade clientFacade = null;
       do {
         try {
-          clientFacade = ServiceLocator.CreateClientFacade(ServerUrl);
+          clientFacade = ServiceLocator.CreateClientFacade(string.Format("http://{0}:{1}/{2}", Settings.Default.HiveServerIp, Settings.Default.HiveServerPort, WcfSettings.ClientServiceName));
+
         } catch (EndpointNotFoundException exception) {
           LogMessage("Could not connect to Server: " + exception.Message + ". Will try again in " + (resultPollingIntervalMs / 1000) + " sec.");
@@ -889,4 +880,17 @@
     }
 
+    private IClientFacade CreateStreamedClientFacade() {
+      IClientFacade clientFacade = null;
+      do {
+        try {
+          clientFacade = ServiceLocator.CreateStreamedClientFacade(string.Format("http://{0}:{1}/{2}", Settings.Default.HiveServerIp, Settings.Default.HiveServerPort, WcfSettings.ClientStreamedServiceName));
+
+        } catch (EndpointNotFoundException exception) {
+          LogMessage("Could not connect to Server: " + exception.Message + ". Will try again in " + (resultPollingIntervalMs / 1000) + " sec.");
+          Thread.Sleep(resultPollingIntervalMs);
+        }
+      } while (clientFacade == null && this.ExecutionState != Core.ExecutionState.Stopped);
+      return clientFacade;
+    }
 
     private void AddRange(IDictionary<IOptimizer, IOptimizer> optimizers, IDictionary<IOptimizer, IOptimizer> childs) {
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/Properties/Settings.Designer.cs
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/Properties/Settings.Designer.cs	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/Properties/Settings.Designer.cs	(revision 4305)
@@ -14,5 +14,5 @@
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
     [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
-    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+    public sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
         
         private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
@@ -21,16 +21,4 @@
             get {
                 return defaultInstance;
-            }
-        }
-        
-        [global::System.Configuration.UserScopedSettingAttribute()]
-        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-        [global::System.Configuration.DefaultSettingValueAttribute("net.tcp://10.42.1.153:9000/ExecutionEngine/ExecutionEngineFacade")]
-        public string HiveServerUrl {
-            get {
-                return ((string)(this["HiveServerUrl"]));
-            }
-            set {
-                this["HiveServerUrl"] = value;
             }
         }
@@ -47,4 +35,52 @@
             }
         }
+        
+        [global::System.Configuration.UserScopedSettingAttribute()]
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.Configuration.DefaultSettingValueAttribute("localhost")]
+        public string HiveServerIp {
+            get {
+                return ((string)(this["HiveServerIp"]));
+            }
+            set {
+                this["HiveServerIp"] = value;
+            }
+        }
+        
+        [global::System.Configuration.UserScopedSettingAttribute()]
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.Configuration.DefaultSettingValueAttribute("cneumueller")]
+        public string HiveUsername {
+            get {
+                return ((string)(this["HiveUsername"]));
+            }
+            set {
+                this["HiveUsername"] = value;
+            }
+        }
+        
+        [global::System.Configuration.UserScopedSettingAttribute()]
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.Configuration.DefaultSettingValueAttribute("cneumueller")]
+        public string HivePassword {
+            get {
+                return ((string)(this["HivePassword"]));
+            }
+            set {
+                this["HivePassword"] = value;
+            }
+        }
+        
+        [global::System.Configuration.UserScopedSettingAttribute()]
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.Configuration.DefaultSettingValueAttribute("9000")]
+        public string HiveServerPort {
+            get {
+                return ((string)(this["HiveServerPort"]));
+            }
+            set {
+                this["HiveServerPort"] = value;
+            }
+        }
     }
 }
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/Properties/Settings.settings
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/Properties/Settings.settings	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/Properties/Settings.settings	(revision 4305)
@@ -3,10 +3,19 @@
   <Profiles />
   <Settings>
-    <Setting Name="HiveServerUrl" Type="System.String" Scope="User">
-      <Value Profile="(Default)">net.tcp://10.42.1.153:9000/ExecutionEngine/ExecutionEngineFacade</Value>
-    </Setting>
     <Setting Name="ResourceIds" Type="System.String" Scope="User">
       <Value Profile="(Default)">MyGroup</Value>
     </Setting>
+    <Setting Name="HiveServerIp" Type="System.String" Scope="User">
+      <Value Profile="(Default)">localhost</Value>
+    </Setting>
+    <Setting Name="HiveUsername" Type="System.String" Scope="User">
+      <Value Profile="(Default)">cneumueller</Value>
+    </Setting>
+    <Setting Name="HivePassword" Type="System.String" Scope="User">
+      <Value Profile="(Default)">cneumueller</Value>
+    </Setting>
+    <Setting Name="HiveServerPort" Type="System.String" Scope="User">
+      <Value Profile="(Default)">9000</Value>
+    </Setting>
   </Settings>
 </SettingsFile>
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/ServiceLocator.cs
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/ServiceLocator.cs	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/ServiceLocator.cs	(revision 4305)
@@ -27,12 +27,28 @@
 using System.ServiceModel;
 using HeuristicLab.Hive.Contracts;
+using HeuristicLab.Hive.Experiment.Properties;
 
 namespace HeuristicLab.Hive.Experiment {
   internal class ServiceLocator {
     internal static IClientFacade CreateClientFacade(string url) {
-      ChannelFactory<IClientFacade> factory = new ChannelFactory<IClientFacade>(
-          WcfSettings.GetStreamedBinding(),
-          new EndpointAddress(url));
-      return factory.CreateChannel();
+      ChannelFactory<IClientFacade> factory = new ChannelFactory<IClientFacade>("ClientHttpEndpoint");
+      WcfSettings.SetEndpointAddress(factory.Endpoint, url);
+
+      factory.Credentials.UserName.UserName = Settings.Default.HiveUsername;
+      factory.Credentials.UserName.Password = Settings.Default.HivePassword;
+
+      IClientFacade client = factory.CreateChannel();
+      return client;
+    }
+
+    internal static IClientFacade CreateStreamedClientFacade(string url) {
+      ChannelFactory<IClientFacade> factory = new ChannelFactory<IClientFacade>("ClientStreamedHttpEndpoint");
+      WcfSettings.SetEndpointAddress(factory.Endpoint, url);
+
+      factory.Credentials.UserName.UserName = Settings.Default.HiveUsername;
+      factory.Credentials.UserName.Password = Settings.Default.HivePassword;
+
+      IClientFacade client = factory.CreateChannel();
+      return client;
     }
   }
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/Settings.cs
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/Settings.cs	(revision 4302)
+++ 	(revision )
@@ -1,28 +1,0 @@
-﻿namespace HeuristicLab.Hive.Experiment.Properties {
-    
-    
-    // This class allows you to handle specific events on the settings class:
-    //  The SettingChanging event is raised before a setting's value is changed.
-    //  The PropertyChanged event is raised after a setting's value is changed.
-    //  The SettingsLoaded event is raised after the setting values are loaded.
-    //  The SettingsSaving event is raised before the setting values are saved.
-    internal sealed partial class Settings {
-        
-        public Settings() {
-            // // To add event handlers for saving and changing settings, uncomment the lines below:
-            //
-            // this.SettingChanging += this.SettingChangingEventHandler;
-            //
-            // this.SettingsSaving += this.SettingsSavingEventHandler;
-            //
-        }
-        
-        private void SettingChangingEventHandler(object sender, System.Configuration.SettingChangingEventArgs e) {
-            // Add code to handle the SettingChangingEvent event here.
-        }
-        
-        private void SettingsSavingEventHandler(object sender, System.ComponentModel.CancelEventArgs e) {
-            // Add code to handle the SettingsSaving event here.
-        }
-    }
-}
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/Tools/RecreateServiceConfig.bat
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/Tools/RecreateServiceConfig.bat	(revision 4305)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/Tools/RecreateServiceConfig.bat	(revision 4305)
@@ -0,0 +1,7 @@
+REM This tool updates the app.config with the client-config. IP-Adress may need to be adjusted
+REM ClientFacade.cs is also created, but not needed
+
+SvcUtil.exe ^
+      /noLogo ^
+      http://localhost:9000/ClientService?wsdl ^
+      /config:app.config
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/app.config
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/app.config	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Experiment/3.3/app.config	(revision 4305)
@@ -8,11 +8,104 @@
   <userSettings>
     <HeuristicLab.Hive.Experiment.Properties.Settings>
-      <setting name="HiveServerUrl" serializeAs="String">
-        <value>net.tcp://10.20.71.22:9000/ExecutionEngine/ExecutionEngineFacade</value>
-      </setting>
       <setting name="ResourceIds" serializeAs="String">
         <value>MyGroup</value>
       </setting>
+      <setting name="HiveServerIp" serializeAs="String">
+        <value>localhost</value>
+      </setting>
+      <setting name="HiveUsername" serializeAs="String">
+        <value>cneumueller</value>
+      </setting>
+      <setting name="HivePassword" serializeAs="String">
+        <value>cneumueller</value>
+      </setting>
+      <setting name="HiveServerPort" serializeAs="String">
+        <value>9000</value>
+      </setting>
     </HeuristicLab.Hive.Experiment.Properties.Settings>
   </userSettings>
+  <system.serviceModel>
+
+    <bindings>
+      <basicHttpBinding>
+        <binding name="ClientStreamedHttpEndpoint" closeTimeout="00:01:00"
+            openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
+            allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
+            maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
+            messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
+            useDefaultWebProxy="true">
+          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
+              maxBytesPerRead="4096" maxNameTableCharCount="16384" />
+          <security mode="None">
+            <transport clientCredentialType="None" proxyCredentialType="None"
+                realm="" />
+            <message clientCredentialType="UserName" algorithmSuite="Default" />
+          </security>
+        </binding>
+      </basicHttpBinding>
+      <wsHttpBinding>
+        <binding name="ClientHttpEndpoint" closeTimeout="00:01:00" openTimeout="00:01:00"
+            receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false"
+            transactionFlow="false" hostNameComparisonMode="StrongWildcard"
+            maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
+            messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
+            allowCookies="false">
+          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
+              maxBytesPerRead="4096" maxNameTableCharCount="16384" />
+          <reliableSession ordered="true" inactivityTimeout="00:10:00"
+              enabled="false" />
+          <security mode="Message">
+            <transport clientCredentialType="Windows" proxyCredentialType="None"
+                realm="" />
+            <message clientCredentialType="UserName" negotiateServiceCredential="true"
+                algorithmSuite="Default" />
+          </security>
+        </binding>
+        <binding name="ClientMexEndpoint" closeTimeout="00:01:00" openTimeout="00:01:00"
+            receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false"
+            transactionFlow="false" hostNameComparisonMode="StrongWildcard"
+            maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
+            messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
+            allowCookies="false">
+          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
+              maxBytesPerRead="4096" maxNameTableCharCount="16384" />
+          <reliableSession ordered="true" inactivityTimeout="00:10:00"
+              enabled="false" />
+          <security mode="None">
+            <transport clientCredentialType="Windows" proxyCredentialType="None"
+                realm="" />
+            <message clientCredentialType="Windows" negotiateServiceCredential="true" />
+          </security>
+        </binding>
+      </wsHttpBinding>
+    </bindings>
+    <client>
+      <endpoint address="http://localhost:9000/ClientService" behaviorConfiguration="ClientServiceBehaviour" binding="wsHttpBinding"
+          bindingConfiguration="ClientHttpEndpoint" contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade"
+          name="ClientHttpEndpoint">
+        <identity>
+          <certificate encodedValue="AwAAAAEAAAAUAAAAeBLH/0jWrlsW42fIC8VIIdAE6PUgAAAAAQAAAPIBAAAwggHuMIIBW6ADAgECAhDez3CoJIIitEZ5xwVqLJn6MAkGBSsOAwIdBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTEwMDgyMzE1NTg0OFoXDTM5MTIzMTIzNTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmOgweB6X4Ss6W2xb2hg1x61cjD2T7SO0ckkzmtqRhC2UWly9dBnonFJmg9RjN0y6l2tZhVzNhq8DgCkn3hPg5GL3XIwYX4PsXwNmeT6i+7s6rGbESuaEMvYOAQJSJ+MTgBvXCwo2g5nFHIBqP4W4aU2eybxP7H4cm1rQpoYHHjQIDAQABo0kwRzBFBgNVHQEEPjA8gBASDhO/IE7Ff7PpkCVF8oUpoRYwFDESMBAGA1UEAxMJbG9jYWxob3N0ghDez3CoJIIitEZ5xwVqLJn6MAkGBSsOAwIdBQADgYEAhxAzm3JTV7j51jti5P7izTEs7+8534kQloeAJDwlKolkd4ZMkf0BiexC2Vt1KsnxUjrK0HbbITzazkvkAmKi7dP+4G+3SrWag5lS4NcoPjTQy16T3zC9E6yafRaZp1/pxjC3Ap44qwq4Kjl2mEjeHHsdie/h4loowTqC9FlLbgo=" />
+        </identity>
+      </endpoint>
+      <endpoint address="http://localhost:9000/ClientService/mex" binding="wsHttpBinding"
+          bindingConfiguration="ClientMexEndpoint" contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade"
+          name="ClientMexEndpoint" />
+      <endpoint address="http://localhost:9000/ClientServiceStreamed"
+          binding="basicHttpBinding" bindingConfiguration="ClientStreamedHttpEndpoint"
+          contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade" name="ClientStreamedHttpEndpoint" />
+    </client>
+    
+    <behaviors>
+      <endpointBehaviors>
+        <behavior name="ClientServiceBehaviour">
+          <clientCredentials>
+            <serviceCertificate>
+              <authentication certificateValidationMode="None" />
+            </serviceCertificate>
+          </clientCredentials>
+        </behavior>
+      </endpointBehaviors>
+    </behaviors>
+
+  </system.serviceModel>
 </configuration>
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Console/3.3/Tools/RecreateServiceConfig.bat
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Console/3.3/Tools/RecreateServiceConfig.bat	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Console/3.3/Tools/RecreateServiceConfig.bat	(revision 4305)
@@ -4,5 +4,4 @@
 SvcUtil.exe ^
       /noLogo ^
-      /language:cs ^
-      http://192.168.198.1:9000/ServerConsoleService/?wsdl ^
-      /config:../app.config
+      http://localhost1:9000/ServerConsoleService/?wsdl ^
+      /config:app.config
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/Facades/SlaveFacade.cs
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/Facades/SlaveFacade.cs	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/Facades/SlaveFacade.cs	(revision 4305)
@@ -51,7 +51,7 @@
     [PrincipalPermission(SecurityAction.Demand, Role = HiveRoles.Administrator)]
     [PrincipalPermission(SecurityAction.Demand, Role = HiveRoles.Slave)]
-    public Response Login(Guid slaveId) {
+    public Response Login(SlaveDto slave) {
       using (contextFactory.GetContext()) {
-        return slaveCommunicator.Login(slaveId);
+        return slaveCommunicator.Login(slave);
       }
     }
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/SlaveCommunicator.cs
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/SlaveCommunicator.cs	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/SlaveCommunicator.cs	(revision 4305)
@@ -176,26 +176,25 @@
     /// <param name="slaveInfo"></param>
     /// <returns></returns>
-    public Response Login(Guid slaveId) {
+    public Response Login(SlaveDto slave) {
       Response response = new Response();
 
       heartbeatLock.EnterWriteLock();
-      if (lastHeartbeats.ContainsKey(slaveId)) {
-        lastHeartbeats[slaveId] = DateTime.Now;
+      if (lastHeartbeats.ContainsKey(slave.Id)) {
+        lastHeartbeats[slave.Id] = DateTime.Now;
       } else {
-        lastHeartbeats.Add(slaveId, DateTime.Now);
+        lastHeartbeats.Add(slave.Id, DateTime.Now);
       }
       heartbeatLock.ExitWriteLock();
 
-      SlaveDto dbSlave = DaoLocator.SlaveDao.FindById(slaveId);
-
-      //Really set offline? 
-      //Reconnect issues with the currently calculating jobs
-      dbSlave.State = SlaveState.Idle;
-      dbSlave.CalendarSyncStatus = dbSlave != null ? dbSlave.CalendarSyncStatus : CalendarState.NotAllowedToFetch;
+      SlaveDto dbSlave = DaoLocator.SlaveDao.FindById(slave.Id);
+
+      slave.CalendarSyncStatus = dbSlave != null ? dbSlave.CalendarSyncStatus : CalendarState.NotAllowedToFetch;
+      slave.State = SlaveState.Idle;
 
       if (dbSlave == null)
-        DaoLocator.SlaveDao.Insert(dbSlave);
-      else
-        DaoLocator.SlaveDao.Update(dbSlave);
+        DaoLocator.SlaveDao.Insert(slave);
+      else {
+        DaoLocator.SlaveDao.Update(slave);
+      }
 
       return response;
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/app.config
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/app.config	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server.Core/3.3/app.config	(revision 4305)
@@ -28,8 +28,22 @@
     
     <bindings>
-      
+      <basicHttpBinding>
+        <binding name="StreamedHttpBinding" sendTimeout="00:10:00" maxBufferSize="104857600"
+          maxBufferPoolSize="104857600" maxReceivedMessageSize="104857600"
+          transferMode="Streamed">
+          <readerQuotas maxStringContentLength="104857600" maxArrayLength="104857600" />
+          <security>
+            <transport>
+              <extendedProtectionPolicy policyEnforcement="Never" />
+            </transport>
+          </security>
+        </binding>
+      </basicHttpBinding>
       <wsHttpBinding>
         <binding name="HttpBinding">
           <security>
+            <transport>
+              <extendedProtectionPolicy policyEnforcement="Never" />
+            </transport>
             <message clientCredentialType="UserName" />
           </security>
@@ -85,4 +99,7 @@
         <endpoint address="mex" binding="mexHttpBinding" name="ClientMexEndpoint"
           contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade" />
+        <endpoint address="http://localhost:9000/ClientServiceStreamed"
+          binding="basicHttpBinding" bindingConfiguration="StreamedHttpBinding"
+          name="ClientStreamedHttpEndpoint" contract="HeuristicLab.Hive.Contracts.Interfaces.IClientFacade" />
         <host>
           <baseAddresses>
@@ -92,4 +109,5 @@
       </service>
     </services>
+    
   </system.serviceModel>
   
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server/3.3/HeuristicLabHiveServerApplication.cs
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server/3.3/HeuristicLabHiveServerApplication.cs	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server/3.3/HeuristicLabHiveServerApplication.cs	(revision 4305)
@@ -35,51 +35,50 @@
   [Application("Hive Server", "Server application for the distributed hive engine.", false)]
   public class HeuristicLabHiveServerApplication : ApplicationBase {
-    Dictionary<string, Uri> baseAddrDict = new Dictionary<string, Uri>();
+    //private Dictionary<string, Uri> baseAddrDict = new Dictionary<string, Uri>();
+    private IDictionary<string, ServiceHost> serviceHosts = new Dictionary<string, ServiceHost>();
+    ILifecycleManager lifecycleManager = null;
 
     public override void Run() {
-      ILifecycleManager lifecycleManager = null;
-      ServiceHost slaveServiceHost = null;
-      ServiceHost serverConsoleServiceHost = null;
-      ServiceHost clientServiceHost = null;
       try {
-        slaveServiceHost = new ServiceHost(ApplicationManager.Manager.GetTypes(typeof(ISlaveFacade)).First(), GetUri(WcfSettings.SlaveServiceName));
-        slaveServiceHost.Open();
-
-        serverConsoleServiceHost = new ServiceHost(ApplicationManager.Manager.GetTypes(typeof(IServerConsoleFacade)).First(), GetUri(WcfSettings.ServerConsoleServiceName));
-        serverConsoleServiceHost.Open();
-
-        clientServiceHost = new ServiceHost(ApplicationManager.Manager.GetTypes(typeof(IClientFacade)).First(), GetUri(WcfSettings.ClientServiceName));
-        clientServiceHost.Open();
+        CreateAndOpenServiceHost(typeof(ISlaveFacade), WcfSettings.SlaveServiceName);
+        CreateAndOpenServiceHost(typeof(IServerConsoleFacade), WcfSettings.ServerConsoleServiceName);
+        CreateAndOpenServiceHost(typeof(IClientFacade), WcfSettings.ClientServiceName);
 
         lifecycleManager = ServiceLocator.GetLifecycleManager();
         lifecycleManager.Init();
 
-        Form mainForm = new MainForm(baseAddrDict);
+        Form mainForm = new MainForm(GetBaseAddresses());
         Application.Run();
+      } finally {
+        foreach (ServiceHost host in serviceHosts.Values) {
+          if (host.State == CommunicationState.Opened)
+            host.Close();
+        }
+        if (lifecycleManager != null)
+          lifecycleManager.Shutdown();
+      }
+    }
+
+    private ServiceHost CreateAndOpenServiceHost(Type serviceInterfaceType, string serviceName) {
+      try {
+        ServiceHost host = new ServiceHost(ApplicationManager.Manager.GetTypes(serviceInterfaceType).First());
+        host.Open();
+        serviceHosts.Add(serviceName, host);
+        return host;
       }
       catch (AddressAccessDeniedException ex) {
         throw new Exception("Unable to start WCF-Services due to missing rights. Run the following command as administrator: \"netsh http add urlacl url=http://+" + WcfSettings.DefaultPort + "/ user=MYMACHINE\\UserName\". See inner exception for more details.", ex);
       }
-      finally {
-        if (slaveServiceHost != null && slaveServiceHost.State == CommunicationState.Opened)
-          slaveServiceHost.Close();
-        if (serverConsoleServiceHost != null && serverConsoleServiceHost.State == CommunicationState.Opened)
-          serverConsoleServiceHost.Close();
-        if (clientServiceHost != null && clientServiceHost.State == CommunicationState.Opened)
-          clientServiceHost.Close();
-
-        if(lifecycleManager != null)
-          lifecycleManager.Shutdown();
-      }
     }
 
-    private Uri GetUri(string serviceName) {
-      string ipAddress = WcfSettings.GetActiveIP().ToString();
-      string port = WcfSettings.DefaultPort.ToString();
-      Uri uriHttp = new Uri("http://" + ipAddress + ":" + port + "/" + serviceName + "/");
-      baseAddrDict.Add(serviceName, uriHttp);
-      return uriHttp;
+    private IDictionary<string, Uri> GetBaseAddresses() {
+      IDictionary<string, Uri> dict = new Dictionary<string, Uri>();
+      foreach (KeyValuePair<string, ServiceHost> host in serviceHosts) {
+        foreach (var addr in host.Value.BaseAddresses) {
+          dict.Add(host.Key, addr);
+        }
+      }
+      return dict;
     }
-
   }
 }
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server/3.3/MainForm.cs
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server/3.3/MainForm.cs	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Server/3.3/MainForm.cs	(revision 4305)
@@ -11,5 +11,5 @@
 namespace HeuristicLab.Hive.Server {
   public partial class MainForm : Form {
-    public MainForm(Dictionary<string, Uri> addresses) {
+    public MainForm(IDictionary<string, Uri> addresses) {
       InitializeComponent();
 
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/GetJobCompletedEventArgs.cs
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/GetJobCompletedEventArgs.cs	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/GetJobCompletedEventArgs.cs	(revision 4305)
@@ -21,5 +21,5 @@
 using System;
 
-namespace HeuristicLab.Hive.Slave.Communication.ServerService {
+namespace HeuristicLab.Hive.Slave.Communication.SlaveService {
   public partial class GetJobCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
 
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/HeuristicLab.Hive.Slave.Communication-3.3.csproj
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/HeuristicLab.Hive.Slave.Communication-3.3.csproj	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/HeuristicLab.Hive.Slave.Communication-3.3.csproj	(revision 4305)
@@ -112,9 +112,14 @@
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="GetJobCompletedEventArgs.cs" />
-    <Compile Include="Service References\ServerService\Reference.cs">
+    <Compile Include="Service References\SlaveService\Reference.cs">
       <AutoGen>True</AutoGen>
       <DesignTime>True</DesignTime>
       <DependentUpon>Reference.svcmap</DependentUpon>
     </Compile>
+    <Compile Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+      <DependentUpon>Settings.settings</DependentUpon>
+    </Compile>
     <Compile Include="WcfService.cs" />
   </ItemGroup>
@@ -124,5 +129,4 @@
     <None Include="Properties\AssemblyInfo.frame" />
     <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.BusinessObjects.JobDto.datasource" />
-    <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.ResponseHeartBeat.datasource" />
     <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.ResponseObjects.Response.datasource" />
     <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.ResponseObjects.ResponseCalendar.datasource" />
@@ -130,35 +134,39 @@
     <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived.datasource" />
     <None Include="Properties\DataSources\HeuristicLab.PluginInfrastructure.CachedHivePluginInfoDto.datasource" />
-    <None Include="Service References\ServerService\SlaveFacade2.wsdl" />
-    <None Include="Service References\ServerService\SlaveService.wsdl" />
-    <None Include="Service References\ServerService\SlaveService.xsd">
-      <SubType>Designer</SubType>
-    </None>
-    <None Include="Service References\ServerService\SlaveService1.xsd">
-      <SubType>Designer</SubType>
-    </None>
-    <None Include="Service References\ServerService\SlaveService2.xsd">
-      <SubType>Designer</SubType>
-    </None>
-    <None Include="Service References\ServerService\SlaveService3.xsd">
-      <SubType>Designer</SubType>
-    </None>
-    <None Include="Service References\ServerService\SlaveService4.xsd">
-      <SubType>Designer</SubType>
-    </None>
-    <None Include="Service References\ServerService\SlaveService5.xsd">
-      <SubType>Designer</SubType>
-    </None>
-    <None Include="Service References\ServerService\SlaveService6.xsd">
-      <SubType>Designer</SubType>
-    </None>
-    <None Include="Service References\ServerService\SlaveService7.xsd">
-      <SubType>Designer</SubType>
-    </None>
-    <None Include="Service References\ServerService\SlaveService8.xsd">
-      <SubType>Designer</SubType>
-    </None>
-    <None Include="Service References\ServerService\SlaveService9.xsd">
-      <SubType>Designer</SubType>
+    <None Include="Service References\SlaveService\SlaveFacade.wsdl" />
+    <None Include="Service References\SlaveService\SlaveService.wsdl" />
+    <None Include="Service References\SlaveService\SlaveService.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Service References\SlaveService\SlaveService1.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Service References\SlaveService\SlaveService2.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Service References\SlaveService\SlaveService3.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Service References\SlaveService\SlaveService4.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Service References\SlaveService\SlaveService5.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Service References\SlaveService\SlaveService6.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Service References\SlaveService\SlaveService7.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Service References\SlaveService\SlaveService8.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Service References\SlaveService\SlaveService9.xsd">
+      <SubType>Designer</SubType>
+    </None>
+    <None Include="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
     </None>
   </ItemGroup>
@@ -177,28 +185,20 @@
   </ItemGroup>
   <ItemGroup>
-    <WCFMetadataStorage Include="Service References\ServerService\" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Service References\ServerService\configuration91.svcinfo" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Service References\ServerService\configuration.svcinfo" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.Response.datasource" />
-    <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.ResponseCalendar.datasource" />
-    <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.ResponseHB.datasource" />
-    <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.ResponseJob.datasource" />
-    <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.ResponsePlugin.datasource" />
-    <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.ResponseResultReceived.datasource" />
-    <None Include="Properties\DataSources\HeuristicLab.Hive.Contracts.ResponseSerializedJob.datasource" />
-    <None Include="Service References\ServerService\HeuristicLab.PluginInfrastructure.xsd" />
-    <None Include="Service References\ServerService\Reference.svcmap">
+    <WCFMetadataStorage Include="Service References\SlaveService\" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Service References\SlaveService\SlaveService.disco" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Service References\SlaveService\configuration91.svcinfo" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Service References\SlaveService\configuration.svcinfo" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Service References\SlaveService\Reference.svcmap">
       <Generator>WCF Proxy Generator</Generator>
       <LastGenOutput>Reference.cs</LastGenOutput>
     </None>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Service References\ServerService\SlaveService.disco" />
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/Settings.Designer.cs
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/Settings.Designer.cs	(revision 4305)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/Settings.Designer.cs	(revision 4305)
@@ -0,0 +1,50 @@
+﻿//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.1
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace HeuristicLab.Hive.Slave.Communication.Properties {
+    
+    
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
+    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+        
+        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+        
+        public static Settings Default {
+            get {
+                return defaultInstance;
+            }
+        }
+        
+        [global::System.Configuration.UserScopedSettingAttribute()]
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.Configuration.DefaultSettingValueAttribute("hiveslave")]
+        public string HiveUsername {
+            get {
+                return ((string)(this["HiveUsername"]));
+            }
+            set {
+                this["HiveUsername"] = value;
+            }
+        }
+        
+        [global::System.Configuration.UserScopedSettingAttribute()]
+        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+        [global::System.Configuration.DefaultSettingValueAttribute("hiveslave")]
+        public string HivePassword {
+            get {
+                return ((string)(this["HivePassword"]));
+            }
+            set {
+                this["HivePassword"] = value;
+            }
+        }
+    }
+}
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/Settings.settings
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/Settings.settings	(revision 4305)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Properties/Settings.settings	(revision 4305)
@@ -0,0 +1,12 @@
+﻿<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="HeuristicLab.Hive.Slave.Communication.Properties" GeneratedClassName="Settings">
+  <Profiles />
+  <Settings>
+    <Setting Name="HiveUsername" Type="System.String" Scope="User">
+      <Value Profile="(Default)">hiveslave</Value>
+    </Setting>
+    <Setting Name="HivePassword" Type="System.String" Scope="User">
+      <Value Profile="(Default)">hiveslave</Value>
+    </Setting>
+  </Settings>
+</SettingsFile>
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/Reference.cs
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/Reference.cs	(revision 4305)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/Reference.cs	(revision 4305)
@@ -0,0 +1,1274 @@
+﻿//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.1
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace HeuristicLab.Hive.Slave.Communication.SlaveService {
+    
+    
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    [System.ServiceModel.ServiceContractAttribute(ConfigurationName="SlaveService.ISlaveFacade")]
+    public interface ISlaveFacade {
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ISlaveCommunicator/Login", ReplyAction="http://tempuri.org/ISlaveCommunicator/LoginResponse")]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseHeartBeat))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseObject<HeuristicLab.Hive.Contracts.BusinessObjects.JobDto>))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseList<HeuristicLab.PluginInfrastructure.CachedHivePluginInfoDto>))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseCalendar))]
+        HeuristicLab.Hive.Contracts.ResponseObjects.Response Login(HeuristicLab.Hive.Contracts.BusinessObjects.SlaveDto slave);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/ISlaveCommunicator/Login", ReplyAction="http://tempuri.org/ISlaveCommunicator/LoginResponse")]
+        System.IAsyncResult BeginLogin(HeuristicLab.Hive.Contracts.BusinessObjects.SlaveDto slave, System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Contracts.ResponseObjects.Response EndLogin(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ISlaveCommunicator/ProcessHeartBeat", ReplyAction="http://tempuri.org/ISlaveCommunicator/ProcessHeartBeatResponse")]
+        HeuristicLab.Hive.Contracts.ResponseObjects.ResponseHeartBeat ProcessHeartBeat(HeuristicLab.Hive.Contracts.BusinessObjects.HeartBeatData hbData);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/ISlaveCommunicator/ProcessHeartBeat", ReplyAction="http://tempuri.org/ISlaveCommunicator/ProcessHeartBeatResponse")]
+        System.IAsyncResult BeginProcessHeartBeat(HeuristicLab.Hive.Contracts.BusinessObjects.HeartBeatData hbData, System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Contracts.ResponseObjects.ResponseHeartBeat EndProcessHeartBeat(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ISlaveCommunicator/GetJob", ReplyAction="http://tempuri.org/ISlaveCommunicator/GetJobResponse")]
+        HeuristicLab.Hive.Contracts.ResponseObjects.ResponseObject<HeuristicLab.Hive.Contracts.BusinessObjects.JobDto> GetJob(System.Guid clientId);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/ISlaveCommunicator/GetJob", ReplyAction="http://tempuri.org/ISlaveCommunicator/GetJobResponse")]
+        System.IAsyncResult BeginGetJob(System.Guid clientId, System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Contracts.ResponseObjects.ResponseObject<HeuristicLab.Hive.Contracts.BusinessObjects.JobDto> EndGetJob(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ISlaveCommunicator/StoreFinishedJobResult", ReplyAction="http://tempuri.org/ISlaveCommunicator/StoreFinishedJobResultResponse")]
+        HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived StoreFinishedJobResult(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/ISlaveCommunicator/StoreFinishedJobResult", ReplyAction="http://tempuri.org/ISlaveCommunicator/StoreFinishedJobResultResponse")]
+        System.IAsyncResult BeginStoreFinishedJobResult(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception, System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived EndStoreFinishedJobResult(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ISlaveCommunicator/ProcessSnapshot", ReplyAction="http://tempuri.org/ISlaveCommunicator/ProcessSnapshotResponse")]
+        HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived ProcessSnapshot(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/ISlaveCommunicator/ProcessSnapshot", ReplyAction="http://tempuri.org/ISlaveCommunicator/ProcessSnapshotResponse")]
+        System.IAsyncResult BeginProcessSnapshot(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception, System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived EndProcessSnapshot(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ISlaveCommunicator/Logout", ReplyAction="http://tempuri.org/ISlaveCommunicator/LogoutResponse")]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseHeartBeat))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseObject<HeuristicLab.Hive.Contracts.BusinessObjects.JobDto>))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseList<HeuristicLab.PluginInfrastructure.CachedHivePluginInfoDto>))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseCalendar))]
+        HeuristicLab.Hive.Contracts.ResponseObjects.Response Logout(System.Guid clientId);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/ISlaveCommunicator/Logout", ReplyAction="http://tempuri.org/ISlaveCommunicator/LogoutResponse")]
+        System.IAsyncResult BeginLogout(System.Guid clientId, System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Contracts.ResponseObjects.Response EndLogout(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ISlaveCommunicator/IsJobStillNeeded", ReplyAction="http://tempuri.org/ISlaveCommunicator/IsJobStillNeededResponse")]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseHeartBeat))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseObject<HeuristicLab.Hive.Contracts.BusinessObjects.JobDto>))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseList<HeuristicLab.PluginInfrastructure.CachedHivePluginInfoDto>))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseCalendar))]
+        HeuristicLab.Hive.Contracts.ResponseObjects.Response IsJobStillNeeded(System.Guid jobId);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/ISlaveCommunicator/IsJobStillNeeded", ReplyAction="http://tempuri.org/ISlaveCommunicator/IsJobStillNeededResponse")]
+        System.IAsyncResult BeginIsJobStillNeeded(System.Guid jobId, System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Contracts.ResponseObjects.Response EndIsJobStillNeeded(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ISlaveCommunicator/GetPlugins", ReplyAction="http://tempuri.org/ISlaveCommunicator/GetPluginsResponse")]
+        HeuristicLab.Hive.Contracts.ResponseObjects.ResponseList<HeuristicLab.PluginInfrastructure.CachedHivePluginInfoDto> GetPlugins(HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/ISlaveCommunicator/GetPlugins", ReplyAction="http://tempuri.org/ISlaveCommunicator/GetPluginsResponse")]
+        System.IAsyncResult BeginGetPlugins(HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList, System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Contracts.ResponseObjects.ResponseList<HeuristicLab.PluginInfrastructure.CachedHivePluginInfoDto> EndGetPlugins(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ISlaveCommunicator/GetCalendar", ReplyAction="http://tempuri.org/ISlaveCommunicator/GetCalendarResponse")]
+        HeuristicLab.Hive.Contracts.ResponseObjects.ResponseCalendar GetCalendar(System.Guid clientId);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/ISlaveCommunicator/GetCalendar", ReplyAction="http://tempuri.org/ISlaveCommunicator/GetCalendarResponse")]
+        System.IAsyncResult BeginGetCalendar(System.Guid clientId, System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Contracts.ResponseObjects.ResponseCalendar EndGetCalendar(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ISlaveCommunicator/SetCalendarStatus", ReplyAction="http://tempuri.org/ISlaveCommunicator/SetCalendarStatusResponse")]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseHeartBeat))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseObject<HeuristicLab.Hive.Contracts.BusinessObjects.JobDto>))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseList<HeuristicLab.PluginInfrastructure.CachedHivePluginInfoDto>))]
+        [System.ServiceModel.ServiceKnownTypeAttribute(typeof(HeuristicLab.Hive.Contracts.ResponseObjects.ResponseCalendar))]
+        HeuristicLab.Hive.Contracts.ResponseObjects.Response SetCalendarStatus(System.Guid clientId, HeuristicLab.Hive.Contracts.BusinessObjects.CalendarState state);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/ISlaveCommunicator/SetCalendarStatus", ReplyAction="http://tempuri.org/ISlaveCommunicator/SetCalendarStatusResponse")]
+        System.IAsyncResult BeginSetCalendarStatus(System.Guid clientId, HeuristicLab.Hive.Contracts.BusinessObjects.CalendarState state, System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Contracts.ResponseObjects.Response EndSetCalendarStatus(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ISlaveFacade/GetStreamedJob", ReplyAction="http://tempuri.org/ISlaveFacade/GetStreamedJobResponse")]
+        System.IO.Stream GetStreamedJob(System.Guid clientId);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/ISlaveFacade/GetStreamedJob", ReplyAction="http://tempuri.org/ISlaveFacade/GetStreamedJobResponse")]
+        System.IAsyncResult BeginGetStreamedJob(System.Guid clientId, System.AsyncCallback callback, object asyncState);
+        
+        System.IO.Stream EndGetStreamedJob(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ISlaveFacade/GetStreamedPlugins", ReplyAction="http://tempuri.org/ISlaveFacade/GetStreamedPluginsResponse")]
+        System.IO.Stream GetStreamedPlugins(HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/ISlaveFacade/GetStreamedPlugins", ReplyAction="http://tempuri.org/ISlaveFacade/GetStreamedPluginsResponse")]
+        System.IAsyncResult BeginGetStreamedPlugins(HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList, System.AsyncCallback callback, object asyncState);
+        
+        System.IO.Stream EndGetStreamedPlugins(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ISlaveFacade/StoreFinishedJobResultStreamed", ReplyAction="http://tempuri.org/ISlaveFacade/StoreFinishedJobResultStreamedResponse")]
+        HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived StoreFinishedJobResultStreamed(System.IO.Stream stream);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/ISlaveFacade/StoreFinishedJobResultStreamed", ReplyAction="http://tempuri.org/ISlaveFacade/StoreFinishedJobResultStreamedResponse")]
+        System.IAsyncResult BeginStoreFinishedJobResultStreamed(System.IO.Stream stream, System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived EndStoreFinishedJobResultStreamed(System.IAsyncResult result);
+        
+        [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/ISlaveFacade/ProcessSnapshotStreamed", ReplyAction="http://tempuri.org/ISlaveFacade/ProcessSnapshotStreamedResponse")]
+        HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived ProcessSnapshotStreamed(System.IO.Stream stream);
+        
+        [System.ServiceModel.OperationContractAttribute(AsyncPattern=true, Action="http://tempuri.org/ISlaveFacade/ProcessSnapshotStreamed", ReplyAction="http://tempuri.org/ISlaveFacade/ProcessSnapshotStreamedResponse")]
+        System.IAsyncResult BeginProcessSnapshotStreamed(System.IO.Stream stream, System.AsyncCallback callback, object asyncState);
+        
+        HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived EndProcessSnapshotStreamed(System.IAsyncResult result);
+    }
+    
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public interface ISlaveFacadeChannel : HeuristicLab.Hive.Slave.Communication.SlaveService.ISlaveFacade, System.ServiceModel.IClientChannel {
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class LoginCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public LoginCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseObjects.Response Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Contracts.ResponseObjects.Response)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class ProcessHeartBeatCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public ProcessHeartBeatCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseHeartBeat Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Contracts.ResponseObjects.ResponseHeartBeat)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class GetJobCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public GetJobCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseObject<HeuristicLab.Hive.Contracts.BusinessObjects.JobDto> Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Contracts.ResponseObjects.ResponseObject<HeuristicLab.Hive.Contracts.BusinessObjects.JobDto>)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class StoreFinishedJobResultCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public StoreFinishedJobResultCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class ProcessSnapshotCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public ProcessSnapshotCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class LogoutCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public LogoutCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseObjects.Response Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Contracts.ResponseObjects.Response)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class IsJobStillNeededCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public IsJobStillNeededCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseObjects.Response Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Contracts.ResponseObjects.Response)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class GetPluginsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public GetPluginsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseList<HeuristicLab.PluginInfrastructure.CachedHivePluginInfoDto> Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Contracts.ResponseObjects.ResponseList<HeuristicLab.PluginInfrastructure.CachedHivePluginInfoDto>)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class GetCalendarCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public GetCalendarCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseCalendar Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Contracts.ResponseObjects.ResponseCalendar)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class SetCalendarStatusCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public SetCalendarStatusCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseObjects.Response Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Contracts.ResponseObjects.Response)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class GetStreamedJobCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public GetStreamedJobCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public System.IO.Stream Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((System.IO.Stream)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class GetStreamedPluginsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public GetStreamedPluginsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public System.IO.Stream Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((System.IO.Stream)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class StoreFinishedJobResultStreamedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public StoreFinishedJobResultStreamedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class ProcessSnapshotStreamedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
+        
+        private object[] results;
+        
+        public ProcessSnapshotStreamedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
+                base(exception, cancelled, userState) {
+            this.results = results;
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived Result {
+            get {
+                base.RaiseExceptionIfNecessary();
+                return ((HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived)(this.results[0]));
+            }
+        }
+    }
+    
+    [System.Diagnostics.DebuggerStepThroughAttribute()]
+    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+    public partial class SlaveFacadeClient : System.ServiceModel.ClientBase<HeuristicLab.Hive.Slave.Communication.SlaveService.ISlaveFacade>, HeuristicLab.Hive.Slave.Communication.SlaveService.ISlaveFacade {
+        
+        private BeginOperationDelegate onBeginLoginDelegate;
+        
+        private EndOperationDelegate onEndLoginDelegate;
+        
+        private System.Threading.SendOrPostCallback onLoginCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginProcessHeartBeatDelegate;
+        
+        private EndOperationDelegate onEndProcessHeartBeatDelegate;
+        
+        private System.Threading.SendOrPostCallback onProcessHeartBeatCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginGetJobDelegate;
+        
+        private EndOperationDelegate onEndGetJobDelegate;
+        
+        private System.Threading.SendOrPostCallback onGetJobCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginStoreFinishedJobResultDelegate;
+        
+        private EndOperationDelegate onEndStoreFinishedJobResultDelegate;
+        
+        private System.Threading.SendOrPostCallback onStoreFinishedJobResultCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginProcessSnapshotDelegate;
+        
+        private EndOperationDelegate onEndProcessSnapshotDelegate;
+        
+        private System.Threading.SendOrPostCallback onProcessSnapshotCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginLogoutDelegate;
+        
+        private EndOperationDelegate onEndLogoutDelegate;
+        
+        private System.Threading.SendOrPostCallback onLogoutCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginIsJobStillNeededDelegate;
+        
+        private EndOperationDelegate onEndIsJobStillNeededDelegate;
+        
+        private System.Threading.SendOrPostCallback onIsJobStillNeededCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginGetPluginsDelegate;
+        
+        private EndOperationDelegate onEndGetPluginsDelegate;
+        
+        private System.Threading.SendOrPostCallback onGetPluginsCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginGetCalendarDelegate;
+        
+        private EndOperationDelegate onEndGetCalendarDelegate;
+        
+        private System.Threading.SendOrPostCallback onGetCalendarCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginSetCalendarStatusDelegate;
+        
+        private EndOperationDelegate onEndSetCalendarStatusDelegate;
+        
+        private System.Threading.SendOrPostCallback onSetCalendarStatusCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginGetStreamedJobDelegate;
+        
+        private EndOperationDelegate onEndGetStreamedJobDelegate;
+        
+        private System.Threading.SendOrPostCallback onGetStreamedJobCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginGetStreamedPluginsDelegate;
+        
+        private EndOperationDelegate onEndGetStreamedPluginsDelegate;
+        
+        private System.Threading.SendOrPostCallback onGetStreamedPluginsCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginStoreFinishedJobResultStreamedDelegate;
+        
+        private EndOperationDelegate onEndStoreFinishedJobResultStreamedDelegate;
+        
+        private System.Threading.SendOrPostCallback onStoreFinishedJobResultStreamedCompletedDelegate;
+        
+        private BeginOperationDelegate onBeginProcessSnapshotStreamedDelegate;
+        
+        private EndOperationDelegate onEndProcessSnapshotStreamedDelegate;
+        
+        private System.Threading.SendOrPostCallback onProcessSnapshotStreamedCompletedDelegate;
+        
+        public SlaveFacadeClient() {
+        }
+        
+        public SlaveFacadeClient(string endpointConfigurationName) : 
+                base(endpointConfigurationName) {
+        }
+        
+        public SlaveFacadeClient(string endpointConfigurationName, string remoteAddress) : 
+                base(endpointConfigurationName, remoteAddress) {
+        }
+        
+        public SlaveFacadeClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) : 
+                base(endpointConfigurationName, remoteAddress) {
+        }
+        
+        public SlaveFacadeClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) : 
+                base(binding, remoteAddress) {
+        }
+        
+        public event System.EventHandler<LoginCompletedEventArgs> LoginCompleted;
+        
+        public event System.EventHandler<ProcessHeartBeatCompletedEventArgs> ProcessHeartBeatCompleted;
+        
+        public event System.EventHandler<GetJobCompletedEventArgs> GetJobCompleted;
+        
+        public event System.EventHandler<StoreFinishedJobResultCompletedEventArgs> StoreFinishedJobResultCompleted;
+        
+        public event System.EventHandler<ProcessSnapshotCompletedEventArgs> ProcessSnapshotCompleted;
+        
+        public event System.EventHandler<LogoutCompletedEventArgs> LogoutCompleted;
+        
+        public event System.EventHandler<IsJobStillNeededCompletedEventArgs> IsJobStillNeededCompleted;
+        
+        public event System.EventHandler<GetPluginsCompletedEventArgs> GetPluginsCompleted;
+        
+        public event System.EventHandler<GetCalendarCompletedEventArgs> GetCalendarCompleted;
+        
+        public event System.EventHandler<SetCalendarStatusCompletedEventArgs> SetCalendarStatusCompleted;
+        
+        public event System.EventHandler<GetStreamedJobCompletedEventArgs> GetStreamedJobCompleted;
+        
+        public event System.EventHandler<GetStreamedPluginsCompletedEventArgs> GetStreamedPluginsCompleted;
+        
+        public event System.EventHandler<StoreFinishedJobResultStreamedCompletedEventArgs> StoreFinishedJobResultStreamedCompleted;
+        
+        public event System.EventHandler<ProcessSnapshotStreamedCompletedEventArgs> ProcessSnapshotStreamedCompleted;
+        
+        public HeuristicLab.Hive.Contracts.ResponseObjects.Response Login(HeuristicLab.Hive.Contracts.BusinessObjects.SlaveDto slave) {
+            return base.Channel.Login(slave);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginLogin(HeuristicLab.Hive.Contracts.BusinessObjects.SlaveDto slave, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginLogin(slave, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Contracts.ResponseObjects.Response EndLogin(System.IAsyncResult result) {
+            return base.Channel.EndLogin(result);
+        }
+        
+        private System.IAsyncResult OnBeginLogin(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            HeuristicLab.Hive.Contracts.BusinessObjects.SlaveDto slave = ((HeuristicLab.Hive.Contracts.BusinessObjects.SlaveDto)(inValues[0]));
+            return this.BeginLogin(slave, callback, asyncState);
+        }
+        
+        private object[] OnEndLogin(System.IAsyncResult result) {
+            HeuristicLab.Hive.Contracts.ResponseObjects.Response retVal = this.EndLogin(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnLoginCompleted(object state) {
+            if ((this.LoginCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.LoginCompleted(this, new LoginCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void LoginAsync(HeuristicLab.Hive.Contracts.BusinessObjects.SlaveDto slave) {
+            this.LoginAsync(slave, null);
+        }
+        
+        public void LoginAsync(HeuristicLab.Hive.Contracts.BusinessObjects.SlaveDto slave, object userState) {
+            if ((this.onBeginLoginDelegate == null)) {
+                this.onBeginLoginDelegate = new BeginOperationDelegate(this.OnBeginLogin);
+            }
+            if ((this.onEndLoginDelegate == null)) {
+                this.onEndLoginDelegate = new EndOperationDelegate(this.OnEndLogin);
+            }
+            if ((this.onLoginCompletedDelegate == null)) {
+                this.onLoginCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnLoginCompleted);
+            }
+            base.InvokeAsync(this.onBeginLoginDelegate, new object[] {
+                        slave}, this.onEndLoginDelegate, this.onLoginCompletedDelegate, userState);
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseHeartBeat ProcessHeartBeat(HeuristicLab.Hive.Contracts.BusinessObjects.HeartBeatData hbData) {
+            return base.Channel.ProcessHeartBeat(hbData);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginProcessHeartBeat(HeuristicLab.Hive.Contracts.BusinessObjects.HeartBeatData hbData, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginProcessHeartBeat(hbData, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseHeartBeat EndProcessHeartBeat(System.IAsyncResult result) {
+            return base.Channel.EndProcessHeartBeat(result);
+        }
+        
+        private System.IAsyncResult OnBeginProcessHeartBeat(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            HeuristicLab.Hive.Contracts.BusinessObjects.HeartBeatData hbData = ((HeuristicLab.Hive.Contracts.BusinessObjects.HeartBeatData)(inValues[0]));
+            return this.BeginProcessHeartBeat(hbData, callback, asyncState);
+        }
+        
+        private object[] OnEndProcessHeartBeat(System.IAsyncResult result) {
+            HeuristicLab.Hive.Contracts.ResponseObjects.ResponseHeartBeat retVal = this.EndProcessHeartBeat(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnProcessHeartBeatCompleted(object state) {
+            if ((this.ProcessHeartBeatCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.ProcessHeartBeatCompleted(this, new ProcessHeartBeatCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void ProcessHeartBeatAsync(HeuristicLab.Hive.Contracts.BusinessObjects.HeartBeatData hbData) {
+            this.ProcessHeartBeatAsync(hbData, null);
+        }
+        
+        public void ProcessHeartBeatAsync(HeuristicLab.Hive.Contracts.BusinessObjects.HeartBeatData hbData, object userState) {
+            if ((this.onBeginProcessHeartBeatDelegate == null)) {
+                this.onBeginProcessHeartBeatDelegate = new BeginOperationDelegate(this.OnBeginProcessHeartBeat);
+            }
+            if ((this.onEndProcessHeartBeatDelegate == null)) {
+                this.onEndProcessHeartBeatDelegate = new EndOperationDelegate(this.OnEndProcessHeartBeat);
+            }
+            if ((this.onProcessHeartBeatCompletedDelegate == null)) {
+                this.onProcessHeartBeatCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnProcessHeartBeatCompleted);
+            }
+            base.InvokeAsync(this.onBeginProcessHeartBeatDelegate, new object[] {
+                        hbData}, this.onEndProcessHeartBeatDelegate, this.onProcessHeartBeatCompletedDelegate, userState);
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseObject<HeuristicLab.Hive.Contracts.BusinessObjects.JobDto> GetJob(System.Guid clientId) {
+            return base.Channel.GetJob(clientId);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginGetJob(System.Guid clientId, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginGetJob(clientId, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseObject<HeuristicLab.Hive.Contracts.BusinessObjects.JobDto> EndGetJob(System.IAsyncResult result) {
+            return base.Channel.EndGetJob(result);
+        }
+        
+        private System.IAsyncResult OnBeginGetJob(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            System.Guid clientId = ((System.Guid)(inValues[0]));
+            return this.BeginGetJob(clientId, callback, asyncState);
+        }
+        
+        private object[] OnEndGetJob(System.IAsyncResult result) {
+            HeuristicLab.Hive.Contracts.ResponseObjects.ResponseObject<HeuristicLab.Hive.Contracts.BusinessObjects.JobDto> retVal = this.EndGetJob(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnGetJobCompleted(object state) {
+            if ((this.GetJobCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.GetJobCompleted(this, new GetJobCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void GetJobAsync(System.Guid clientId) {
+            this.GetJobAsync(clientId, null);
+        }
+        
+        public void GetJobAsync(System.Guid clientId, object userState) {
+            if ((this.onBeginGetJobDelegate == null)) {
+                this.onBeginGetJobDelegate = new BeginOperationDelegate(this.OnBeginGetJob);
+            }
+            if ((this.onEndGetJobDelegate == null)) {
+                this.onEndGetJobDelegate = new EndOperationDelegate(this.OnEndGetJob);
+            }
+            if ((this.onGetJobCompletedDelegate == null)) {
+                this.onGetJobCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetJobCompleted);
+            }
+            base.InvokeAsync(this.onBeginGetJobDelegate, new object[] {
+                        clientId}, this.onEndGetJobDelegate, this.onGetJobCompletedDelegate, userState);
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived StoreFinishedJobResult(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception) {
+            return base.Channel.StoreFinishedJobResult(clientId, jobId, result, percentage, exception);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginStoreFinishedJobResult(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginStoreFinishedJobResult(clientId, jobId, result, percentage, exception, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived EndStoreFinishedJobResult(System.IAsyncResult result) {
+            return base.Channel.EndStoreFinishedJobResult(result);
+        }
+        
+        private System.IAsyncResult OnBeginStoreFinishedJobResult(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            System.Guid clientId = ((System.Guid)(inValues[0]));
+            System.Guid jobId = ((System.Guid)(inValues[1]));
+            byte[] result = ((byte[])(inValues[2]));
+            double percentage = ((double)(inValues[3]));
+            string exception = ((string)(inValues[4]));
+            return this.BeginStoreFinishedJobResult(clientId, jobId, result, percentage, exception, callback, asyncState);
+        }
+        
+        private object[] OnEndStoreFinishedJobResult(System.IAsyncResult result) {
+            HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived retVal = this.EndStoreFinishedJobResult(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnStoreFinishedJobResultCompleted(object state) {
+            if ((this.StoreFinishedJobResultCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.StoreFinishedJobResultCompleted(this, new StoreFinishedJobResultCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void StoreFinishedJobResultAsync(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception) {
+            this.StoreFinishedJobResultAsync(clientId, jobId, result, percentage, exception, null);
+        }
+        
+        public void StoreFinishedJobResultAsync(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception, object userState) {
+            if ((this.onBeginStoreFinishedJobResultDelegate == null)) {
+                this.onBeginStoreFinishedJobResultDelegate = new BeginOperationDelegate(this.OnBeginStoreFinishedJobResult);
+            }
+            if ((this.onEndStoreFinishedJobResultDelegate == null)) {
+                this.onEndStoreFinishedJobResultDelegate = new EndOperationDelegate(this.OnEndStoreFinishedJobResult);
+            }
+            if ((this.onStoreFinishedJobResultCompletedDelegate == null)) {
+                this.onStoreFinishedJobResultCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnStoreFinishedJobResultCompleted);
+            }
+            base.InvokeAsync(this.onBeginStoreFinishedJobResultDelegate, new object[] {
+                        clientId,
+                        jobId,
+                        result,
+                        percentage,
+                        exception}, this.onEndStoreFinishedJobResultDelegate, this.onStoreFinishedJobResultCompletedDelegate, userState);
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived ProcessSnapshot(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception) {
+            return base.Channel.ProcessSnapshot(clientId, jobId, result, percentage, exception);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginProcessSnapshot(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginProcessSnapshot(clientId, jobId, result, percentage, exception, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived EndProcessSnapshot(System.IAsyncResult result) {
+            return base.Channel.EndProcessSnapshot(result);
+        }
+        
+        private System.IAsyncResult OnBeginProcessSnapshot(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            System.Guid clientId = ((System.Guid)(inValues[0]));
+            System.Guid jobId = ((System.Guid)(inValues[1]));
+            byte[] result = ((byte[])(inValues[2]));
+            double percentage = ((double)(inValues[3]));
+            string exception = ((string)(inValues[4]));
+            return this.BeginProcessSnapshot(clientId, jobId, result, percentage, exception, callback, asyncState);
+        }
+        
+        private object[] OnEndProcessSnapshot(System.IAsyncResult result) {
+            HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived retVal = this.EndProcessSnapshot(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnProcessSnapshotCompleted(object state) {
+            if ((this.ProcessSnapshotCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.ProcessSnapshotCompleted(this, new ProcessSnapshotCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void ProcessSnapshotAsync(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception) {
+            this.ProcessSnapshotAsync(clientId, jobId, result, percentage, exception, null);
+        }
+        
+        public void ProcessSnapshotAsync(System.Guid clientId, System.Guid jobId, byte[] result, double percentage, string exception, object userState) {
+            if ((this.onBeginProcessSnapshotDelegate == null)) {
+                this.onBeginProcessSnapshotDelegate = new BeginOperationDelegate(this.OnBeginProcessSnapshot);
+            }
+            if ((this.onEndProcessSnapshotDelegate == null)) {
+                this.onEndProcessSnapshotDelegate = new EndOperationDelegate(this.OnEndProcessSnapshot);
+            }
+            if ((this.onProcessSnapshotCompletedDelegate == null)) {
+                this.onProcessSnapshotCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnProcessSnapshotCompleted);
+            }
+            base.InvokeAsync(this.onBeginProcessSnapshotDelegate, new object[] {
+                        clientId,
+                        jobId,
+                        result,
+                        percentage,
+                        exception}, this.onEndProcessSnapshotDelegate, this.onProcessSnapshotCompletedDelegate, userState);
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseObjects.Response Logout(System.Guid clientId) {
+            return base.Channel.Logout(clientId);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginLogout(System.Guid clientId, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginLogout(clientId, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Contracts.ResponseObjects.Response EndLogout(System.IAsyncResult result) {
+            return base.Channel.EndLogout(result);
+        }
+        
+        private System.IAsyncResult OnBeginLogout(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            System.Guid clientId = ((System.Guid)(inValues[0]));
+            return this.BeginLogout(clientId, callback, asyncState);
+        }
+        
+        private object[] OnEndLogout(System.IAsyncResult result) {
+            HeuristicLab.Hive.Contracts.ResponseObjects.Response retVal = this.EndLogout(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnLogoutCompleted(object state) {
+            if ((this.LogoutCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.LogoutCompleted(this, new LogoutCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void LogoutAsync(System.Guid clientId) {
+            this.LogoutAsync(clientId, null);
+        }
+        
+        public void LogoutAsync(System.Guid clientId, object userState) {
+            if ((this.onBeginLogoutDelegate == null)) {
+                this.onBeginLogoutDelegate = new BeginOperationDelegate(this.OnBeginLogout);
+            }
+            if ((this.onEndLogoutDelegate == null)) {
+                this.onEndLogoutDelegate = new EndOperationDelegate(this.OnEndLogout);
+            }
+            if ((this.onLogoutCompletedDelegate == null)) {
+                this.onLogoutCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnLogoutCompleted);
+            }
+            base.InvokeAsync(this.onBeginLogoutDelegate, new object[] {
+                        clientId}, this.onEndLogoutDelegate, this.onLogoutCompletedDelegate, userState);
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseObjects.Response IsJobStillNeeded(System.Guid jobId) {
+            return base.Channel.IsJobStillNeeded(jobId);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginIsJobStillNeeded(System.Guid jobId, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginIsJobStillNeeded(jobId, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Contracts.ResponseObjects.Response EndIsJobStillNeeded(System.IAsyncResult result) {
+            return base.Channel.EndIsJobStillNeeded(result);
+        }
+        
+        private System.IAsyncResult OnBeginIsJobStillNeeded(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            System.Guid jobId = ((System.Guid)(inValues[0]));
+            return this.BeginIsJobStillNeeded(jobId, callback, asyncState);
+        }
+        
+        private object[] OnEndIsJobStillNeeded(System.IAsyncResult result) {
+            HeuristicLab.Hive.Contracts.ResponseObjects.Response retVal = this.EndIsJobStillNeeded(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnIsJobStillNeededCompleted(object state) {
+            if ((this.IsJobStillNeededCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.IsJobStillNeededCompleted(this, new IsJobStillNeededCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void IsJobStillNeededAsync(System.Guid jobId) {
+            this.IsJobStillNeededAsync(jobId, null);
+        }
+        
+        public void IsJobStillNeededAsync(System.Guid jobId, object userState) {
+            if ((this.onBeginIsJobStillNeededDelegate == null)) {
+                this.onBeginIsJobStillNeededDelegate = new BeginOperationDelegate(this.OnBeginIsJobStillNeeded);
+            }
+            if ((this.onEndIsJobStillNeededDelegate == null)) {
+                this.onEndIsJobStillNeededDelegate = new EndOperationDelegate(this.OnEndIsJobStillNeeded);
+            }
+            if ((this.onIsJobStillNeededCompletedDelegate == null)) {
+                this.onIsJobStillNeededCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnIsJobStillNeededCompleted);
+            }
+            base.InvokeAsync(this.onBeginIsJobStillNeededDelegate, new object[] {
+                        jobId}, this.onEndIsJobStillNeededDelegate, this.onIsJobStillNeededCompletedDelegate, userState);
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseList<HeuristicLab.PluginInfrastructure.CachedHivePluginInfoDto> GetPlugins(HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList) {
+            return base.Channel.GetPlugins(pluginList);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginGetPlugins(HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginGetPlugins(pluginList, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseList<HeuristicLab.PluginInfrastructure.CachedHivePluginInfoDto> EndGetPlugins(System.IAsyncResult result) {
+            return base.Channel.EndGetPlugins(result);
+        }
+        
+        private System.IAsyncResult OnBeginGetPlugins(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList = ((HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[])(inValues[0]));
+            return this.BeginGetPlugins(pluginList, callback, asyncState);
+        }
+        
+        private object[] OnEndGetPlugins(System.IAsyncResult result) {
+            HeuristicLab.Hive.Contracts.ResponseObjects.ResponseList<HeuristicLab.PluginInfrastructure.CachedHivePluginInfoDto> retVal = this.EndGetPlugins(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnGetPluginsCompleted(object state) {
+            if ((this.GetPluginsCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.GetPluginsCompleted(this, new GetPluginsCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void GetPluginsAsync(HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList) {
+            this.GetPluginsAsync(pluginList, null);
+        }
+        
+        public void GetPluginsAsync(HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList, object userState) {
+            if ((this.onBeginGetPluginsDelegate == null)) {
+                this.onBeginGetPluginsDelegate = new BeginOperationDelegate(this.OnBeginGetPlugins);
+            }
+            if ((this.onEndGetPluginsDelegate == null)) {
+                this.onEndGetPluginsDelegate = new EndOperationDelegate(this.OnEndGetPlugins);
+            }
+            if ((this.onGetPluginsCompletedDelegate == null)) {
+                this.onGetPluginsCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetPluginsCompleted);
+            }
+            base.InvokeAsync(this.onBeginGetPluginsDelegate, new object[] {
+                        pluginList}, this.onEndGetPluginsDelegate, this.onGetPluginsCompletedDelegate, userState);
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseCalendar GetCalendar(System.Guid clientId) {
+            return base.Channel.GetCalendar(clientId);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginGetCalendar(System.Guid clientId, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginGetCalendar(clientId, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseCalendar EndGetCalendar(System.IAsyncResult result) {
+            return base.Channel.EndGetCalendar(result);
+        }
+        
+        private System.IAsyncResult OnBeginGetCalendar(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            System.Guid clientId = ((System.Guid)(inValues[0]));
+            return this.BeginGetCalendar(clientId, callback, asyncState);
+        }
+        
+        private object[] OnEndGetCalendar(System.IAsyncResult result) {
+            HeuristicLab.Hive.Contracts.ResponseObjects.ResponseCalendar retVal = this.EndGetCalendar(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnGetCalendarCompleted(object state) {
+            if ((this.GetCalendarCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.GetCalendarCompleted(this, new GetCalendarCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void GetCalendarAsync(System.Guid clientId) {
+            this.GetCalendarAsync(clientId, null);
+        }
+        
+        public void GetCalendarAsync(System.Guid clientId, object userState) {
+            if ((this.onBeginGetCalendarDelegate == null)) {
+                this.onBeginGetCalendarDelegate = new BeginOperationDelegate(this.OnBeginGetCalendar);
+            }
+            if ((this.onEndGetCalendarDelegate == null)) {
+                this.onEndGetCalendarDelegate = new EndOperationDelegate(this.OnEndGetCalendar);
+            }
+            if ((this.onGetCalendarCompletedDelegate == null)) {
+                this.onGetCalendarCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetCalendarCompleted);
+            }
+            base.InvokeAsync(this.onBeginGetCalendarDelegate, new object[] {
+                        clientId}, this.onEndGetCalendarDelegate, this.onGetCalendarCompletedDelegate, userState);
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseObjects.Response SetCalendarStatus(System.Guid clientId, HeuristicLab.Hive.Contracts.BusinessObjects.CalendarState state) {
+            return base.Channel.SetCalendarStatus(clientId, state);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginSetCalendarStatus(System.Guid clientId, HeuristicLab.Hive.Contracts.BusinessObjects.CalendarState state, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginSetCalendarStatus(clientId, state, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Contracts.ResponseObjects.Response EndSetCalendarStatus(System.IAsyncResult result) {
+            return base.Channel.EndSetCalendarStatus(result);
+        }
+        
+        private System.IAsyncResult OnBeginSetCalendarStatus(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            System.Guid clientId = ((System.Guid)(inValues[0]));
+            HeuristicLab.Hive.Contracts.BusinessObjects.CalendarState state = ((HeuristicLab.Hive.Contracts.BusinessObjects.CalendarState)(inValues[1]));
+            return this.BeginSetCalendarStatus(clientId, state, callback, asyncState);
+        }
+        
+        private object[] OnEndSetCalendarStatus(System.IAsyncResult result) {
+            HeuristicLab.Hive.Contracts.ResponseObjects.Response retVal = this.EndSetCalendarStatus(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnSetCalendarStatusCompleted(object state) {
+            if ((this.SetCalendarStatusCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.SetCalendarStatusCompleted(this, new SetCalendarStatusCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void SetCalendarStatusAsync(System.Guid clientId, HeuristicLab.Hive.Contracts.BusinessObjects.CalendarState state) {
+            this.SetCalendarStatusAsync(clientId, state, null);
+        }
+        
+        public void SetCalendarStatusAsync(System.Guid clientId, HeuristicLab.Hive.Contracts.BusinessObjects.CalendarState state, object userState) {
+            if ((this.onBeginSetCalendarStatusDelegate == null)) {
+                this.onBeginSetCalendarStatusDelegate = new BeginOperationDelegate(this.OnBeginSetCalendarStatus);
+            }
+            if ((this.onEndSetCalendarStatusDelegate == null)) {
+                this.onEndSetCalendarStatusDelegate = new EndOperationDelegate(this.OnEndSetCalendarStatus);
+            }
+            if ((this.onSetCalendarStatusCompletedDelegate == null)) {
+                this.onSetCalendarStatusCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnSetCalendarStatusCompleted);
+            }
+            base.InvokeAsync(this.onBeginSetCalendarStatusDelegate, new object[] {
+                        clientId,
+                        state}, this.onEndSetCalendarStatusDelegate, this.onSetCalendarStatusCompletedDelegate, userState);
+        }
+        
+        public System.IO.Stream GetStreamedJob(System.Guid clientId) {
+            return base.Channel.GetStreamedJob(clientId);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginGetStreamedJob(System.Guid clientId, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginGetStreamedJob(clientId, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IO.Stream EndGetStreamedJob(System.IAsyncResult result) {
+            return base.Channel.EndGetStreamedJob(result);
+        }
+        
+        private System.IAsyncResult OnBeginGetStreamedJob(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            System.Guid clientId = ((System.Guid)(inValues[0]));
+            return this.BeginGetStreamedJob(clientId, callback, asyncState);
+        }
+        
+        private object[] OnEndGetStreamedJob(System.IAsyncResult result) {
+            System.IO.Stream retVal = this.EndGetStreamedJob(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnGetStreamedJobCompleted(object state) {
+            if ((this.GetStreamedJobCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.GetStreamedJobCompleted(this, new GetStreamedJobCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void GetStreamedJobAsync(System.Guid clientId) {
+            this.GetStreamedJobAsync(clientId, null);
+        }
+        
+        public void GetStreamedJobAsync(System.Guid clientId, object userState) {
+            if ((this.onBeginGetStreamedJobDelegate == null)) {
+                this.onBeginGetStreamedJobDelegate = new BeginOperationDelegate(this.OnBeginGetStreamedJob);
+            }
+            if ((this.onEndGetStreamedJobDelegate == null)) {
+                this.onEndGetStreamedJobDelegate = new EndOperationDelegate(this.OnEndGetStreamedJob);
+            }
+            if ((this.onGetStreamedJobCompletedDelegate == null)) {
+                this.onGetStreamedJobCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetStreamedJobCompleted);
+            }
+            base.InvokeAsync(this.onBeginGetStreamedJobDelegate, new object[] {
+                        clientId}, this.onEndGetStreamedJobDelegate, this.onGetStreamedJobCompletedDelegate, userState);
+        }
+        
+        public System.IO.Stream GetStreamedPlugins(HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList) {
+            return base.Channel.GetStreamedPlugins(pluginList);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginGetStreamedPlugins(HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginGetStreamedPlugins(pluginList, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IO.Stream EndGetStreamedPlugins(System.IAsyncResult result) {
+            return base.Channel.EndGetStreamedPlugins(result);
+        }
+        
+        private System.IAsyncResult OnBeginGetStreamedPlugins(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList = ((HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[])(inValues[0]));
+            return this.BeginGetStreamedPlugins(pluginList, callback, asyncState);
+        }
+        
+        private object[] OnEndGetStreamedPlugins(System.IAsyncResult result) {
+            System.IO.Stream retVal = this.EndGetStreamedPlugins(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnGetStreamedPluginsCompleted(object state) {
+            if ((this.GetStreamedPluginsCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.GetStreamedPluginsCompleted(this, new GetStreamedPluginsCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void GetStreamedPluginsAsync(HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList) {
+            this.GetStreamedPluginsAsync(pluginList, null);
+        }
+        
+        public void GetStreamedPluginsAsync(HeuristicLab.Hive.Contracts.BusinessObjects.HivePluginInfoDto[] pluginList, object userState) {
+            if ((this.onBeginGetStreamedPluginsDelegate == null)) {
+                this.onBeginGetStreamedPluginsDelegate = new BeginOperationDelegate(this.OnBeginGetStreamedPlugins);
+            }
+            if ((this.onEndGetStreamedPluginsDelegate == null)) {
+                this.onEndGetStreamedPluginsDelegate = new EndOperationDelegate(this.OnEndGetStreamedPlugins);
+            }
+            if ((this.onGetStreamedPluginsCompletedDelegate == null)) {
+                this.onGetStreamedPluginsCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnGetStreamedPluginsCompleted);
+            }
+            base.InvokeAsync(this.onBeginGetStreamedPluginsDelegate, new object[] {
+                        pluginList}, this.onEndGetStreamedPluginsDelegate, this.onGetStreamedPluginsCompletedDelegate, userState);
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived StoreFinishedJobResultStreamed(System.IO.Stream stream) {
+            return base.Channel.StoreFinishedJobResultStreamed(stream);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginStoreFinishedJobResultStreamed(System.IO.Stream stream, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginStoreFinishedJobResultStreamed(stream, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived EndStoreFinishedJobResultStreamed(System.IAsyncResult result) {
+            return base.Channel.EndStoreFinishedJobResultStreamed(result);
+        }
+        
+        private System.IAsyncResult OnBeginStoreFinishedJobResultStreamed(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            System.IO.Stream stream = ((System.IO.Stream)(inValues[0]));
+            return this.BeginStoreFinishedJobResultStreamed(stream, callback, asyncState);
+        }
+        
+        private object[] OnEndStoreFinishedJobResultStreamed(System.IAsyncResult result) {
+            HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived retVal = this.EndStoreFinishedJobResultStreamed(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnStoreFinishedJobResultStreamedCompleted(object state) {
+            if ((this.StoreFinishedJobResultStreamedCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.StoreFinishedJobResultStreamedCompleted(this, new StoreFinishedJobResultStreamedCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void StoreFinishedJobResultStreamedAsync(System.IO.Stream stream) {
+            this.StoreFinishedJobResultStreamedAsync(stream, null);
+        }
+        
+        public void StoreFinishedJobResultStreamedAsync(System.IO.Stream stream, object userState) {
+            if ((this.onBeginStoreFinishedJobResultStreamedDelegate == null)) {
+                this.onBeginStoreFinishedJobResultStreamedDelegate = new BeginOperationDelegate(this.OnBeginStoreFinishedJobResultStreamed);
+            }
+            if ((this.onEndStoreFinishedJobResultStreamedDelegate == null)) {
+                this.onEndStoreFinishedJobResultStreamedDelegate = new EndOperationDelegate(this.OnEndStoreFinishedJobResultStreamed);
+            }
+            if ((this.onStoreFinishedJobResultStreamedCompletedDelegate == null)) {
+                this.onStoreFinishedJobResultStreamedCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnStoreFinishedJobResultStreamedCompleted);
+            }
+            base.InvokeAsync(this.onBeginStoreFinishedJobResultStreamedDelegate, new object[] {
+                        stream}, this.onEndStoreFinishedJobResultStreamedDelegate, this.onStoreFinishedJobResultStreamedCompletedDelegate, userState);
+        }
+        
+        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived ProcessSnapshotStreamed(System.IO.Stream stream) {
+            return base.Channel.ProcessSnapshotStreamed(stream);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public System.IAsyncResult BeginProcessSnapshotStreamed(System.IO.Stream stream, System.AsyncCallback callback, object asyncState) {
+            return base.Channel.BeginProcessSnapshotStreamed(stream, callback, asyncState);
+        }
+        
+        [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+        public HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived EndProcessSnapshotStreamed(System.IAsyncResult result) {
+            return base.Channel.EndProcessSnapshotStreamed(result);
+        }
+        
+        private System.IAsyncResult OnBeginProcessSnapshotStreamed(object[] inValues, System.AsyncCallback callback, object asyncState) {
+            System.IO.Stream stream = ((System.IO.Stream)(inValues[0]));
+            return this.BeginProcessSnapshotStreamed(stream, callback, asyncState);
+        }
+        
+        private object[] OnEndProcessSnapshotStreamed(System.IAsyncResult result) {
+            HeuristicLab.Hive.Contracts.ResponseObjects.ResponseResultReceived retVal = this.EndProcessSnapshotStreamed(result);
+            return new object[] {
+                    retVal};
+        }
+        
+        private void OnProcessSnapshotStreamedCompleted(object state) {
+            if ((this.ProcessSnapshotStreamedCompleted != null)) {
+                InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                this.ProcessSnapshotStreamedCompleted(this, new ProcessSnapshotStreamedCompletedEventArgs(e.Results, e.Error, e.Cancelled, e.UserState));
+            }
+        }
+        
+        public void ProcessSnapshotStreamedAsync(System.IO.Stream stream) {
+            this.ProcessSnapshotStreamedAsync(stream, null);
+        }
+        
+        public void ProcessSnapshotStreamedAsync(System.IO.Stream stream, object userState) {
+            if ((this.onBeginProcessSnapshotStreamedDelegate == null)) {
+                this.onBeginProcessSnapshotStreamedDelegate = new BeginOperationDelegate(this.OnBeginProcessSnapshotStreamed);
+            }
+            if ((this.onEndProcessSnapshotStreamedDelegate == null)) {
+                this.onEndProcessSnapshotStreamedDelegate = new EndOperationDelegate(this.OnEndProcessSnapshotStreamed);
+            }
+            if ((this.onProcessSnapshotStreamedCompletedDelegate == null)) {
+                this.onProcessSnapshotStreamedCompletedDelegate = new System.Threading.SendOrPostCallback(this.OnProcessSnapshotStreamedCompleted);
+            }
+            base.InvokeAsync(this.onBeginProcessSnapshotStreamedDelegate, new object[] {
+                        stream}, this.onEndProcessSnapshotStreamedDelegate, this.onProcessSnapshotStreamedCompletedDelegate, userState);
+        }
+    }
+}
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/Reference.svcmap
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/Reference.svcmap	(revision 4305)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/Reference.svcmap	(revision 4305)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ReferenceGroup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ID="fe6220fd-6424-4b86-8ce6-6cf3e71c9d96" xmlns="urn:schemas-microsoft-com:xml-wcfservicemap">
+  <ClientOptions>
+    <GenerateAsynchronousMethods>true</GenerateAsynchronousMethods>
+    <EnableDataBinding>true</EnableDataBinding>
+    <ExcludedTypes />
+    <ImportXmlTypes>false</ImportXmlTypes>
+    <GenerateInternalTypes>false</GenerateInternalTypes>
+    <GenerateMessageContracts>false</GenerateMessageContracts>
+    <NamespaceMappings />
+    <CollectionMappings />
+    <GenerateSerializableTypes>true</GenerateSerializableTypes>
+    <Serializer>Auto</Serializer>
+    <UseSerializerForFaults>true</UseSerializerForFaults>
+    <ReferenceAllAssemblies>true</ReferenceAllAssemblies>
+    <ReferencedAssemblies />
+    <ReferencedDataContractTypes />
+    <ServiceContractMappings />
+  </ClientOptions>
+  <MetadataSources>
+    <MetadataSource Address="http://localhost:9000/SlaveService" Protocol="http" SourceId="1" />
+  </MetadataSources>
+  <Metadata>
+    <MetadataFile FileName="SlaveService.xsd" MetadataType="Schema" ID="2958ca14-4b99-44a4-87f0-2c447b0e20d5" SourceId="1" SourceUrl="http://localhost:9000/SlaveService?xsd=xsd5" />
+    <MetadataFile FileName="SlaveService.disco" MetadataType="Disco" ID="fa30ccfb-2221-422c-b5d0-c98e8f8ee4c4" SourceId="1" SourceUrl="http://localhost:9000/SlaveService?disco" />
+    <MetadataFile FileName="SlaveService1.xsd" MetadataType="Schema" ID="ff58f22f-9158-4cd0-abcb-754cce4f35ec" SourceId="1" SourceUrl="http://localhost:9000/SlaveService?xsd=xsd7" />
+    <MetadataFile FileName="SlaveService2.xsd" MetadataType="Schema" ID="cd1031d1-e26a-41e2-ae9a-f13ca89c5ff2" SourceId="1" SourceUrl="http://localhost:9000/SlaveService?xsd=xsd1" />
+    <MetadataFile FileName="SlaveFacade.wsdl" MetadataType="Wsdl" ID="b309bbb6-5a49-4529-bde0-aaa4777da64f" SourceId="1" SourceUrl="http://localhost:9000/SlaveService?wsdl" />
+    <MetadataFile FileName="SlaveService3.xsd" MetadataType="Schema" ID="c461449b-de3b-4cbb-9e58-1cb8becedfa7" SourceId="1" SourceUrl="http://localhost:9000/SlaveService?xsd=xsd9" />
+    <MetadataFile FileName="SlaveService4.xsd" MetadataType="Schema" ID="6e57914a-9e5b-4c9d-857d-2d1deac32105" SourceId="1" SourceUrl="http://localhost:9000/SlaveService?xsd=xsd4" />
+    <MetadataFile FileName="SlaveService5.xsd" MetadataType="Schema" ID="9ba06ad0-a496-4292-b67b-c24e588b8928" SourceId="1" SourceUrl="http://localhost:9000/SlaveService?xsd=xsd8" />
+    <MetadataFile FileName="SlaveService6.xsd" MetadataType="Schema" ID="3f5c7b29-fb3f-4af3-a7fa-deebefba48ce" SourceId="1" SourceUrl="http://localhost:9000/SlaveService?xsd=xsd6" />
+    <MetadataFile FileName="SlaveService7.xsd" MetadataType="Schema" ID="25348808-3181-4343-bba3-796e0172b1fd" SourceId="1" SourceUrl="http://localhost:9000/SlaveService?xsd=xsd0" />
+    <MetadataFile FileName="SlaveService8.xsd" MetadataType="Schema" ID="4c7dfc61-c84a-4378-b121-38f8f8f2a86a" SourceId="1" SourceUrl="http://localhost:9000/SlaveService?xsd=xsd3" />
+    <MetadataFile FileName="SlaveService.wsdl" MetadataType="Wsdl" ID="ef494f6e-9864-4628-b3e8-58f471d5d1bd" SourceId="1" SourceUrl="http://localhost:9000/SlaveService?wsdl=wsdl0" />
+    <MetadataFile FileName="SlaveService9.xsd" MetadataType="Schema" ID="c6237b7a-a9fd-42d5-bcc3-bb872bb61485" SourceId="1" SourceUrl="http://localhost:9000/SlaveService?xsd=xsd2" />
+  </Metadata>
+  <Extensions>
+    <ExtensionFile FileName="configuration91.svcinfo" Name="configuration91.svcinfo" />
+    <ExtensionFile FileName="configuration.svcinfo" Name="configuration.svcinfo" />
+  </Extensions>
+</ReferenceGroup>
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveFacade.wsdl
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveFacade.wsdl	(revision 4305)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveFacade.wsdl	(revision 4305)
@@ -0,0 +1,976 @@
+<?xml version="1.0" encoding="utf-8"?>
+<wsdl:definitions xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:tns="http://tempuri.org/" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:i0="http://schemas.microsoft.com/ws/2005/02/mex/bindings" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="SlaveFacade" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SymmetricBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <wsp:Policy>
+            <sp:ProtectionToken>
+              <wsp:Policy>
+                <sp:SecureConversationToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
+                  <wsp:Policy>
+                    <sp:RequireDerivedKeys />
+                    <sp:BootstrapPolicy>
+                      <wsp:Policy>
+                        <sp:SignedParts>
+                          <sp:Body />
+                          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+                          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+                          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+                          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+                          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+                          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+                          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+                        </sp:SignedParts>
+                        <sp:EncryptedParts>
+                          <sp:Body />
+                        </sp:EncryptedParts>
+                        <sp:SymmetricBinding>
+                          <wsp:Policy>
+                            <sp:ProtectionToken>
+                              <wsp:Policy>
+                                <mssp:SslContextToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient" xmlns:mssp="http://schemas.microsoft.com/ws/2005/07/securitypolicy">
+                                  <wsp:Policy>
+                                    <sp:RequireDerivedKeys />
+                                  </wsp:Policy>
+                                </mssp:SslContextToken>
+                              </wsp:Policy>
+                            </sp:ProtectionToken>
+                            <sp:AlgorithmSuite>
+                              <wsp:Policy>
+                                <sp:Basic256 />
+                              </wsp:Policy>
+                            </sp:AlgorithmSuite>
+                            <sp:Layout>
+                              <wsp:Policy>
+                                <sp:Strict />
+                              </wsp:Policy>
+                            </sp:Layout>
+                            <sp:IncludeTimestamp />
+                            <sp:EncryptSignature />
+                            <sp:OnlySignEntireHeadersAndBody />
+                          </wsp:Policy>
+                        </sp:SymmetricBinding>
+                        <sp:SignedSupportingTokens>
+                          <wsp:Policy>
+                            <sp:UsernameToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
+                              <wsp:Policy>
+                                <sp:WssUsernameToken10 />
+                              </wsp:Policy>
+                            </sp:UsernameToken>
+                          </wsp:Policy>
+                        </sp:SignedSupportingTokens>
+                        <sp:Wss11>
+                          <wsp:Policy />
+                        </sp:Wss11>
+                        <sp:Trust10>
+                          <wsp:Policy>
+                            <sp:MustSupportIssuedTokens />
+                            <sp:RequireClientEntropy />
+                            <sp:RequireServerEntropy />
+                          </wsp:Policy>
+                        </sp:Trust10>
+                      </wsp:Policy>
+                    </sp:BootstrapPolicy>
+                  </wsp:Policy>
+                </sp:SecureConversationToken>
+              </wsp:Policy>
+            </sp:ProtectionToken>
+            <sp:AlgorithmSuite>
+              <wsp:Policy>
+                <sp:Basic256 />
+              </wsp:Policy>
+            </sp:AlgorithmSuite>
+            <sp:Layout>
+              <wsp:Policy>
+                <sp:Strict />
+              </wsp:Policy>
+            </sp:Layout>
+            <sp:IncludeTimestamp />
+            <sp:EncryptSignature />
+            <sp:OnlySignEntireHeadersAndBody />
+          </wsp:Policy>
+        </sp:SymmetricBinding>
+        <sp:Wss11 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <wsp:Policy />
+        </sp:Wss11>
+        <sp:Trust10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <wsp:Policy>
+            <sp:MustSupportIssuedTokens />
+            <sp:RequireClientEntropy />
+            <sp:RequireServerEntropy />
+          </wsp:Policy>
+        </sp:Trust10>
+        <wsaw:UsingAddressing />
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_Login_Input_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_Login_output_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_ProcessHeartBeat_Input_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_ProcessHeartBeat_output_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_GetJob_Input_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_GetJob_output_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_StoreFinishedJobResult_Input_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_StoreFinishedJobResult_output_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_ProcessSnapshot_Input_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_ProcessSnapshot_output_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_Logout_Input_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_Logout_output_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_IsJobStillNeeded_Input_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_IsJobStillNeeded_output_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_GetPlugins_Input_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_GetPlugins_output_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_GetCalendar_Input_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_GetCalendar_output_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_SetCalendarStatus_Input_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_SetCalendarStatus_output_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_GetStreamedJob_Input_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_GetStreamedJob_output_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_GetStreamedPlugins_Input_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_GetStreamedPlugins_output_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_StoreFinishedJobResultStreamed_Input_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_StoreFinishedJobResultStreamed_output_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_ProcessSnapshotStreamed_Input_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsp:Policy wsu:Id="SlaveHttpEndpoint_ProcessSnapshotStreamed_output_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+          <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing" />
+          <sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing" />
+        </sp:SignedParts>
+        <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
+          <sp:Body />
+        </sp:EncryptedParts>
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsdl:import namespace="http://schemas.microsoft.com/ws/2005/02/mex/bindings" location="http://localhost:9000/SlaveService?wsdl=wsdl0" />
+  <wsdl:types>
+    <xsd:schema targetNamespace="http://tempuri.org/Imports">
+      <xsd:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd0" namespace="http://tempuri.org/" />
+      <xsd:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+      <xsd:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" />
+      <xsd:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd3" namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" />
+      <xsd:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd4" namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.ResponseObjects" />
+      <xsd:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd5" namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" />
+      <xsd:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd6" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
+      <xsd:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd7" namespace="http://schemas.datacontract.org/2004/07/System" />
+      <xsd:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd8" namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.PluginInfrastructure" />
+      <xsd:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd9" namespace="http://schemas.microsoft.com/Message" />
+    </xsd:schema>
+  </wsdl:types>
+  <wsdl:message name="ISlaveFacade_Login_InputMessage">
+    <wsdl:part name="parameters" element="tns:Login" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_Login_OutputMessage">
+    <wsdl:part name="parameters" element="tns:LoginResponse" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_ProcessHeartBeat_InputMessage">
+    <wsdl:part name="parameters" element="tns:ProcessHeartBeat" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_ProcessHeartBeat_OutputMessage">
+    <wsdl:part name="parameters" element="tns:ProcessHeartBeatResponse" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_GetJob_InputMessage">
+    <wsdl:part name="parameters" element="tns:GetJob" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_GetJob_OutputMessage">
+    <wsdl:part name="parameters" element="tns:GetJobResponse" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_StoreFinishedJobResult_InputMessage">
+    <wsdl:part name="parameters" element="tns:StoreFinishedJobResult" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_StoreFinishedJobResult_OutputMessage">
+    <wsdl:part name="parameters" element="tns:StoreFinishedJobResultResponse" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_ProcessSnapshot_InputMessage">
+    <wsdl:part name="parameters" element="tns:ProcessSnapshot" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_ProcessSnapshot_OutputMessage">
+    <wsdl:part name="parameters" element="tns:ProcessSnapshotResponse" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_Logout_InputMessage">
+    <wsdl:part name="parameters" element="tns:Logout" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_Logout_OutputMessage">
+    <wsdl:part name="parameters" element="tns:LogoutResponse" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_IsJobStillNeeded_InputMessage">
+    <wsdl:part name="parameters" element="tns:IsJobStillNeeded" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_IsJobStillNeeded_OutputMessage">
+    <wsdl:part name="parameters" element="tns:IsJobStillNeededResponse" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_GetPlugins_InputMessage">
+    <wsdl:part name="parameters" element="tns:GetPlugins" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_GetPlugins_OutputMessage">
+    <wsdl:part name="parameters" element="tns:GetPluginsResponse" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_GetCalendar_InputMessage">
+    <wsdl:part name="parameters" element="tns:GetCalendar" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_GetCalendar_OutputMessage">
+    <wsdl:part name="parameters" element="tns:GetCalendarResponse" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_SetCalendarStatus_InputMessage">
+    <wsdl:part name="parameters" element="tns:SetCalendarStatus" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_SetCalendarStatus_OutputMessage">
+    <wsdl:part name="parameters" element="tns:SetCalendarStatusResponse" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_GetStreamedJob_InputMessage">
+    <wsdl:part name="parameters" element="tns:GetStreamedJob" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_GetStreamedJob_OutputMessage">
+    <wsdl:part name="parameters" element="tns:GetStreamedJobResponse" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_GetStreamedPlugins_InputMessage">
+    <wsdl:part name="parameters" element="tns:GetStreamedPlugins" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_GetStreamedPlugins_OutputMessage">
+    <wsdl:part name="parameters" element="tns:GetStreamedPluginsResponse" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_StoreFinishedJobResultStreamed_InputMessage">
+    <wsdl:part name="parameters" element="tns:StoreFinishedJobResultStreamed" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_StoreFinishedJobResultStreamed_OutputMessage">
+    <wsdl:part name="parameters" element="tns:StoreFinishedJobResultStreamedResponse" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_ProcessSnapshotStreamed_InputMessage">
+    <wsdl:part name="parameters" element="tns:ProcessSnapshotStreamed" />
+  </wsdl:message>
+  <wsdl:message name="ISlaveFacade_ProcessSnapshotStreamed_OutputMessage">
+    <wsdl:part name="parameters" element="tns:ProcessSnapshotStreamedResponse" />
+  </wsdl:message>
+  <wsdl:portType name="ISlaveFacade">
+    <wsdl:operation name="Login">
+      <wsdl:input wsaw:Action="http://tempuri.org/ISlaveCommunicator/Login" message="tns:ISlaveFacade_Login_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/ISlaveCommunicator/LoginResponse" message="tns:ISlaveFacade_Login_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="ProcessHeartBeat">
+      <wsdl:input wsaw:Action="http://tempuri.org/ISlaveCommunicator/ProcessHeartBeat" message="tns:ISlaveFacade_ProcessHeartBeat_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/ISlaveCommunicator/ProcessHeartBeatResponse" message="tns:ISlaveFacade_ProcessHeartBeat_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="GetJob">
+      <wsdl:input wsaw:Action="http://tempuri.org/ISlaveCommunicator/GetJob" message="tns:ISlaveFacade_GetJob_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/ISlaveCommunicator/GetJobResponse" message="tns:ISlaveFacade_GetJob_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="StoreFinishedJobResult">
+      <wsdl:input wsaw:Action="http://tempuri.org/ISlaveCommunicator/StoreFinishedJobResult" message="tns:ISlaveFacade_StoreFinishedJobResult_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/ISlaveCommunicator/StoreFinishedJobResultResponse" message="tns:ISlaveFacade_StoreFinishedJobResult_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="ProcessSnapshot">
+      <wsdl:input wsaw:Action="http://tempuri.org/ISlaveCommunicator/ProcessSnapshot" message="tns:ISlaveFacade_ProcessSnapshot_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/ISlaveCommunicator/ProcessSnapshotResponse" message="tns:ISlaveFacade_ProcessSnapshot_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="Logout">
+      <wsdl:input wsaw:Action="http://tempuri.org/ISlaveCommunicator/Logout" message="tns:ISlaveFacade_Logout_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/ISlaveCommunicator/LogoutResponse" message="tns:ISlaveFacade_Logout_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="IsJobStillNeeded">
+      <wsdl:input wsaw:Action="http://tempuri.org/ISlaveCommunicator/IsJobStillNeeded" message="tns:ISlaveFacade_IsJobStillNeeded_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/ISlaveCommunicator/IsJobStillNeededResponse" message="tns:ISlaveFacade_IsJobStillNeeded_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="GetPlugins">
+      <wsdl:input wsaw:Action="http://tempuri.org/ISlaveCommunicator/GetPlugins" message="tns:ISlaveFacade_GetPlugins_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/ISlaveCommunicator/GetPluginsResponse" message="tns:ISlaveFacade_GetPlugins_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="GetCalendar">
+      <wsdl:input wsaw:Action="http://tempuri.org/ISlaveCommunicator/GetCalendar" message="tns:ISlaveFacade_GetCalendar_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/ISlaveCommunicator/GetCalendarResponse" message="tns:ISlaveFacade_GetCalendar_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="SetCalendarStatus">
+      <wsdl:input wsaw:Action="http://tempuri.org/ISlaveCommunicator/SetCalendarStatus" message="tns:ISlaveFacade_SetCalendarStatus_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/ISlaveCommunicator/SetCalendarStatusResponse" message="tns:ISlaveFacade_SetCalendarStatus_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="GetStreamedJob">
+      <wsdl:input wsaw:Action="http://tempuri.org/ISlaveFacade/GetStreamedJob" message="tns:ISlaveFacade_GetStreamedJob_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/ISlaveFacade/GetStreamedJobResponse" message="tns:ISlaveFacade_GetStreamedJob_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="GetStreamedPlugins">
+      <wsdl:input wsaw:Action="http://tempuri.org/ISlaveFacade/GetStreamedPlugins" message="tns:ISlaveFacade_GetStreamedPlugins_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/ISlaveFacade/GetStreamedPluginsResponse" message="tns:ISlaveFacade_GetStreamedPlugins_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="StoreFinishedJobResultStreamed">
+      <wsdl:input wsaw:Action="http://tempuri.org/ISlaveFacade/StoreFinishedJobResultStreamed" message="tns:ISlaveFacade_StoreFinishedJobResultStreamed_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/ISlaveFacade/StoreFinishedJobResultStreamedResponse" message="tns:ISlaveFacade_StoreFinishedJobResultStreamed_OutputMessage" />
+    </wsdl:operation>
+    <wsdl:operation name="ProcessSnapshotStreamed">
+      <wsdl:input wsaw:Action="http://tempuri.org/ISlaveFacade/ProcessSnapshotStreamed" message="tns:ISlaveFacade_ProcessSnapshotStreamed_InputMessage" />
+      <wsdl:output wsaw:Action="http://tempuri.org/ISlaveFacade/ProcessSnapshotStreamedResponse" message="tns:ISlaveFacade_ProcessSnapshotStreamed_OutputMessage" />
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="SlaveHttpEndpoint" type="tns:ISlaveFacade">
+    <wsp:PolicyReference URI="#SlaveHttpEndpoint_policy" />
+    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
+    <wsdl:operation name="Login">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/Login" style="document" />
+      <wsdl:input>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_Login_Input_policy" />
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_Login_output_policy" />
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="ProcessHeartBeat">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/ProcessHeartBeat" style="document" />
+      <wsdl:input>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_ProcessHeartBeat_Input_policy" />
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_ProcessHeartBeat_output_policy" />
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetJob">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/GetJob" style="document" />
+      <wsdl:input>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_GetJob_Input_policy" />
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_GetJob_output_policy" />
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="StoreFinishedJobResult">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/StoreFinishedJobResult" style="document" />
+      <wsdl:input>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_StoreFinishedJobResult_Input_policy" />
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_StoreFinishedJobResult_output_policy" />
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="ProcessSnapshot">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/ProcessSnapshot" style="document" />
+      <wsdl:input>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_ProcessSnapshot_Input_policy" />
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_ProcessSnapshot_output_policy" />
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="Logout">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/Logout" style="document" />
+      <wsdl:input>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_Logout_Input_policy" />
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_Logout_output_policy" />
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="IsJobStillNeeded">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/IsJobStillNeeded" style="document" />
+      <wsdl:input>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_IsJobStillNeeded_Input_policy" />
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_IsJobStillNeeded_output_policy" />
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetPlugins">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/GetPlugins" style="document" />
+      <wsdl:input>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_GetPlugins_Input_policy" />
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_GetPlugins_output_policy" />
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetCalendar">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/GetCalendar" style="document" />
+      <wsdl:input>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_GetCalendar_Input_policy" />
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_GetCalendar_output_policy" />
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="SetCalendarStatus">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/SetCalendarStatus" style="document" />
+      <wsdl:input>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_SetCalendarStatus_Input_policy" />
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_SetCalendarStatus_output_policy" />
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetStreamedJob">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveFacade/GetStreamedJob" style="document" />
+      <wsdl:input>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_GetStreamedJob_Input_policy" />
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_GetStreamedJob_output_policy" />
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetStreamedPlugins">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveFacade/GetStreamedPlugins" style="document" />
+      <wsdl:input>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_GetStreamedPlugins_Input_policy" />
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_GetStreamedPlugins_output_policy" />
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="StoreFinishedJobResultStreamed">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveFacade/StoreFinishedJobResultStreamed" style="document" />
+      <wsdl:input>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_StoreFinishedJobResultStreamed_Input_policy" />
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_StoreFinishedJobResultStreamed_output_policy" />
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="ProcessSnapshotStreamed">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveFacade/ProcessSnapshotStreamed" style="document" />
+      <wsdl:input>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_ProcessSnapshotStreamed_Input_policy" />
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <wsp:PolicyReference URI="#SlaveHttpEndpoint_ProcessSnapshotStreamed_output_policy" />
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="SlaveFacade">
+    <wsdl:port name="SlaveHttpEndpoint" binding="tns:SlaveHttpEndpoint">
+      <soap12:address location="http://localhost:9000/SlaveService" />
+      <wsa10:EndpointReference>
+        <wsa10:Address>http://localhost:9000/SlaveService</wsa10:Address>
+        <Identity xmlns="http://schemas.xmlsoap.org/ws/2006/02/addressingidentity">
+          <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
+            <X509Data>
+              <X509Certificate>MIIB7jCCAVugAwIBAgIQ3s9wqCSCIrRGeccFaiyZ+jAJBgUrDgMCHQUAMBQxEjAQBgNVBAMTCWxvY2FsaG9zdDAeFw0xMDA4MjMxNTU4NDhaFw0zOTEyMzEyMzU5NTlaMBQxEjAQBgNVBAMTCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEApjoMHgel+ErOltsW9oYNcetXIw9k+0jtHJJM5rakYQtlFpcvXQZ6JxSZoPUYzdMupdrWYVczYavA4ApJ94T4ORi91yMGF+D7F8DZnk+ovu7OqxmxErmhDL2DgECUifjE4Ab1wsKNoOZxRyAaj+FuGlNnsm8T+x+HJta0KaGBx40CAwEAAaNJMEcwRQYDVR0BBD4wPIAQEg4TvyBOxX+z6ZAlRfKFKaEWMBQxEjAQBgNVBAMTCWxvY2FsaG9zdIIQ3s9wqCSCIrRGeccFaiyZ+jAJBgUrDgMCHQUAA4GBAIcQM5tyU1e4+dY7YuT+4s0xLO/vOd+JEJaHgCQ8JSqJZHeGTJH9AYnsQtlbdSrJ8VI6ytB22yE82s5L5AJiou3T/uBvt0q1moOZUuDXKD400Mtek98wvROsmn0Wmadf6cYwtwKeOKsKuCo5dphI3hx7HYnv4eJaKME6gvRZS24K</X509Certificate>
+            </X509Data>
+          </KeyInfo>
+        </Identity>
+      </wsa10:EndpointReference>
+    </wsdl:port>
+    <wsdl:port name="SlaveMexEndpoint" binding="i0:SlaveMexEndpoint">
+      <soap12:address location="http://localhost:9000/SlaveService/mex" />
+      <wsa10:EndpointReference>
+        <wsa10:Address>http://localhost:9000/SlaveService/mex</wsa10:Address>
+      </wsa10:EndpointReference>
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService.disco
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService.disco	(revision 4305)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService.disco	(revision 4305)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<discovery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/disco/">
+  <contractRef ref="http://localhost:9000/SlaveService?wsdl" docRef="http://localhost:9000/SlaveService" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
+</discovery>
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService.wsdl
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService.wsdl	(revision 4305)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService.wsdl	(revision 4305)
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="utf-8"?>
+<wsdl:definitions xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:tns="http://schemas.microsoft.com/ws/2005/02/mex/bindings" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:i0="http://tempuri.org/" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://schemas.microsoft.com/ws/2005/02/mex/bindings" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+  <wsp:Policy wsu:Id="SlaveMexEndpoint_policy">
+    <wsp:ExactlyOne>
+      <wsp:All>
+        <wsaw:UsingAddressing />
+      </wsp:All>
+    </wsp:ExactlyOne>
+  </wsp:Policy>
+  <wsdl:import namespace="http://tempuri.org/" location="http://localhost:9000/SlaveService?wsdl" />
+  <wsdl:types />
+  <wsdl:binding name="SlaveMexEndpoint" type="i0:ISlaveFacade">
+    <wsp:PolicyReference URI="#SlaveMexEndpoint_policy" />
+    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
+    <wsdl:operation name="Login">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/Login" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="ProcessHeartBeat">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/ProcessHeartBeat" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetJob">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/GetJob" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="StoreFinishedJobResult">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/StoreFinishedJobResult" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="ProcessSnapshot">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/ProcessSnapshot" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="Logout">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/Logout" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="IsJobStillNeeded">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/IsJobStillNeeded" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetPlugins">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/GetPlugins" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetCalendar">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/GetCalendar" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="SetCalendarStatus">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveCommunicator/SetCalendarStatus" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetStreamedJob">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveFacade/GetStreamedJob" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="GetStreamedPlugins">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveFacade/GetStreamedPlugins" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="StoreFinishedJobResultStreamed">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveFacade/StoreFinishedJobResultStreamed" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="ProcessSnapshotStreamed">
+      <soap12:operation soapAction="http://tempuri.org/ISlaveFacade/ProcessSnapshotStreamed" style="document" />
+      <wsdl:input>
+        <soap12:body use="literal" />
+      </wsdl:input>
+      <wsdl:output>
+        <soap12:body use="literal" />
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+</wsdl:definitions>
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService.xsd
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService.xsd	(revision 4305)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService.xsd	(revision 4305)
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+  <xs:simpleType name="ResponseStatus">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Ok" />
+      <xs:enumeration value="RequestSnapshot_JobIsNotBeeingCalculated" />
+      <xs:enumeration value="RequestSnapshot_SnapshotAlreadyRequested" />
+      <xs:enumeration value="GetJobById_JobDoesNotExist" />
+      <xs:enumeration value="GetJobByIdWithDetails_JobDoesNotExist" />
+      <xs:enumeration value="AddNewJob_JobStateMustBeOffline" />
+      <xs:enumeration value="AddNewJob_JobIdMustNotBeSet" />
+      <xs:enumeration value="AddNewJob_JobNull" />
+      <xs:enumeration value="RemoveJob_JobDoesNotExist" />
+      <xs:enumeration value="GetLastSerializedResult_JobResultNotYetThere" />
+      <xs:enumeration value="AbortJob_JobDoesNotExist" />
+      <xs:enumeration value="AbortJob_AbortAlreadyRequested" />
+      <xs:enumeration value="AbortJob_JobIsNotBeeingCalculated" />
+      <xs:enumeration value="GetCalendar_ResourceNotFound" />
+      <xs:enumeration value="GetCalendar_NoCalendarFound" />
+      <xs:enumeration value="SetCalendarStatus_ResourceNotFound" />
+      <xs:enumeration value="ProcessHeartBeat_UserNotLoggedIn" />
+      <xs:enumeration value="GetJob_NoJobsAvailable" />
+      <xs:enumeration value="ProcessJobResult_JobDoesNotExist" />
+      <xs:enumeration value="ProcessJobResult_JobAborted" />
+      <xs:enumeration value="ProcessJobResult_JobIsNotBeeingCalculated" />
+      <xs:enumeration value="ProcessJobResult_WrongSlaveForJob" />
+      <xs:enumeration value="ProcessJobResult_InvalidJobState" />
+      <xs:enumeration value="Login_LoginFaild" />
+      <xs:enumeration value="Logout_SlaveNotRegistered" />
+      <xs:enumeration value="IsJobStillNeeded_JobDoesNotExist" />
+      <xs:enumeration value="IsJobStillNeeded_JobAlreadyFinished" />
+      <xs:enumeration value="GetPlugins_PluginsNotAvailable" />
+      <xs:enumeration value="AddSlaveGroup_SlaveIdMustNotBeSet" />
+      <xs:enumeration value="AddResourceToGroup_SlaveGroupDoesNotExist" />
+      <xs:enumeration value="DeleteResourceFromGroup_SlaveGroupDoesNotExist" />
+      <xs:enumeration value="GetAllGroupsOfResource_ResourceNotFound" />
+      <xs:enumeration value="DeleteSlaveGroup_SlaveGroupDoesNotExist" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:element name="ResponseStatus" nillable="true" type="tns:ResponseStatus" />
+  <xs:complexType name="ArrayOfMessageContainer">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="MessageContainer" nillable="true" type="tns:MessageContainer" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfMessageContainer" nillable="true" type="tns:ArrayOfMessageContainer" />
+  <xs:complexType name="MessageContainer">
+    <xs:sequence>
+      <xs:element name="_x003C_JobId_x003E_k__BackingField" type="ser:guid" />
+      <xs:element name="_x003C_Message_x003E_k__BackingField" type="tns:MessageContainer.MessageType" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="MessageContainer" nillable="true" type="tns:MessageContainer" />
+  <xs:simpleType name="MessageContainer.MessageType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="FetchJob" />
+      <xs:enumeration value="AbortJob" />
+      <xs:enumeration value="JobAborted" />
+      <xs:enumeration value="RequestSnapshot" />
+      <xs:enumeration value="FinishedJob" />
+      <xs:enumeration value="NoMessage" />
+      <xs:enumeration value="SnapshotReady" />
+      <xs:enumeration value="Shutdown" />
+      <xs:enumeration value="JobFailed" />
+      <xs:enumeration value="UptimeLimitDisconnect" />
+      <xs:enumeration value="FetchOrForceFetchCalendar" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:element name="MessageContainer.MessageType" nillable="true" type="tns:MessageContainer.MessageType" />
+</xs:schema>
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService1.xsd
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService1.xsd	(revision 4305)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService1.xsd	(revision 4305)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/System" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/System" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:complexType name="Version">
+    <xs:sequence>
+      <xs:element name="_Build" type="xs:int" />
+      <xs:element name="_Major" type="xs:int" />
+      <xs:element name="_Minor" type="xs:int" />
+      <xs:element name="_Revision" type="xs:int" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="Version" nillable="true" type="tns:Version" />
+</xs:schema>
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService2.xsd
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService2.xsd	(revision 4305)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService2.xsd	(revision 4305)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:element name="anyType" nillable="true" type="xs:anyType" />
+  <xs:element name="anyURI" nillable="true" type="xs:anyURI" />
+  <xs:element name="base64Binary" nillable="true" type="xs:base64Binary" />
+  <xs:element name="boolean" nillable="true" type="xs:boolean" />
+  <xs:element name="byte" nillable="true" type="xs:byte" />
+  <xs:element name="dateTime" nillable="true" type="xs:dateTime" />
+  <xs:element name="decimal" nillable="true" type="xs:decimal" />
+  <xs:element name="double" nillable="true" type="xs:double" />
+  <xs:element name="float" nillable="true" type="xs:float" />
+  <xs:element name="int" nillable="true" type="xs:int" />
+  <xs:element name="long" nillable="true" type="xs:long" />
+  <xs:element name="QName" nillable="true" type="xs:QName" />
+  <xs:element name="short" nillable="true" type="xs:short" />
+  <xs:element name="string" nillable="true" type="xs:string" />
+  <xs:element name="unsignedByte" nillable="true" type="xs:unsignedByte" />
+  <xs:element name="unsignedInt" nillable="true" type="xs:unsignedInt" />
+  <xs:element name="unsignedLong" nillable="true" type="xs:unsignedLong" />
+  <xs:element name="unsignedShort" nillable="true" type="xs:unsignedShort" />
+  <xs:element name="char" nillable="true" type="tns:char" />
+  <xs:simpleType name="char">
+    <xs:restriction base="xs:int" />
+  </xs:simpleType>
+  <xs:element name="duration" nillable="true" type="tns:duration" />
+  <xs:simpleType name="duration">
+    <xs:restriction base="xs:duration">
+      <xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?" />
+      <xs:minInclusive value="-P10675199DT2H48M5.4775808S" />
+      <xs:maxInclusive value="P10675199DT2H48M5.4775807S" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:element name="guid" nillable="true" type="tns:guid" />
+  <xs:simpleType name="guid">
+    <xs:restriction base="xs:string">
+      <xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:attribute name="FactoryType" type="xs:QName" />
+  <xs:attribute name="Id" type="xs:ID" />
+  <xs:attribute name="Ref" type="xs:IDREF" />
+</xs:schema>
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService3.xsd
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService3.xsd	(revision 4305)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService3.xsd	(revision 4305)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.microsoft.com/Message" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/Message" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:simpleType name="StreamBody">
+    <xs:restriction base="xs:base64Binary" />
+  </xs:simpleType>
+</xs:schema>
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService4.xsd
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService4.xsd	(revision 4305)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService4.xsd	(revision 4305)
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.ResponseObjects" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.ResponseObjects" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd5" namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" />
+  <xs:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" />
+  <xs:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+  <xs:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd8" namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.PluginInfrastructure" />
+  <xs:complexType name="Response">
+    <xs:sequence>
+      <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="StatusMessage" type="q1:ResponseStatus" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="Response" nillable="true" type="tns:Response" />
+  <xs:complexType name="ResponseHeartBeat">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:Response">
+        <xs:sequence>
+          <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts" minOccurs="0" name="ActionRequest" nillable="true" type="q2:ArrayOfMessageContainer" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="ResponseHeartBeat" nillable="true" type="tns:ResponseHeartBeat" />
+  <xs:complexType name="ResponseObjectOfJobDtoZAa7YIsz">
+    <xs:annotation>
+      <xs:appinfo>
+        <GenericType Name="ResponseObjectOf{0}{#}" Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.ResponseObjects" xmlns="http://schemas.microsoft.com/2003/10/Serialization/">
+          <GenericParameter Name="JobDto" Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" />
+        </GenericType>
+      </xs:appinfo>
+    </xs:annotation>
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:Response">
+        <xs:sequence>
+          <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" minOccurs="0" name="Obj" nillable="true" type="q3:JobDto" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="ResponseObjectOfJobDtoZAa7YIsz" nillable="true" type="tns:ResponseObjectOfJobDtoZAa7YIsz" />
+  <xs:complexType name="ResponseResultReceived">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:Response">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="Finished" type="xs:boolean" />
+          <xs:element minOccurs="0" name="JobId" type="ser:guid" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="ResponseResultReceived" nillable="true" type="tns:ResponseResultReceived" />
+  <xs:complexType name="ResponseListOfCachedHivePluginInfoDtoZMwZop09">
+    <xs:annotation>
+      <xs:appinfo>
+        <GenericType Name="ResponseListOf{0}{#}" Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.ResponseObjects" xmlns="http://schemas.microsoft.com/2003/10/Serialization/">
+          <GenericParameter Name="CachedHivePluginInfoDto" Namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.PluginInfrastructure" />
+        </GenericType>
+      </xs:appinfo>
+    </xs:annotation>
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:Response">
+        <xs:sequence>
+          <xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/HeuristicLab.PluginInfrastructure" minOccurs="0" name="List" nillable="true" type="q4:ArrayOfCachedHivePluginInfoDto" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="ResponseListOfCachedHivePluginInfoDtoZMwZop09" nillable="true" type="tns:ResponseListOfCachedHivePluginInfoDtoZMwZop09" />
+  <xs:complexType name="ResponseCalendar">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:Response">
+        <xs:sequence>
+          <xs:element xmlns:q5="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" minOccurs="0" name="Appointments" nillable="true" type="q5:ArrayOfAppointmentDto" />
+          <xs:element minOccurs="0" name="ForceFetch" type="xs:boolean" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="ResponseCalendar" nillable="true" type="tns:ResponseCalendar" />
+</xs:schema>
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService5.xsd
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService5.xsd	(revision 4305)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService5.xsd	(revision 4305)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/HeuristicLab.PluginInfrastructure" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HeuristicLab.PluginInfrastructure" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" />
+  <xs:complexType name="ArrayOfCachedHivePluginInfoDto">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="CachedHivePluginInfoDto" nillable="true" type="tns:CachedHivePluginInfoDto" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfCachedHivePluginInfoDto" nillable="true" type="tns:ArrayOfCachedHivePluginInfoDto" />
+  <xs:complexType name="CachedHivePluginInfoDto">
+    <xs:complexContent mixed="false">
+      <xs:extension xmlns:q1="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" base="q1:HivePluginInfoDto">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="PluginFiles" nillable="true" type="q1:ArrayOfHivePluginFile" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="CachedHivePluginInfoDto" nillable="true" type="tns:CachedHivePluginInfoDto" />
+</xs:schema>
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService6.xsd
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService6.xsd	(revision 4305)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService6.xsd	(revision 4305)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/Arrays" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+  <xs:complexType name="ArrayOfKeyValueOfguiddouble">
+    <xs:annotation>
+      <xs:appinfo>
+        <IsDictionary xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</IsDictionary>
+      </xs:appinfo>
+    </xs:annotation>
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="KeyValueOfguiddouble">
+        <xs:complexType>
+          <xs:sequence>
+            <xs:element name="Key" type="ser:guid" />
+            <xs:element name="Value" type="xs:double" />
+          </xs:sequence>
+        </xs:complexType>
+      </xs:element>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfKeyValueOfguiddouble" nillable="true" type="tns:ArrayOfKeyValueOfguiddouble" />
+  <xs:complexType name="ArrayOfguid">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="guid" type="ser:guid" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfguid" nillable="true" type="tns:ArrayOfguid" />
+</xs:schema>
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService7.xsd
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService7.xsd	(revision 4305)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService7.xsd	(revision 4305)
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:tns="http://tempuri.org/" elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" />
+  <xs:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd4" namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.ResponseObjects" />
+  <xs:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+  <xs:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd9" namespace="http://schemas.microsoft.com/Message" />
+  <xs:element name="Login">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q1="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" minOccurs="0" name="slave" nillable="true" type="q1:SlaveDto" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="LoginResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q2="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.ResponseObjects" minOccurs="0" name="LoginResult" nillable="true" type="q2:Response" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ProcessHeartBeat">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q3="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" minOccurs="0" name="hbData" nillable="true" type="q3:HeartBeatData" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ProcessHeartBeatResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.ResponseObjects" minOccurs="0" name="ProcessHeartBeatResult" nillable="true" type="q4:ResponseHeartBeat" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GetJob">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q5="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="clientId" type="q5:guid" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GetJobResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q6="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.ResponseObjects" minOccurs="0" name="GetJobResult" nillable="true" type="q6:ResponseObjectOfJobDtoZAa7YIsz" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="StoreFinishedJobResult">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q7="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="clientId" type="q7:guid" />
+        <xs:element xmlns:q8="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="jobId" type="q8:guid" />
+        <xs:element minOccurs="0" name="result" nillable="true" type="xs:base64Binary" />
+        <xs:element minOccurs="0" name="percentage" type="xs:double" />
+        <xs:element minOccurs="0" name="exception" nillable="true" type="xs:string" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="StoreFinishedJobResultResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q9="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.ResponseObjects" minOccurs="0" name="StoreFinishedJobResultResult" nillable="true" type="q9:ResponseResultReceived" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ProcessSnapshot">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q10="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="clientId" type="q10:guid" />
+        <xs:element xmlns:q11="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="jobId" type="q11:guid" />
+        <xs:element minOccurs="0" name="result" nillable="true" type="xs:base64Binary" />
+        <xs:element minOccurs="0" name="percentage" type="xs:double" />
+        <xs:element minOccurs="0" name="exception" nillable="true" type="xs:string" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ProcessSnapshotResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q12="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.ResponseObjects" minOccurs="0" name="ProcessSnapshotResult" nillable="true" type="q12:ResponseResultReceived" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="Logout">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q13="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="clientId" type="q13:guid" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="LogoutResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q14="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.ResponseObjects" minOccurs="0" name="LogoutResult" nillable="true" type="q14:Response" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="IsJobStillNeeded">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q15="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="jobId" type="q15:guid" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="IsJobStillNeededResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q16="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.ResponseObjects" minOccurs="0" name="IsJobStillNeededResult" nillable="true" type="q16:Response" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GetPlugins">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q17="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" minOccurs="0" name="pluginList" nillable="true" type="q17:ArrayOfHivePluginInfoDto" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GetPluginsResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q18="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.ResponseObjects" minOccurs="0" name="GetPluginsResult" nillable="true" type="q18:ResponseListOfCachedHivePluginInfoDtoZMwZop09" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GetCalendar">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q19="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="clientId" type="q19:guid" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GetCalendarResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q20="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.ResponseObjects" minOccurs="0" name="GetCalendarResult" nillable="true" type="q20:ResponseCalendar" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SetCalendarStatus">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q21="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="clientId" type="q21:guid" />
+        <xs:element xmlns:q22="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" minOccurs="0" name="state" type="q22:CalendarState" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="SetCalendarStatusResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q23="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.ResponseObjects" minOccurs="0" name="SetCalendarStatusResult" nillable="true" type="q23:Response" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GetStreamedJob">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q24="http://schemas.microsoft.com/2003/10/Serialization/" minOccurs="0" name="clientId" type="q24:guid" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GetStreamedJobResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q25="http://schemas.microsoft.com/Message" name="GetStreamedJobResult" type="q25:StreamBody" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GetStreamedPlugins">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q26="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" minOccurs="0" name="pluginList" nillable="true" type="q26:ArrayOfHivePluginInfoDto" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="GetStreamedPluginsResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q27="http://schemas.microsoft.com/Message" name="GetStreamedPluginsResult" type="q27:StreamBody" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="StoreFinishedJobResultStreamed">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q28="http://schemas.microsoft.com/Message" name="stream" type="q28:StreamBody" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="StoreFinishedJobResultStreamedResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q29="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.ResponseObjects" minOccurs="0" name="StoreFinishedJobResultStreamedResult" nillable="true" type="q29:ResponseResultReceived" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ProcessSnapshotStreamed">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q30="http://schemas.microsoft.com/Message" name="stream" type="q30:StreamBody" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ProcessSnapshotStreamedResponse">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element xmlns:q31="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.ResponseObjects" minOccurs="0" name="ProcessSnapshotStreamedResult" nillable="true" type="q31:ResponseResultReceived" />
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService8.xsd
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService8.xsd	(revision 4305)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService8.xsd	(revision 4305)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+  <xs:complexType name="PersistableObject">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="Id" type="ser:guid" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="PersistableObject" nillable="true" type="tns:PersistableObject" />
+</xs:schema>
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService9.xsd
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService9.xsd	(revision 4305)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/SlaveService9.xsd	(revision 4305)
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/HeuristicLab.Hive.Contracts.BusinessObjects" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd3" namespace="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" />
+  <xs:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd6" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
+  <xs:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
+  <xs:import schemaLocation="http://localhost:9000/SlaveService?xsd=xsd7" namespace="http://schemas.datacontract.org/2004/07/System" />
+  <xs:complexType name="SlaveDto">
+    <xs:complexContent mixed="false">
+      <xs:extension base="tns:ResourceDto">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="CalendarSyncStatus" type="tns:CalendarState" />
+          <xs:element minOccurs="0" name="Config" nillable="true" type="tns:SlaveConfigDto" />
+          <xs:element minOccurs="0" name="CpuSpeedPerCore" nillable="true" type="xs:int" />
+          <xs:element minOccurs="0" name="FreeMemory" type="xs:int" />
+          <xs:element minOccurs="0" name="IsAllowedToCalculate" type="xs:boolean" />
+          <xs:element minOccurs="0" name="Login" nillable="true" type="xs:dateTime" />
+          <xs:element minOccurs="0" name="Memory" type="xs:int" />
+          <xs:element minOccurs="0" name="NrOfCores" type="xs:int" />
+          <xs:element minOccurs="0" name="NrOfFreeCores" type="xs:int" />
+          <xs:element minOccurs="0" name="State" type="tns:SlaveState" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="SlaveDto" nillable="true" type="tns:SlaveDto" />
+  <xs:complexType name="ResourceDto">
+    <xs:complexContent mixed="false">
+      <xs:extension xmlns:q1="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" base="q1:PersistableObject">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="ResourceDto" nillable="true" type="tns:ResourceDto" />
+  <xs:simpleType name="CalendarState">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Fetch" />
+      <xs:enumeration value="ForceFetch" />
+      <xs:enumeration value="Fetching" />
+      <xs:enumeration value="Fetched" />
+      <xs:enumeration value="NotAllowedToFetch" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:element name="CalendarState" nillable="true" type="tns:CalendarState" />
+  <xs:complexType name="SlaveConfigDto">
+    <xs:complexContent mixed="false">
+      <xs:extension xmlns:q2="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" base="q2:PersistableObject">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="HeartBeatIntervall" nillable="true" type="xs:int" />
+          <xs:element minOccurs="0" name="UpDownTimeCalendar" nillable="true" type="xs:string" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="SlaveConfigDto" nillable="true" type="tns:SlaveConfigDto" />
+  <xs:simpleType name="SlaveState">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="NullState" />
+      <xs:enumeration value="Idle" />
+      <xs:enumeration value="Calculating" />
+      <xs:enumeration value="Offline" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:element name="SlaveState" nillable="true" type="tns:SlaveState" />
+  <xs:complexType name="HeartBeatData">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="FreeCores" type="xs:int" />
+      <xs:element minOccurs="0" name="FreeMemory" type="xs:int" />
+      <xs:element minOccurs="0" name="IsAllowedToCalculate" type="xs:boolean" />
+      <xs:element xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="JobProgress" nillable="true" type="q3:ArrayOfKeyValueOfguiddouble" />
+      <xs:element minOccurs="0" name="SlaveId" type="ser:guid" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="HeartBeatData" nillable="true" type="tns:HeartBeatData" />
+  <xs:complexType name="JobDto">
+    <xs:complexContent mixed="false">
+      <xs:extension xmlns:q4="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" base="q4:PersistableObject">
+        <xs:sequence>
+          <xs:element xmlns:q5="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="AssignedResourceIds" nillable="true" type="q5:ArrayOfguid" />
+          <xs:element minOccurs="0" name="CoresNeeded" type="xs:int" />
+          <xs:element minOccurs="0" name="DateCalculated" nillable="true" type="xs:dateTime" />
+          <xs:element minOccurs="0" name="DateCreated" nillable="true" type="xs:dateTime" />
+          <xs:element minOccurs="0" name="DateFinished" nillable="true" type="xs:dateTime" />
+          <xs:element minOccurs="0" name="Exception" nillable="true" type="xs:string" />
+          <xs:element minOccurs="0" name="MemoryNeeded" type="xs:int" />
+          <xs:element minOccurs="0" name="ParentJob" nillable="true" type="tns:JobDto" />
+          <xs:element minOccurs="0" name="Percentage" nillable="true" type="xs:double" />
+          <xs:element minOccurs="0" name="PluginsNeeded" nillable="true" type="tns:ArrayOfHivePluginInfoDto" />
+          <xs:element minOccurs="0" name="Priority" type="xs:int" />
+          <xs:element minOccurs="0" name="Project" nillable="true" type="tns:ProjectDto" />
+          <xs:element minOccurs="0" name="Slave" nillable="true" type="tns:SlaveDto" />
+          <xs:element minOccurs="0" name="State" type="tns:JobState" />
+          <xs:element minOccurs="0" name="UserId" type="ser:guid" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="JobDto" nillable="true" type="tns:JobDto" />
+  <xs:complexType name="ArrayOfHivePluginInfoDto">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="HivePluginInfoDto" nillable="true" type="tns:HivePluginInfoDto" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfHivePluginInfoDto" nillable="true" type="tns:ArrayOfHivePluginInfoDto" />
+  <xs:complexType name="HivePluginInfoDto">
+    <xs:complexContent mixed="false">
+      <xs:extension xmlns:q6="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" base="q6:PersistableObject">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
+          <xs:element minOccurs="0" name="Update" type="xs:boolean" />
+          <xs:element xmlns:q7="http://schemas.datacontract.org/2004/07/System" minOccurs="0" name="Version" nillable="true" type="q7:Version" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="HivePluginInfoDto" nillable="true" type="tns:HivePluginInfoDto" />
+  <xs:complexType name="ProjectDto">
+    <xs:complexContent mixed="false">
+      <xs:extension xmlns:q8="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" base="q8:PersistableObject">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="ProjectDto" nillable="true" type="tns:ProjectDto" />
+  <xs:simpleType name="JobState">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="Calculating" />
+      <xs:enumeration value="Offline" />
+      <xs:enumeration value="Finished" />
+      <xs:enumeration value="Aborted" />
+      <xs:enumeration value="SnapshotRequested" />
+      <xs:enumeration value="SnapshotSent" />
+      <xs:enumeration value="Pending" />
+      <xs:enumeration value="Failed" />
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:element name="JobState" nillable="true" type="tns:JobState" />
+  <xs:complexType name="ArrayOfHivePluginFile">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="HivePluginFile" nillable="true" type="tns:HivePluginFile" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfHivePluginFile" nillable="true" type="tns:ArrayOfHivePluginFile" />
+  <xs:complexType name="HivePluginFile">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="BinaryFile" nillable="true" type="xs:base64Binary" />
+      <xs:element minOccurs="0" name="Name" nillable="true" type="xs:string" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="HivePluginFile" nillable="true" type="tns:HivePluginFile" />
+  <xs:complexType name="ArrayOfAppointmentDto">
+    <xs:sequence>
+      <xs:element minOccurs="0" maxOccurs="unbounded" name="AppointmentDto" nillable="true" type="tns:AppointmentDto" />
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="ArrayOfAppointmentDto" nillable="true" type="tns:ArrayOfAppointmentDto" />
+  <xs:complexType name="AppointmentDto">
+    <xs:complexContent mixed="false">
+      <xs:extension xmlns:q9="http://schemas.datacontract.org/2004/07/HeuristicLab.DataAccess" base="q9:PersistableObject">
+        <xs:sequence>
+          <xs:element minOccurs="0" name="AllDayEvent" type="xs:boolean" />
+          <xs:element minOccurs="0" name="EndDate" type="xs:dateTime" />
+          <xs:element minOccurs="0" name="Recurring" type="xs:boolean" />
+          <xs:element minOccurs="0" name="RecurringId" type="ser:guid" />
+          <xs:element minOccurs="0" name="ResourceId" type="ser:guid" />
+          <xs:element minOccurs="0" name="StartDate" type="xs:dateTime" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+  <xs:element name="AppointmentDto" nillable="true" type="tns:AppointmentDto" />
+</xs:schema>
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/configuration.svcinfo
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/configuration.svcinfo	(revision 4305)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/configuration.svcinfo	(revision 4305)
@@ -0,0 +1,12 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<configurationSnapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:schemas-microsoft-com:xml-wcfconfigurationsnapshot">
+  <behaviors />
+  <bindings>
+    <binding digest="System.ServiceModel.Configuration.WSHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data hostNameComparisonMode=&quot;StrongWildcard&quot; messageEncoding=&quot;Text&quot; name=&quot;SlaveHttpEndpoint&quot; textEncoding=&quot;utf-8&quot; transactionFlow=&quot;false&quot;&gt;&lt;readerQuotas maxArrayLength=&quot;16384&quot; maxBytesPerRead=&quot;4096&quot; maxDepth=&quot;32&quot; maxNameTableCharCount=&quot;16384&quot; maxStringContentLength=&quot;8192&quot; /&gt;&lt;reliableSession enabled=&quot;false&quot; inactivityTimeout=&quot;00:10:00&quot; ordered=&quot;true&quot; /&gt;&lt;security mode=&quot;Message&quot;&gt;&lt;message algorithmSuite=&quot;Default&quot; clientCredentialType=&quot;UserName&quot; negotiateServiceCredential=&quot;true&quot; /&gt;&lt;transport clientCredentialType=&quot;Windows&quot; proxyCredentialType=&quot;None&quot; realm=&quot;&quot; /&gt;&lt;/security&gt;&lt;/Data&gt;" bindingType="wsHttpBinding" name="SlaveHttpEndpoint" />
+    <binding digest="System.ServiceModel.Configuration.WSHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data hostNameComparisonMode=&quot;StrongWildcard&quot; messageEncoding=&quot;Text&quot; name=&quot;SlaveMexEndpoint&quot; textEncoding=&quot;utf-8&quot; transactionFlow=&quot;false&quot;&gt;&lt;readerQuotas maxArrayLength=&quot;16384&quot; maxBytesPerRead=&quot;4096&quot; maxDepth=&quot;32&quot; maxNameTableCharCount=&quot;16384&quot; maxStringContentLength=&quot;8192&quot; /&gt;&lt;reliableSession enabled=&quot;false&quot; inactivityTimeout=&quot;00:10:00&quot; ordered=&quot;true&quot; /&gt;&lt;security mode=&quot;None&quot;&gt;&lt;message clientCredentialType=&quot;Windows&quot; negotiateServiceCredential=&quot;true&quot; /&gt;&lt;transport clientCredentialType=&quot;Windows&quot; proxyCredentialType=&quot;None&quot; realm=&quot;&quot; /&gt;&lt;/security&gt;&lt;/Data&gt;" bindingType="wsHttpBinding" name="SlaveMexEndpoint" />
+  </bindings>
+  <endpoints>
+    <endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://localhost:9000/SlaveService&quot; binding=&quot;wsHttpBinding&quot; bindingConfiguration=&quot;SlaveHttpEndpoint&quot; contract=&quot;SlaveService.ISlaveFacade&quot; name=&quot;SlaveHttpEndpoint&quot;&gt;&lt;identity&gt;&lt;certificate encodedValue=&quot;AwAAAAEAAAAUAAAAeBLH/0jWrlsW42fIC8VIIdAE6PUgAAAAAQAAAPIBAAAwggHuMIIBW6ADAgECAhDez3CoJIIitEZ5xwVqLJn6MAkGBSsOAwIdBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTEwMDgyMzE1NTg0OFoXDTM5MTIzMTIzNTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmOgweB6X4Ss6W2xb2hg1x61cjD2T7SO0ckkzmtqRhC2UWly9dBnonFJmg9RjN0y6l2tZhVzNhq8DgCkn3hPg5GL3XIwYX4PsXwNmeT6i+7s6rGbESuaEMvYOAQJSJ+MTgBvXCwo2g5nFHIBqP4W4aU2eybxP7H4cm1rQpoYHHjQIDAQABo0kwRzBFBgNVHQEEPjA8gBASDhO/IE7Ff7PpkCVF8oUpoRYwFDESMBAGA1UEAxMJbG9jYWxob3N0ghDez3CoJIIitEZ5xwVqLJn6MAkGBSsOAwIdBQADgYEAhxAzm3JTV7j51jti5P7izTEs7+8534kQloeAJDwlKolkd4ZMkf0BiexC2Vt1KsnxUjrK0HbbITzazkvkAmKi7dP+4G+3SrWag5lS4NcoPjTQy16T3zC9E6yafRaZp1/pxjC3Ap44qwq4Kjl2mEjeHHsdie/h4loowTqC9FlLbgo=&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://localhost:9000/SlaveService&quot; binding=&quot;wsHttpBinding&quot; bindingConfiguration=&quot;SlaveHttpEndpoint&quot; contract=&quot;SlaveService.ISlaveFacade&quot; name=&quot;SlaveHttpEndpoint&quot;&gt;&lt;identity&gt;&lt;certificate encodedValue=&quot;AwAAAAEAAAAUAAAAeBLH/0jWrlsW42fIC8VIIdAE6PUgAAAAAQAAAPIBAAAwggHuMIIBW6ADAgECAhDez3CoJIIitEZ5xwVqLJn6MAkGBSsOAwIdBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTEwMDgyMzE1NTg0OFoXDTM5MTIzMTIzNTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmOgweB6X4Ss6W2xb2hg1x61cjD2T7SO0ckkzmtqRhC2UWly9dBnonFJmg9RjN0y6l2tZhVzNhq8DgCkn3hPg5GL3XIwYX4PsXwNmeT6i+7s6rGbESuaEMvYOAQJSJ+MTgBvXCwo2g5nFHIBqP4W4aU2eybxP7H4cm1rQpoYHHjQIDAQABo0kwRzBFBgNVHQEEPjA8gBASDhO/IE7Ff7PpkCVF8oUpoRYwFDESMBAGA1UEAxMJbG9jYWxob3N0ghDez3CoJIIitEZ5xwVqLJn6MAkGBSsOAwIdBQADgYEAhxAzm3JTV7j51jti5P7izTEs7+8534kQloeAJDwlKolkd4ZMkf0BiexC2Vt1KsnxUjrK0HbbITzazkvkAmKi7dP+4G+3SrWag5lS4NcoPjTQy16T3zC9E6yafRaZp1/pxjC3Ap44qwq4Kjl2mEjeHHsdie/h4loowTqC9FlLbgo=&quot; /&gt;&lt;/identity&gt;&lt;/Data&gt;" contractName="SlaveService.ISlaveFacade" name="SlaveHttpEndpoint" />
+    <endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://localhost:9000/SlaveService/mex&quot; binding=&quot;wsHttpBinding&quot; bindingConfiguration=&quot;SlaveMexEndpoint&quot; contract=&quot;SlaveService.ISlaveFacade&quot; name=&quot;SlaveMexEndpoint&quot; /&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;http://localhost:9000/SlaveService/mex&quot; binding=&quot;wsHttpBinding&quot; bindingConfiguration=&quot;SlaveMexEndpoint&quot; contract=&quot;SlaveService.ISlaveFacade&quot; name=&quot;SlaveMexEndpoint&quot; /&gt;" contractName="SlaveService.ISlaveFacade" name="SlaveMexEndpoint" />
+  </endpoints>
+</configurationSnapshot>
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/configuration91.svcinfo
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/configuration91.svcinfo	(revision 4305)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/Service References/SlaveService/configuration91.svcinfo	(revision 4305)
@@ -0,0 +1,425 @@
+<?xml version="1.0" encoding="utf-8"?>
+<SavedWcfConfigurationInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="9.1" CheckSum="qLWn3fCZTwKyYJV5+O0lOFyiNpQ=">
+  <bindingConfigurations>
+    <bindingConfiguration bindingType="wsHttpBinding" name="SlaveHttpEndpoint">
+      <properties>
+        <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>SlaveHttpEndpoint</serializedValue>
+        </property>
+        <property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>00:01:00</serializedValue>
+        </property>
+        <property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>00:01:00</serializedValue>
+        </property>
+        <property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>00:10:00</serializedValue>
+        </property>
+        <property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>00:01:00</serializedValue>
+        </property>
+        <property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>False</serializedValue>
+        </property>
+        <property path="/transactionFlow" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>False</serializedValue>
+        </property>
+        <property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>StrongWildcard</serializedValue>
+        </property>
+        <property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>524288</serializedValue>
+        </property>
+        <property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>65536</serializedValue>
+        </property>
+        <property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Text</serializedValue>
+        </property>
+        <property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>32</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>8192</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>16384</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>4096</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>16384</serializedValue>
+        </property>
+        <property path="/reliableSession" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.StandardBindingOptionalReliableSessionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.StandardBindingOptionalReliableSessionElement</serializedValue>
+        </property>
+        <property path="/reliableSession/ordered" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>True</serializedValue>
+        </property>
+        <property path="/reliableSession/inactivityTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>00:10:00</serializedValue>
+        </property>
+        <property path="/reliableSession/enabled" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>False</serializedValue>
+        </property>
+        <property path="/textEncoding" isComplexType="false" isExplicitlyDefined="true" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.Text.UTF8Encoding</serializedValue>
+        </property>
+        <property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>True</serializedValue>
+        </property>
+        <property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>False</serializedValue>
+        </property>
+        <property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.WSHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.WSHttpSecurityElement</serializedValue>
+        </property>
+        <property path="/security/mode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.SecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Message</serializedValue>
+        </property>
+        <property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.WSHttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.WSHttpTransportSecurityElement</serializedValue>
+        </property>
+        <property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Windows</serializedValue>
+        </property>
+        <property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>None</serializedValue>
+        </property>
+        <property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
+        </property>
+        <property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Never</serializedValue>
+        </property>
+        <property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>TransportSelected</serializedValue>
+        </property>
+        <property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>(Collection)</serializedValue>
+        </property>
+        <property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.NonDualMessageSecurityOverHttpElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.NonDualMessageSecurityOverHttpElement</serializedValue>
+        </property>
+        <property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.MessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>UserName</serializedValue>
+        </property>
+        <property path="/security/message/negotiateServiceCredential" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>True</serializedValue>
+        </property>
+        <property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Default</serializedValue>
+        </property>
+        <property path="/security/message/establishSecurityContext" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>True</serializedValue>
+        </property>
+      </properties>
+    </bindingConfiguration>
+    <bindingConfiguration bindingType="wsHttpBinding" name="SlaveMexEndpoint">
+      <properties>
+        <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>SlaveMexEndpoint</serializedValue>
+        </property>
+        <property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>00:01:00</serializedValue>
+        </property>
+        <property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>00:01:00</serializedValue>
+        </property>
+        <property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>00:10:00</serializedValue>
+        </property>
+        <property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>00:01:00</serializedValue>
+        </property>
+        <property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>False</serializedValue>
+        </property>
+        <property path="/transactionFlow" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>False</serializedValue>
+        </property>
+        <property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>StrongWildcard</serializedValue>
+        </property>
+        <property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>524288</serializedValue>
+        </property>
+        <property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>65536</serializedValue>
+        </property>
+        <property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Text</serializedValue>
+        </property>
+        <property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>32</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>8192</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>16384</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>4096</serializedValue>
+        </property>
+        <property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>16384</serializedValue>
+        </property>
+        <property path="/reliableSession" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.StandardBindingOptionalReliableSessionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.StandardBindingOptionalReliableSessionElement</serializedValue>
+        </property>
+        <property path="/reliableSession/ordered" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>True</serializedValue>
+        </property>
+        <property path="/reliableSession/inactivityTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>00:10:00</serializedValue>
+        </property>
+        <property path="/reliableSession/enabled" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>False</serializedValue>
+        </property>
+        <property path="/textEncoding" isComplexType="false" isExplicitlyDefined="true" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.Text.UTF8Encoding</serializedValue>
+        </property>
+        <property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>True</serializedValue>
+        </property>
+        <property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>False</serializedValue>
+        </property>
+        <property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.WSHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.WSHttpSecurityElement</serializedValue>
+        </property>
+        <property path="/security/mode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.SecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>None</serializedValue>
+        </property>
+        <property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.WSHttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.WSHttpTransportSecurityElement</serializedValue>
+        </property>
+        <property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Windows</serializedValue>
+        </property>
+        <property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>None</serializedValue>
+        </property>
+        <property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
+        </property>
+        <property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Never</serializedValue>
+        </property>
+        <property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>TransportSelected</serializedValue>
+        </property>
+        <property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>(Collection)</serializedValue>
+        </property>
+        <property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.NonDualMessageSecurityOverHttpElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.NonDualMessageSecurityOverHttpElement</serializedValue>
+        </property>
+        <property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.MessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Windows</serializedValue>
+        </property>
+        <property path="/security/message/negotiateServiceCredential" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>True</serializedValue>
+        </property>
+        <property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>Default</serializedValue>
+        </property>
+        <property path="/security/message/establishSecurityContext" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>True</serializedValue>
+        </property>
+      </properties>
+    </bindingConfiguration>
+  </bindingConfigurations>
+  <endpoints>
+    <endpoint name="SlaveHttpEndpoint" contract="SlaveService.ISlaveFacade" bindingType="wsHttpBinding" address="http://localhost:9000/SlaveService" bindingConfiguration="SlaveHttpEndpoint">
+      <properties>
+        <property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>http://localhost:9000/SlaveService</serializedValue>
+        </property>
+        <property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>wsHttpBinding</serializedValue>
+        </property>
+        <property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>SlaveHttpEndpoint</serializedValue>
+        </property>
+        <property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>SlaveService.ISlaveFacade</serializedValue>
+        </property>
+        <property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
+        </property>
+        <property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>&lt;Header /&gt;</serializedValue>
+        </property>
+        <property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
+        </property>
+        <property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
+        </property>
+        <property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
+        </property>
+        <property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
+        </property>
+        <property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
+        </property>
+        <property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
+        </property>
+        <property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>AwAAAAEAAAAUAAAAeBLH/0jWrlsW42fIC8VIIdAE6PUgAAAAAQAAAPIBAAAwggHuMIIBW6ADAgECAhDez3CoJIIitEZ5xwVqLJn6MAkGBSsOAwIdBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTEwMDgyMzE1NTg0OFoXDTM5MTIzMTIzNTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmOgweB6X4Ss6W2xb2hg1x61cjD2T7SO0ckkzmtqRhC2UWly9dBnonFJmg9RjN0y6l2tZhVzNhq8DgCkn3hPg5GL3XIwYX4PsXwNmeT6i+7s6rGbESuaEMvYOAQJSJ+MTgBvXCwo2g5nFHIBqP4W4aU2eybxP7H4cm1rQpoYHHjQIDAQABo0kwRzBFBgNVHQEEPjA8gBASDhO/IE7Ff7PpkCVF8oUpoRYwFDESMBAGA1UEAxMJbG9jYWxob3N0ghDez3CoJIIitEZ5xwVqLJn6MAkGBSsOAwIdBQADgYEAhxAzm3JTV7j51jti5P7izTEs7+8534kQloeAJDwlKolkd4ZMkf0BiexC2Vt1KsnxUjrK0HbbITzazkvkAmKi7dP+4G+3SrWag5lS4NcoPjTQy16T3zC9E6yafRaZp1/pxjC3Ap44qwq4Kjl2mEjeHHsdie/h4loowTqC9FlLbgo=</serializedValue>
+        </property>
+        <property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
+        </property>
+        <property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>My</serializedValue>
+        </property>
+        <property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>LocalMachine</serializedValue>
+        </property>
+        <property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>FindBySubjectDistinguishedName</serializedValue>
+        </property>
+        <property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>False</serializedValue>
+        </property>
+        <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>SlaveHttpEndpoint</serializedValue>
+        </property>
+        <property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+      </properties>
+    </endpoint>
+    <endpoint name="SlaveMexEndpoint" contract="SlaveService.ISlaveFacade" bindingType="wsHttpBinding" address="http://localhost:9000/SlaveService/mex" bindingConfiguration="SlaveMexEndpoint">
+      <properties>
+        <property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>http://localhost:9000/SlaveService/mex</serializedValue>
+        </property>
+        <property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>wsHttpBinding</serializedValue>
+        </property>
+        <property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>SlaveMexEndpoint</serializedValue>
+        </property>
+        <property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>SlaveService.ISlaveFacade</serializedValue>
+        </property>
+        <property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
+        </property>
+        <property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>&lt;Header /&gt;</serializedValue>
+        </property>
+        <property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
+        </property>
+        <property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
+        </property>
+        <property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
+        </property>
+        <property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
+        </property>
+        <property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
+        </property>
+        <property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
+        </property>
+        <property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
+        </property>
+        <property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>My</serializedValue>
+        </property>
+        <property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>LocalMachine</serializedValue>
+        </property>
+        <property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>FindBySubjectDistinguishedName</serializedValue>
+        </property>
+        <property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>False</serializedValue>
+        </property>
+        <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue>SlaveMexEndpoint</serializedValue>
+        </property>
+        <property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+        <property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+          <serializedValue />
+        </property>
+      </properties>
+    </endpoint>
+  </endpoints>
+</SavedWcfConfigurationInformation>
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/WcfService.cs
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/WcfService.cs	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/WcfService.cs	(revision 4305)
@@ -33,9 +33,9 @@
 using HeuristicLab.Hive.Contracts;
 using HeuristicLab.Hive.Contracts.BusinessObjects;
+using HeuristicLab.Hive.Slave.Communication.SlaveService;
+using HeuristicLab.Hive.Contracts.ResponseObjects;
+using HeuristicLab.Hive.Slave.Communication.Properties;
 
 namespace HeuristicLab.Hive.Slave.Communication {
-  using Service = HeuristicLab.Hive.Slave.Communication.ServerService;
-  using HeuristicLab.Hive.Slave.Communication.ServerService;
-  using HeuristicLab.Hive.Contracts.ResponseObjects;
 
   /// <summary>
@@ -94,5 +94,4 @@
 
         Logger.Debug("Registring new Events");
-        proxy.LoginCompleted += new EventHandler<LoginCompletedEventArgs>(proxy_LoginCompleted);
         proxy.GetStreamedJobCompleted += new EventHandler<GetStreamedJobCompletedEventArgs>(proxy_GetStreamedJobCompleted);
         proxy.StoreFinishedJobResultStreamedCompleted += new EventHandler<StoreFinishedJobResultStreamedCompletedEventArgs>(proxy_StoreFinishedJobResultStreamedCompleted);
@@ -101,4 +100,6 @@
         Logger.Debug("Registered new Events");
         Logger.Debug("Opening the Connection");
+        proxy.ClientCredentials.UserName.UserName = Settings.Default.HiveUsername;
+        proxy.ClientCredentials.UserName.Password = Settings.Default.HivePassword;
         proxy.Open();
         Logger.Debug("Opened the Connection");
@@ -122,8 +123,4 @@
 
     private SlaveFacadeClient CreateSlaveFacadeClient() {
-      //return new SlaveFacadeClient(
-      //  HeuristicLab.Hive.Contracts.WcfSettings.GetStreamedBinding(),
-      //  new EndpointAddress("net.tcp://" + ServerIP + ":" + ServerPort + "/HiveServer/SlaveCommunicator")
-      //);
       SlaveFacadeClient client = new SlaveFacadeClient("SlaveHttpEndpoint");
       WcfSettings.SetEndpointAddress(client.Endpoint, string.Format("http://{0}:{1}/{2}", ServerIP, ServerPort, WcfSettings.SlaveServiceName));
@@ -176,26 +173,9 @@
     /// Methods for the Server Login
     /// </summary>
-    #region Login
-    public event System.EventHandler<LoginCompletedEventArgs> LoginCompleted;
-    public void LoginAsync(SlaveDto clientInfo) {
-      if (ConnState == NetworkEnum.WcfConnState.Connected) {
-        Logger.Debug("STARTED: Login Async");
-        proxy.LoginAsync(clientInfo.Id);
-      }
-    }
-    private void proxy_LoginCompleted(object sender, LoginCompletedEventArgs e) {
-      if (e.Error == null) {
-        Logger.Debug("ENDED: Login Async");
-        LoggedIn = true;
-        LoginCompleted(sender, e);
-      } else
-        HandleNetworkError(e.Error.InnerException);
-    }
-
-    public void LoginSync(SlaveDto clientInfo) {
+    public void LoginSync(SlaveDto slaveInfo) {
       try {
         if (ConnState == NetworkEnum.WcfConnState.Connected) {
           Logger.Debug("STARTED: Login Sync");
-          Response res = proxy.Login(clientInfo.Id);
+          Response res = proxy.Login(slaveInfo);
           if (res.StatusMessage != ResponseStatus.Ok) {
             Logger.Error("FAILED: Login Failed! " + res.StatusMessage);
@@ -210,7 +190,5 @@
       }
     }
-
-    #endregion
-
+    
     /// <summary>
     /// Pull a Job from the Server
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/app.config
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/app.config	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Communication/3.3/app.config	(revision 4305)
@@ -1,54 +1,80 @@
 ﻿<?xml version="1.0" encoding="utf-8" ?>
 <configuration>
-    <system.serviceModel>
-        <bindings>
-            <wsHttpBinding>
-                <binding name="SlaveHttpEndpoint" closeTimeout="00:01:00" openTimeout="00:01:00"
-                    receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false"
-                    transactionFlow="false" hostNameComparisonMode="StrongWildcard"
-                    maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
-                    messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
-                    allowCookies="false">
-                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
-                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
-                    <reliableSession ordered="true" inactivityTimeout="00:10:00"
-                        enabled="false" />
-                    <security mode="Message">
-                        <transport clientCredentialType="Windows" proxyCredentialType="None"
-                            realm="" />
-                        <message clientCredentialType="UserName" negotiateServiceCredential="true"
-                            algorithmSuite="Default" />
-                    </security>
-                </binding>
-                <binding name="SlaveMexEndpoint" closeTimeout="00:01:00" openTimeout="00:01:00"
-                    receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false"
-                    transactionFlow="false" hostNameComparisonMode="StrongWildcard"
-                    maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
-                    messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
-                    allowCookies="false">
-                    <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
-                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
-                    <reliableSession ordered="true" inactivityTimeout="00:10:00"
-                        enabled="false" />
-                    <security mode="None">
-                        <transport clientCredentialType="Windows" proxyCredentialType="None"
-                            realm="" />
-                        <message clientCredentialType="Windows" negotiateServiceCredential="true" />
-                    </security>
-                </binding>
-            </wsHttpBinding>
-        </bindings>
-        <client>
-            <endpoint address="http://localhost:9000/SlaveService" binding="wsHttpBinding"
-                bindingConfiguration="SlaveHttpEndpoint" contract="ServerService.ISlaveFacade"
-                name="SlaveHttpEndpoint">
-                <identity>
-                    <certificate encodedValue="AwAAAAEAAAAUAAAAeBLH/0jWrlsW42fIC8VIIdAE6PUgAAAAAQAAAPIBAAAwggHuMIIBW6ADAgECAhDez3CoJIIitEZ5xwVqLJn6MAkGBSsOAwIdBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTEwMDgyMzE1NTg0OFoXDTM5MTIzMTIzNTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmOgweB6X4Ss6W2xb2hg1x61cjD2T7SO0ckkzmtqRhC2UWly9dBnonFJmg9RjN0y6l2tZhVzNhq8DgCkn3hPg5GL3XIwYX4PsXwNmeT6i+7s6rGbESuaEMvYOAQJSJ+MTgBvXCwo2g5nFHIBqP4W4aU2eybxP7H4cm1rQpoYHHjQIDAQABo0kwRzBFBgNVHQEEPjA8gBASDhO/IE7Ff7PpkCVF8oUpoRYwFDESMBAGA1UEAxMJbG9jYWxob3N0ghDez3CoJIIitEZ5xwVqLJn6MAkGBSsOAwIdBQADgYEAhxAzm3JTV7j51jti5P7izTEs7+8534kQloeAJDwlKolkd4ZMkf0BiexC2Vt1KsnxUjrK0HbbITzazkvkAmKi7dP+4G+3SrWag5lS4NcoPjTQy16T3zC9E6yafRaZp1/pxjC3Ap44qwq4Kjl2mEjeHHsdie/h4loowTqC9FlLbgo=" />
-                </identity>
-            </endpoint>
-            <endpoint address="http://localhost:9000/SlaveService/mex" binding="wsHttpBinding"
-                bindingConfiguration="SlaveMexEndpoint" contract="ServerService.ISlaveFacade"
-                name="SlaveMexEndpoint" />
-        </client>
-    </system.serviceModel>
+  <configSections>
+    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
+      <section name="HeuristicLab.Hive.Slave.Communication.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
+    </sectionGroup>
+  </configSections>
+  <system.serviceModel>
+    <behaviors>
+      <endpointBehaviors>
+        <behavior name="SlaveServiceBehaviour">
+          <clientCredentials>
+            <serviceCertificate>
+              <authentication certificateValidationMode="None" />
+            </serviceCertificate>
+          </clientCredentials>
+        </behavior>
+      </endpointBehaviors>
+    </behaviors>
+    <bindings>
+      <wsHttpBinding>
+        <binding name="SlaveHttpEndpoint" closeTimeout="00:01:00" openTimeout="00:01:00"
+            receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false"
+            transactionFlow="false" hostNameComparisonMode="StrongWildcard"
+            maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
+            messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
+            allowCookies="false">
+          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
+              maxBytesPerRead="4096" maxNameTableCharCount="16384" />
+          <reliableSession ordered="true" inactivityTimeout="00:10:00"
+              enabled="false" />
+          <security mode="Message">
+            <transport clientCredentialType="Windows" proxyCredentialType="None"
+                realm="" />
+            <message clientCredentialType="UserName" negotiateServiceCredential="true"
+                algorithmSuite="Default" />
+          </security>
+        </binding>
+        <binding name="SlaveMexEndpoint" closeTimeout="00:01:00" openTimeout="00:01:00"
+            receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false"
+            transactionFlow="false" hostNameComparisonMode="StrongWildcard"
+            maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
+            messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
+            allowCookies="false">
+          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
+              maxBytesPerRead="4096" maxNameTableCharCount="16384" />
+          <reliableSession ordered="true" inactivityTimeout="00:10:00"
+              enabled="false" />
+          <security mode="None">
+            <transport clientCredentialType="Windows" proxyCredentialType="None"
+                realm="" />
+            <message clientCredentialType="Windows" negotiateServiceCredential="true" />
+          </security>
+        </binding>
+      </wsHttpBinding>
+    </bindings>
+    <client>
+      <endpoint address="http://localhost:9000/SlaveService" behaviorConfiguration="SlaveServiceBehaviour" binding="wsHttpBinding"
+          bindingConfiguration="SlaveHttpEndpoint" contract="SlaveService.ISlaveFacade"
+          name="SlaveHttpEndpoint">
+        <identity>
+          <certificate encodedValue="AwAAAAEAAAAUAAAAeBLH/0jWrlsW42fIC8VIIdAE6PUgAAAAAQAAAPIBAAAwggHuMIIBW6ADAgECAhDez3CoJIIitEZ5xwVqLJn6MAkGBSsOAwIdBQAwFDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTEwMDgyMzE1NTg0OFoXDTM5MTIzMTIzNTk1OVowFDESMBAGA1UEAxMJbG9jYWxob3N0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmOgweB6X4Ss6W2xb2hg1x61cjD2T7SO0ckkzmtqRhC2UWly9dBnonFJmg9RjN0y6l2tZhVzNhq8DgCkn3hPg5GL3XIwYX4PsXwNmeT6i+7s6rGbESuaEMvYOAQJSJ+MTgBvXCwo2g5nFHIBqP4W4aU2eybxP7H4cm1rQpoYHHjQIDAQABo0kwRzBFBgNVHQEEPjA8gBASDhO/IE7Ff7PpkCVF8oUpoRYwFDESMBAGA1UEAxMJbG9jYWxob3N0ghDez3CoJIIitEZ5xwVqLJn6MAkGBSsOAwIdBQADgYEAhxAzm3JTV7j51jti5P7izTEs7+8534kQloeAJDwlKolkd4ZMkf0BiexC2Vt1KsnxUjrK0HbbITzazkvkAmKi7dP+4G+3SrWag5lS4NcoPjTQy16T3zC9E6yafRaZp1/pxjC3Ap44qwq4Kjl2mEjeHHsdie/h4loowTqC9FlLbgo=" />
+        </identity>
+      </endpoint>
+      <endpoint address="http://localhost:9000/SlaveService/mex" binding="wsHttpBinding"
+          bindingConfiguration="SlaveMexEndpoint" contract="SlaveService.ISlaveFacade"
+          name="SlaveMexEndpoint" />
+    </client>
+  </system.serviceModel>
+  <userSettings>
+    <HeuristicLab.Hive.Slave.Communication.Properties.Settings>
+      <setting name="HiveUsername" serializeAs="String">
+        <value>hiveslave</value>
+      </setting>
+      <setting name="HivePassword" serializeAs="String">
+        <value>hiveslave</value>
+      </setting>
+    </HeuristicLab.Hive.Slave.Communication.Properties.Settings>
+  </userSettings>
 </configuration>
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ConfigurationManager/ConfigManager.cs
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ConfigurationManager/ConfigManager.cs	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/ConfigurationManager/ConfigManager.cs	(revision 4305)
@@ -46,11 +46,11 @@
     }
 
-    public Core Core { get; set; }    
-    private SlaveDto hardwareInfo;        
+    public Core Core { get; set; }
+    private SlaveDto hardwareInfo;
 
     /// <summary>
     /// Constructor for the singleton, must recover Guid, Calendar, ...
     /// </summary>
-    private ConfigManager() {      
+    private ConfigManager() {
       hardwareInfo = new SlaveDto();
 
@@ -61,5 +61,5 @@
       } else
         hardwareInfo.Id = Settings.Default.Guid;
-      
+
       hardwareInfo.NrOfCores = Environment.ProcessorCount;
       hardwareInfo.Memory = 1024;
@@ -73,5 +73,5 @@
     public SlaveDto GetClientInfo() {
       hardwareInfo.Login = WcfService.Instance.ConnectedSince;
-      return hardwareInfo;          
+      return hardwareInfo;
     }
 
@@ -104,5 +104,5 @@
       StatusCommons st = new StatusCommons();
       st.ClientGuid = hardwareInfo.Id;
-      
+
       st.Status = WcfService.Instance.ConnState;
       st.ConnectedSince = WcfService.Instance.ConnectedSince;
@@ -113,5 +113,5 @@
       st.JobsAborted = SlaveStatusInfo.JobsAborted;
       st.JobsDone = SlaveStatusInfo.JobsProcessed;
-      st.JobsFetched = SlaveStatusInfo.JobsFetched;      
+      st.JobsFetched = SlaveStatusInfo.JobsFetched;
 
       Dictionary<Guid, Executor> engines = Core.GetExecutionEngines();
@@ -124,5 +124,5 @@
         }
       }
-      return st;      
+      return st;
     }
 
@@ -144,5 +144,5 @@
       Dictionary<Guid, JobDto> jobs = Core.GetJobs();
       int usedCores = 0;
-      lock (engines) {        
+      lock (engines) {
         foreach (KeyValuePair<Guid, JobDto> kvp in jobs)
           usedCores += kvp.Value.CoresNeeded;
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Core.cs
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Core.cs	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive.Slave.Core/3.3/Core.cs	(revision 4305)
@@ -30,5 +30,4 @@
 using HeuristicLab.Hive.Slave.Common;
 using HeuristicLab.Hive.Slave.Communication;
-using HeuristicLab.Hive.Slave.Communication.ServerService;
 using HeuristicLab.Hive.Slave.Core.ClientConsoleService;
 using HeuristicLab.Hive.Slave.Core.ConfigurationManager;
@@ -36,4 +35,5 @@
 using HeuristicLab.Hive.Slave.ExecutionEngine;
 using HeuristicLab.Tracing;
+using HeuristicLab.Hive.Slave.Communication.SlaveService;
 
 namespace HeuristicLab.Hive.Slave.Core {
@@ -76,5 +76,4 @@
       //Register all Wcf Service references
       wcfService = WcfService.Instance;
-      wcfService.LoginCompleted += new EventHandler<LoginCompletedEventArgs>(wcfService_LoginCompleted);
       wcfService.GetJobCompleted += new EventHandler<GetJobCompletedEventArgs>(wcfService_GetJobCompleted);
       wcfService.GetFinishedJobResultCompleted += new EventHandler<StoreFinishedJobResultCompletedEventArgs>(wcfService_StoreFinishedJobResultCompleted);
@@ -417,5 +416,4 @@
         wcfService.SetCalendarStatus(ConfigManager.Instance.GetClientInfo().Id, CalendarState.NotAllowedToFetch);
       }
-      beat.InterruptHeartBeatThread();
     }
 
Index: branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive/3.3/MergeConfigs.cmd
===================================================================
--- branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive/3.3/MergeConfigs.cmd	(revision 4302)
+++ branches/3.3-HiveMigration/sources/HeuristicLab.Hive/HeuristicLab.Hive/3.3/MergeConfigs.cmd	(revision 4305)
@@ -6,4 +6,5 @@
 ConfigMerger "%SolutionDir%HeuristicLab.Hive.Server.LINQDataAccess\3.3\app.config" "HeuristicLab.Hive-3.3.dll.config"
 ConfigMerger "%SolutionDir%HeuristicLab.Hive.Slave.Core\3.3\app.config" "HeuristicLab.Hive-3.3.dll.config"
+ConfigMerger "%SolutionDir%HeuristicLab.Hive.Slave.Communication\3.3\app.config" "HeuristicLab.Hive-3.3.dll.config"
 ConfigMerger "%SolutionDir%HeuristicLab.Hive.Tracing\3.3\app.config" "HeuristicLab.Hive-3.3.dll.config"
 
