using System; using System.Collections; using System.Data; using System.Net; using Microsoft.Uddi; using Microsoft.Uddi.Binding; using Microsoft.Uddi.Business; using Microsoft.Uddi.Service; using Microsoft.Uddi.ServiceType; using System.Xml; namespace UddiDemoPublisher { public class UddiPublish { BEGIN COMMENT LINE ////// Эта утилита регистрирует web-службу в реестре UDDI /// END COMMENT LINE [STAThread] public static void Main(string[] args) { try { Console.Write(«Укажите имя системы» + «UDDI Services: «); string uddiMachineName = Console.ReadLine(); Console.Write(«Username: «); string username = Console.ReadLine(); Console.Write(«Password: «); string password = Console.ReadLine(); Console.Write(«Domain: «); string domain = Console.ReadLine(); NetworkCredential credentials = new NetworkCredential(username, password, domain); Publish.Url = «http://» + uddiMachineName + «/uddi/publish.asmx»; Publish.HttpClient.Credentials = credentials; Inquire.Url = «http://» + uddiMachineName + «/uddi/inquire.asmx»; Inquire.HttpClient.Credentials = credentials; BEGIN COMMENT LINE // Если существует провайдер службы, удаляем его END COMMENT LINE FindBusiness fb = null; BusinessList bl = null; Console.Write(«Введите имя провайдера службы» + «для которого нужно ввести Web-службу: «); string serviceProvider = Console.ReadLine(); fb = new FindBusiness(); fb.Name = serviceProvider; try { bl = fb.Send(); } catch (UddiException e) { Console.WriteLine(«UDDI exception: « + e.Number + « — « + e.Message); return; } catch (Exception e) { Console.WriteLine(«General exception: « + e.Message); return; } if (bl.BusinessInfos.Count > 0) { DeleteBusiness db = new DeleteBusiness(); db.BusinessKeys.Add( bl.BusinessInfos[0].BusinessKey); try { DispositionReport drep = db.Send(); Console.WriteLine(«Disposition report: « + drep.Results[0].ErrInfo.ErrCode.ToString()); } catch (UddiException e) { Console.WriteLine(«UDDI exception: « + e.Number + « — « + e.Message); return; } catch (Exception e) { Console.WriteLine(«General exception: « + e.Message); return; } } BEGIN COMMENT LINE // Создаем провайдера службы END COMMENT LINE SaveBusiness sb = new SaveBusiness(); sb.BusinessEntities.Add(); sb.BusinessEntities[0].Name = serviceProvider; BEGIN COMMENT LINE // Create the Service END COMMENT LINE sb.BusinessEntities[0].BusinessServices.Add(); Console.Write(«Please enter a name for the web service: «); string webServiceName = Console.ReadLine(); sb.BusinessEntities[0].BusinessServices[0].Name = webServiceName; BEGIN COMMENT LINE // Создаем связывание END COMMENT LINE sb.BusinessEntities[0].BusinessServices[0].BindingTemplates.Add(); Console.Write(«Please enter a full URL for the web service: «); string webServiceUrl = Console.ReadLine(); sb.BusinessEntities[0].BusinessServices[0].BindingTemplates[0].AccessPoint.Text = webServiceUrl; sb.BusinessEntities[0].BusinessServices[0].BindingTemplates[0].AccessPoint.URLType = Microsoft.Uddi.Api.URLTypeEnum.Http; BEGIN COMMENT LINE // Отправляем UDDI END COMMENT LINE try { BusinessDetail bd = sb.Send(); // show xml Console.WriteLine(bd); } catch (UddiException ue) { Console.WriteLine(ue.Message); return; } catch (Exception e) { Console.WriteLine(e.Message); return; } } catch (Exception e) { Console.WriteLine(«General exception: « + e.Message); } } } }