public static string GetServiceLocation() { Console.WriteLine("Querying UDDI Registry..."); //Assign the network endpoint of UDDI Web services Inquire.Url = "http://test.uddi.microsoft.com/inquire"; //Find the provider FindBusiness findProvider = new FindBusiness(); findProvider.Names.Add("Vendor A"); BusinessList providerList = findProvider.Send(); BusinessInfo provider = providerList.BusinessInfos[0]; ServiceInfo providerService = provider.ServiceInfos[0]; //Find the Service details GetServiceDetail findService = new GetServiceDetail(); findService.ServiceKeys.Add(providerService.ServiceKey); ServiceDetail sd = findService.Send(); BusinessService service = sd.BusinessServices[0]; BindingTemplate template = service.BindingTemplates[0]; //Retrieve the service URL Console.WriteLine("Provider Endpoint : " + template.AccessPoint.Text); return(template.AccessPoint.Text); }
/// <summary> /// Gets the business key. /// </summary> /// <param name="UDDIConnection">The UDDI connection.</param> /// <param name="pName">Name of the provider.</param> /// <returns></returns> public static string GetBusinessKey(UddiConnection UDDIConnection, string pName) { FindBusiness findBusiness = new FindBusiness(pName); BusinessList bList = findBusiness.Send(UDDIConnection); if (bList.BusinessInfos.Count > 0) { return(bList.BusinessInfos[0].BusinessKey); } return(String.Empty); }
/// <summary> /// Determines whether there is any service on the business or not. /// </summary> /// <param name="UDDIConnection">The UDDI connection.</param> /// <param name="pName">Name of the provider</param> /// <returns> /// <c>true</c> if [is service exists] [the specified UDDI connection]; otherwise, <c>false</c>. /// </returns> public static bool IsServiceExists(UddiConnection UDDIConnection, string pName) { FindBusiness findBusiness = new FindBusiness(pName); findBusiness.FindQualifiers.Add(FindQualifier.ApproximateMatch); BusinessList bList = findBusiness.Send(UDDIConnection); if (bList.BusinessInfos[0].ServiceInfos.Count > 0) { return(true); } return(false); }
/// <summary> /// Gets all MSE full path of the service from MSE web service. /// </summary> /// <returns></returns> /*public static string[] GetAllMSEServices() * { * MSEServiceCatalogue.ServiceModelClient serviceCatalogue = new MSEServiceCatalogue.ServiceModelClient("NetTcpBinding_ServiceModel"); * return serviceCatalogue.GetVirtualizedURLs("localRS"); * }*/ /// <summary> /// Gets all businesses. /// </summary> /// <param name="UDDIConnection">The UDDI connection.</param> /// <returns></returns> public static List <string> GetAllBusinesses(UddiConnection UDDIConnection) { List <string> retList = new List <string>(); FindBusiness findBusiness = new FindBusiness("%"); findBusiness.FindQualifiers.Add(FindQualifier.ApproximateMatch); BusinessList bList = findBusiness.Send(UDDIConnection); foreach (BusinessInfo bInfo in bList.BusinessInfos) { retList.Add(bInfo.Names[0].Text); } return(retList); }
/// <summary> /// Publica serviciul cu informatiile specificate in campurile corespunzatoare (daca nu exista deja). /// </summary> public void performPublish() { String businessName = txbBusinessName.Text.Trim(); String serviceName = txbServiceName.Text.Trim(); String accessPoint = txbAccessPoint.Text.Trim(); if (businessName == String.Empty || serviceName == String.Empty || accessPoint == String.Empty) { MessageBox.Show("All values must be set", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } try { FindBusiness findBusiness = new FindBusiness(businessName); findBusiness.FindQualifiers.Add(FindQualifier.ExactNameMatch); BusinessList businessList = findBusiness.Send(uddiConnection); if (0 == businessList.BusinessInfos.Count) { BusinessEntity newBusinessEntity = new BusinessEntity(businessName); BusinessService newBusinessService = new BusinessService(serviceName); newBusinessEntity.BusinessServices.Add(newBusinessService); BindingTemplate newBindingTemplate = new BindingTemplate(); newBindingTemplate.AccessPoint.Text = accessPoint; newBindingTemplate.AccessPoint.UrlType = UrlType.Http; selectOntologyForNewBindingTemplate(newBindingTemplate); newBusinessService.BindingTemplates.Add(newBindingTemplate); SaveBusiness saveNewBusiness = new SaveBusiness(newBusinessEntity); saveNewBusiness.Send(uddiConnection); } else { MessageBox.Show("Business already exists"); GetBusinessDetail getBusinessDetail = new GetBusinessDetail(businessList.BusinessInfos[0].BusinessKey); BusinessDetail businessDetail = getBusinessDetail.Send(uddiConnection); BusinessEntity oldBusinessEntity = businessDetail.BusinessEntities[0]; FindService findService = new FindService(serviceName); findService.FindQualifiers.Add(FindQualifier.ExactNameMatch); findService.BusinessKey = businessDetail.BusinessEntities[0].BusinessKey; ServiceList serviceList = findService.Send(uddiConnection); if (0 == serviceList.ServiceInfos.Count) { BusinessService newBusinessService = new BusinessService(serviceName); oldBusinessEntity.BusinessServices.Add(newBusinessService); BindingTemplate newBindingTemplate = new BindingTemplate(); newBindingTemplate.AccessPoint.Text = accessPoint; newBindingTemplate.AccessPoint.UrlType = UrlType.Http; selectOntologyForNewBindingTemplate(newBindingTemplate); newBusinessService.BindingTemplates.Add(newBindingTemplate); SaveBusiness saveOldBusiness = new SaveBusiness(oldBusinessEntity); saveOldBusiness.Send(uddiConnection); } else { MessageBox.Show("Service already exists"); GetServiceDetail getServiceDetail = new GetServiceDetail(serviceList.ServiceInfos[0].ServiceKey); ServiceDetail serviceDetail = getServiceDetail.Send(uddiConnection); BusinessService oldBusinessService = serviceDetail.BusinessServices[0]; foreach (BindingTemplate bindingTemplate in oldBusinessService.BindingTemplates) { if (bindingTemplate.AccessPoint.Text == accessPoint) { MessageBox.Show("Binding already exists"); return; } } BindingTemplate newBindingTemplate = new BindingTemplate(); newBindingTemplate.AccessPoint.Text = accessPoint; newBindingTemplate.AccessPoint.UrlType = UrlType.Http; selectOntologyForNewBindingTemplate(newBindingTemplate); oldBusinessService.BindingTemplates.Add(newBindingTemplate); SaveService saveOldService = new SaveService(oldBusinessService); saveOldService.Send(uddiConnection); } } MessageBox.Show("Publish successful", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (UddiException e) { MessageBox.Show("Uddi error: "+ e.Message, "Warning", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (Exception e){ MessageBox.Show("General exception: " + e.Message, "Warning", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Cauta servicii pe baza informatiilor specificate - businessName. /// </summary> private List<List<WSInfo>> findBusinesses() { FindBusiness findBusiness = new FindBusiness(businessName); if (exactMatch) { findBusiness.FindQualifiers.Add(FindQualifier.ExactNameMatch); } if (caseSensitive) { findBusiness.FindQualifiers.Add(FindQualifier.CaseSensitiveMatch); } BusinessList businessList = findBusiness.Send(uddiConnection); if (0 == businessList.BusinessInfos.Count) { return null; } List<List<WSInfo>> serviceList = new List<List<WSInfo>>(); foreach (BusinessInfo businessInfo in businessList.BusinessInfos) { List<WSInfo> list = findServices(businessInfo.BusinessKey); if (list != null) { serviceList.Add(list); } } if (serviceList.Count != 0) { return serviceList; } else { return null; } }