private void ProcessGetApplicationWebServicesMessage(ICommunicator communicator, GetApplicationWebServicesMessage message, MDSControllerMessage controllerMessage) { try { //Find application ApplicationInfoItem application = null; foreach (var applicationInfoItem in _settings.Applications) { if (applicationInfoItem.Name == message.ApplicationName) { application = applicationInfoItem; } } if (application == null) { //Send message ReplyMessageToCommunicator( communicator, new GetApplicationWebServicesResponseMessage { WebServices = null, Success = false, ResultText = "No application found with name '" + message.ApplicationName + "'." }, controllerMessage ); return; } var webServiceList = new List <ApplicationWebServiceInfo>(); foreach (var channel in application.CommunicationChannels) { if ("WebService".Equals(channel.CommunicationType, StringComparison.OrdinalIgnoreCase)) { webServiceList.Add(new ApplicationWebServiceInfo { Url = channel.CommunicationSettings["Url"] }); } } //Send web service list ReplyMessageToCommunicator( communicator, new GetApplicationWebServicesResponseMessage { WebServices = webServiceList.ToArray(), Success = true, ResultText = "Success." }, controllerMessage ); } catch (Exception ex) { Logger.Error(ex.Message, ex); } }
private void ProcessUpdateApplicationWebServicesMessage(ICommunicator communicator, UpdateApplicationWebServicesMessage message, MDSControllerMessage controllerMessage) { try { //Find application ApplicationInfoItem application = null; foreach (var applicationInfoItem in _settings.Applications) { if (applicationInfoItem.Name == message.ApplicationName) { application = applicationInfoItem; } } if (application == null) { //Send message ReplyMessageToCommunicator( communicator, new OperationResultMessage() { Success = false, ResultMessage = "No application found with name '" + message.ApplicationName + "'." }, controllerMessage ); return; } //Delete old service list application.CommunicationChannels.Clear(); //Add new services if (message.WebServices != null && message.WebServices.Length > 0) { foreach (var webServiceInfo in message.WebServices) { var channelInfo = new ApplicationInfoItem.CommunicationChannelInfoItem { CommunicationType = "WebService" }; channelInfo.CommunicationSettings["Url"] = webServiceInfo.Url; application.CommunicationChannels.Add(channelInfo); } } try { //Save settings _settings.SaveToXml(); } catch (Exception ex) { Logger.Error(ex.Message, ex); ReplyMessageToCommunicator( communicator, new OperationResultMessage() { Success = false, ResultMessage = "Can not save XML configuration file (MDSSettings.xml)." }, controllerMessage ); return; } //Send success message ReplyMessageToCommunicator( communicator, new OperationResultMessage() { Success = true, ResultMessage = "Success." }, controllerMessage ); } catch (Exception ex) { Logger.Error(ex.Message, ex); ReplyMessageToCommunicator( communicator, new OperationResultMessage() { Success = false, ResultMessage = ex.Message }, controllerMessage ); return; } }