private Dictionary <String, UDDINode> readNodeConfig(uddi config, Properties properties) { //String[] names = config.getStringArray("client.nodes.node.name"); Dictionary <String, UDDINode> nodes = new Dictionary <String, UDDINode>(); log.debug("node count=" + config.client.nodes.Length); for (int i = 0; i < config.client.nodes.Length; i++) { UDDINode uddiNode = new UDDINode(); uddiNode.setClientName(config.client.nodes[i].name); uddiNode.setProperties(config.client.nodes[i].properties); uddiNode.setHomeJUDDI(config.client.nodes[i].isHomeJUDDI); uddiNode.setName(config.client.nodes[i].name); uddiNode.setClientName(config.client.nodes[i].name); uddiNode.setDescription(config.client.nodes[i].description); uddiNode.setProxyTransport(config.client.nodes[i].proxyTransport); uddiNode.setInquiryUrl(TokenResolver.replaceTokens(config.client.nodes[i].inquiryUrl, config.client.nodes[i].properties)); uddiNode.setPublishUrl(TokenResolver.replaceTokens(config.client.nodes[i].publishUrl, config.client.nodes[i].properties)); uddiNode.setCustodyTransferUrl(TokenResolver.replaceTokens(config.client.nodes[i].custodyTransferUrl, config.client.nodes[i].properties)); uddiNode.setSecurityUrl(TokenResolver.replaceTokens(config.client.nodes[i].securityUrl, config.client.nodes[i].properties)); uddiNode.setSubscriptionUrl(TokenResolver.replaceTokens(config.client.nodes[i].subscriptionUrl, config.client.nodes[i].properties)); uddiNode.setSubscriptionListenerUrl(TokenResolver.replaceTokens(config.client.nodes[i].subscriptionListenerUrl, config.client.nodes[i].properties)); uddiNode.setJuddiApiUrl(TokenResolver.replaceTokens(config.client.nodes[i].juddiApiUrl, config.client.nodes[i].properties)); uddiNode.setFactoryInitial(config.client.nodes[i].factoryInitial); uddiNode.setFactoryURLPkgs(config.client.nodes[i].factoryURLPkgs); uddiNode.setFactoryNamingProvider(config.client.nodes[i].factoryNamingProvider); nodes.Add(uddiNode.getName(), uddiNode); } return(nodes); }
public static void SaveXmlConfiguration(string filename, uddi config) { using (StringWriter sr = new StringWriter()) { try { XmlSerializer xs = new XmlSerializer(typeof(uddi)); xs.Serialize(sr, config); File.WriteAllText(filename, sr.ToString()); } catch (Exception ex) { LogFactory.getLog(typeof(XmlConfiguration)).error("Error saving config file from " + filename + " ", ex); throw ex; } } }
/** * Does the actual work of reading the configuration from System * Properties and/or uddi.xml file. When the uddi.xml * file is updated the file will be reloaded. By default the reloadDelay is * set to 1 second to prevent excessive date stamp checking. */ private void loadConfiguration(String configurationFile, Properties properties) { if (config != null) { return; } String filename = null; //Properties from XML file if (!String.IsNullOrEmpty(configurationFile)) { filename = configurationFile; } else { String prop = System.Environment.GetEnvironmentVariable(ClientConfig.UDDI_CONFIG_FILENAME_PROPERTY); if (!String.IsNullOrEmpty(prop)) { filename = prop; } else { filename = UDDI_CONFIG_FILENAME_PROPERTY; } } log.info("Reading UDDI Client properties file " + filename); config = XmlConfiguration.LoadXmlConfiguration(filename); this.configurationFile = filename; //Properties from system properties IDictionaryEnumerator it = Environment.GetEnvironmentVariables().GetEnumerator(); while (it.MoveNext()) { config.getProperties().setProperty(it.Key.ToString(), it.Value.ToString()); } readConfig(properties); }
private HashSet <XRegistration> readXServiceBindingRegConfig(uddi config, Dictionary <String, UDDIClerk> clerks) { HashSet <XRegistration> xRegistrations = new HashSet <XRegistration>(); if (config.client.clerks == null) { log.warn("XRegistration cannot continue, no clerks are defined!"); return(xRegistrations); } if (config.client.clerks.xregister == null || config.client.clerks.xregister.servicebinding == null) { return(xRegistrations); } if (config.client.clerks.xregister.servicebinding.Length > 0) { log.info("XRegistration " + config.client.clerks.xregister.servicebinding.Length + " serviceBinding Keys"); } for (int i = 0; i < config.client.clerks.xregister.servicebinding.Length; i++) { XRegistration xRegistration = new XRegistration(); xRegistration.setEntityKey(config.client.clerks.xregister.servicebinding[i].bindingKey); String fromClerkRef = config.client.clerks.xregister.servicebinding[i].fromClerk; if (!clerks.ContainsKey(fromClerkRef)) { throw new ConfigurationErrorsException("Could not find fromClerk with name=" + fromClerkRef); } UDDIClerk fromClerk = clerks[(fromClerkRef)]; xRegistration.setFromClerk(fromClerk); String toClerkRef = config.client.clerks.xregister.servicebinding[i].toClerk; if (!clerks.ContainsKey(toClerkRef)) { throw new ConfigurationErrorsException("Could not find toClerk with name=" + toClerkRef); } UDDIClerk toClerk = clerks[(toClerkRef)]; xRegistration.setToClerk(toClerk); log.debug(xRegistration); xRegistrations.Add(xRegistration); } return(xRegistrations); }
private Dictionary <String, UDDIClerk> readClerkConfig(uddi config, Dictionary <String, UDDINode> uddiNodes) { clientName = config.client.name; Dictionary <String, UDDIClerk> clerks = new Dictionary <String, UDDIClerk>(); if (config.client.clerks != null && config.client.clerks.clerk != null && config.client.clerks.clerk.Length > 0)//.ContainsKey("client.clerks.clerk[@name]")) { log.debug("clerk names=" + config.client.clerks.clerk.Length); for (int i = 0; i < config.client.clerks.clerk.Length; i++) { UDDIClerk uddiClerk = new UDDIClerk(); uddiClerk.setManagerName(clientName); uddiClerk.setName(config.client.clerks.clerk[i].name); String nodeRef = config.client.clerks.clerk[i].node; if (!uddiNodes.ContainsKey(nodeRef)) { throw new ConfigurationErrorsException("Could not find Node with name=" + nodeRef); } UDDINode uddiNode = uddiNodes[nodeRef]; uddiClerk.setUDDInode(uddiNode); uddiClerk.setPublisher(config.client.clerks.clerk[i].publisher); uddiClerk.setPassword(config.client.clerks.clerk[i].password); uddiClerk.setPasswordEncrypted(config.client.clerks.clerk[i].isPasswordEncrypted); uddiClerk.setCryptoProvider(config.client.clerks.clerk[i].cryptoProvider); String clerkBusinessKey = config.client.clerks.clerk[i].businessKey; String clerkBusinessName = config.client.clerks.clerk[i].businessName; String clerkKeyDomain = config.client.clerks.clerk[i].keyDomain; String[] classes = config.client.clerks.clerk[i].@class; uddiClerk.setClassWithAnnotations(classes); int numberOfWslds = 0; if (config.client.clerks.clerk[i].wsdl != null) { numberOfWslds = config.client.clerks.clerk[i].wsdl.Length;// config.getStringArray("client.clerks.clerk(" + i + ").wsdl").Length; } if (numberOfWslds > 0) { UDDIClerk.WSDL[] wsdls = new UDDIClerk.WSDL[numberOfWslds]; for (int w = 0; w < wsdls.Length; w++) { UDDIClerk.WSDL wsdl = new UDDIClerk.WSDL(); String fileName = config.client.clerks.clerk[i].wsdl[w].Value; wsdl.setFileName(null); String businessKey = config.client.clerks.clerk[i].wsdl[w].businessKey; String businessName = config.client.clerks.clerk[i].wsdl[w].businessName; String keyDomain = config.client.clerks.clerk[i].wsdl[w].keyDomain; if (businessKey == null) { businessKey = clerkBusinessKey; } if (businessKey == null) { businessKey = uddiClerk.getUDDINode().getProperties().getString("businessKey"); } if (businessKey == null) { //use key convention to build the businessKey if (businessName == null) { businessName = clerkBusinessName; } if (keyDomain == null) { keyDomain = clerkKeyDomain; } if (keyDomain == null) { keyDomain = uddiClerk.getUDDINode().getProperties().getString("keyDomain"); } if ((businessName == null && !uddiClerk.getUDDINode().getProperties().containsKey("businessName")) || keyDomain == null && !uddiClerk.getUDDINode().getProperties().containsKey("keyDomain")) { throw new ConfigurationErrorsException("Either the wsdl(" + wsdls[w] + ") or clerk (" + uddiClerk.getName() + ") elements require a businessKey, or businessName & keyDomain attributes"); } else { Properties properties = (uddiClerk.getUDDINode().getProperties()); if (businessName != null) { properties.setProperty("businessName", businessName); } if (keyDomain != null) { properties.setProperty("keyDomain", keyDomain); } businessKey = UDDIKeyConvention.getBusinessKey(properties); } } if (!businessKey.ToLower().StartsWith("uddi:") || !businessKey.Substring(5).Contains(":")) { throw new ConfigurationErrorsException("The businessKey " + businessKey + " does not implement a valid UDDI v3 key format."); } wsdl.setBusinessKey(businessKey); if (keyDomain == null) { keyDomain = businessKey.Split(new string[] { ":" }, StringSplitOptions.RemoveEmptyEntries)[1]; } wsdl.setKeyDomain(keyDomain); wsdls[w] = wsdl; } uddiClerk.setWsdls(wsdls); } clerks.Add(uddiClerk.getName(), uddiClerk); } } else { log.warn("No clerks are defined!"); } return(clerks); }
private HashSet<XRegistration> readXServiceBindingRegConfig(uddi config, Dictionary<String, UDDIClerk> clerks) { HashSet<XRegistration> xRegistrations = new HashSet<XRegistration>(); if (config.client.clerks == null) { log.warn("XRegistration cannot continue, no clerks are defined!"); return xRegistrations; } if (config.client.clerks.xregister == null || config.client.clerks.xregister.servicebinding == null) return xRegistrations; if (config.client.clerks.xregister.servicebinding.Length > 0) log.info("XRegistration " + config.client.clerks.xregister.servicebinding.Length + " serviceBinding Keys"); for (int i = 0; i < config.client.clerks.xregister.servicebinding.Length; i++) { XRegistration xRegistration = new XRegistration(); xRegistration.setEntityKey(config.client.clerks.xregister.servicebinding[i].bindingKey); String fromClerkRef = config.client.clerks.xregister.servicebinding[i].fromClerk; if (!clerks.ContainsKey(fromClerkRef)) throw new ConfigurationErrorsException("Could not find fromClerk with name=" + fromClerkRef); UDDIClerk fromClerk = clerks[(fromClerkRef)]; xRegistration.setFromClerk(fromClerk); String toClerkRef = config.client.clerks.xregister.servicebinding[i].toClerk; if (!clerks.ContainsKey(toClerkRef)) throw new ConfigurationErrorsException("Could not find toClerk with name=" + toClerkRef); UDDIClerk toClerk = clerks[(toClerkRef)]; xRegistration.setToClerk(toClerk); log.debug(xRegistration); xRegistrations.Add(xRegistration); } return xRegistrations; }
private Dictionary<String, UDDINode> readNodeConfig(uddi config, Properties properties) { //String[] names = config.getStringArray("client.nodes.node.name"); Dictionary<String, UDDINode> nodes = new Dictionary<String, UDDINode>(); log.debug("node count=" + config.client.nodes.Length); for (int i = 0; i < config.client.nodes.Length; i++) { UDDINode uddiNode = new UDDINode(); uddiNode.setClientName(config.client.nodes[i].name); uddiNode.setProperties(config.client.nodes[i].properties); uddiNode.setHomeJUDDI(config.client.nodes[i].isHomeJUDDI); uddiNode.setName(config.client.nodes[i].name); uddiNode.setClientName(config.client.nodes[i].name); uddiNode.setDescription(config.client.nodes[i].description); uddiNode.setProxyTransport(config.client.nodes[i].proxyTransport); uddiNode.setInquiryUrl(TokenResolver.replaceTokens(config.client.nodes[i].inquiryUrl, config.client.nodes[i].properties)); uddiNode.setPublishUrl(TokenResolver.replaceTokens(config.client.nodes[i].publishUrl, config.client.nodes[i].properties)); uddiNode.setCustodyTransferUrl(TokenResolver.replaceTokens(config.client.nodes[i].custodyTransferUrl, config.client.nodes[i].properties)); uddiNode.setSecurityUrl(TokenResolver.replaceTokens(config.client.nodes[i].securityUrl, config.client.nodes[i].properties)); uddiNode.setSubscriptionUrl(TokenResolver.replaceTokens(config.client.nodes[i].subscriptionUrl, config.client.nodes[i].properties)); uddiNode.setSubscriptionListenerUrl(TokenResolver.replaceTokens(config.client.nodes[i].subscriptionListenerUrl, config.client.nodes[i].properties)); uddiNode.setJuddiApiUrl(TokenResolver.replaceTokens(config.client.nodes[i].juddiApiUrl, config.client.nodes[i].properties)); uddiNode.setFactoryInitial(config.client.nodes[i].factoryInitial); uddiNode.setFactoryURLPkgs(config.client.nodes[i].factoryURLPkgs); uddiNode.setFactoryNamingProvider(config.client.nodes[i].factoryNamingProvider); nodes.Add(uddiNode.getName(), uddiNode); } return nodes; }
private Dictionary<String, UDDIClerk> readClerkConfig(uddi config, Dictionary<String, UDDINode> uddiNodes) { clientName = config.client.name; Dictionary<String, UDDIClerk> clerks = new Dictionary<String, UDDIClerk>(); if (config.client.clerks != null && config.client.clerks.clerk != null && config.client.clerks.clerk.Length > 0)//.ContainsKey("client.clerks.clerk[@name]")) { log.debug("clerk names=" + config.client.clerks.clerk.Length); for (int i = 0; i < config.client.clerks.clerk.Length; i++) { UDDIClerk uddiClerk = new UDDIClerk(); uddiClerk.setManagerName(clientName); uddiClerk.setName(config.client.clerks.clerk[i].name); String nodeRef = config.client.clerks.clerk[i].node; if (!uddiNodes.ContainsKey(nodeRef)) throw new ConfigurationErrorsException("Could not find Node with name=" + nodeRef); UDDINode uddiNode = uddiNodes[nodeRef]; uddiClerk.setUDDInode(uddiNode); uddiClerk.setPublisher(config.client.clerks.clerk[i].publisher); uddiClerk.setPassword(config.client.clerks.clerk[i].password); uddiClerk.setPasswordEncrypted(config.client.clerks.clerk[i].isPasswordEncrypted); uddiClerk.setCryptoProvider(config.client.clerks.clerk[i].cryptoProvider); String clerkBusinessKey = config.client.clerks.clerk[i].businessKey; String clerkBusinessName = config.client.clerks.clerk[i].businessName; String clerkKeyDomain = config.client.clerks.clerk[i].keyDomain; String[] classes = config.client.clerks.clerk[i].@class; uddiClerk.setClassWithAnnotations(classes); int numberOfWslds = 0; if (config.client.clerks.clerk[i].wsdl != null) numberOfWslds = config.client.clerks.clerk[i].wsdl.Length;// config.getStringArray("client.clerks.clerk(" + i + ").wsdl").Length; if (numberOfWslds > 0) { UDDIClerk.WSDL[] wsdls = new UDDIClerk.WSDL[numberOfWslds]; for (int w = 0; w < wsdls.Length; w++) { UDDIClerk.WSDL wsdl = new UDDIClerk.WSDL(); String fileName = config.client.clerks.clerk[i].wsdl[w].Value; wsdl.setFileName(null); String businessKey = config.client.clerks.clerk[i].wsdl[w].businessKey; String businessName = config.client.clerks.clerk[i].wsdl[w].businessName; String keyDomain = config.client.clerks.clerk[i].wsdl[w].keyDomain; if (businessKey == null) businessKey = clerkBusinessKey; if (businessKey == null) businessKey = uddiClerk.getUDDINode().getProperties().getString("businessKey"); if (businessKey == null) { //use key convention to build the businessKey if (businessName == null) businessName = clerkBusinessName; if (keyDomain == null) keyDomain = clerkKeyDomain; if (keyDomain == null) keyDomain = uddiClerk.getUDDINode().getProperties().getString("keyDomain"); if ((businessName == null && !uddiClerk.getUDDINode().getProperties().containsKey("businessName")) || keyDomain == null && !uddiClerk.getUDDINode().getProperties().containsKey("keyDomain")) throw new ConfigurationErrorsException("Either the wsdl(" + wsdls[w] + ") or clerk (" + uddiClerk.getName() + ") elements require a businessKey, or businessName & keyDomain attributes"); else { Properties properties = (uddiClerk.getUDDINode().getProperties()); if (businessName != null) properties.setProperty("businessName", businessName); if (keyDomain != null) properties.setProperty("keyDomain", keyDomain); businessKey = UDDIKeyConvention.getBusinessKey(properties); } } if (!businessKey.ToLower().StartsWith("uddi:") || !businessKey.Substring(5).Contains(":")) { throw new ConfigurationErrorsException("The businessKey " + businessKey + " does not implement a valid UDDI v3 key format."); } wsdl.setBusinessKey(businessKey); if (keyDomain == null) { keyDomain = businessKey.Split(new string[] { ":" }, StringSplitOptions.RemoveEmptyEntries)[1]; } wsdl.setKeyDomain(keyDomain); wsdls[w] = wsdl; } uddiClerk.setWsdls(wsdls); } clerks.Add(uddiClerk.getName(), uddiClerk); } } else log.warn("No clerks are defined!"); return clerks; }
/** * Does the actual work of reading the configuration from System * Properties and/or uddi.xml file. When the uddi.xml * file is updated the file will be reloaded. By default the reloadDelay is * set to 1 second to prevent excessive date stamp checking. */ private void loadConfiguration(String configurationFile, Properties properties) { if (config != null) return; String filename = null; //Properties from XML file if (!String.IsNullOrEmpty(configurationFile)) { filename = configurationFile; } else { String prop = System.Environment.GetEnvironmentVariable(ClientConfig.UDDI_CONFIG_FILENAME_PROPERTY); if (!String.IsNullOrEmpty(prop)) filename = prop; else filename = UDDI_CONFIG_FILENAME_PROPERTY; } log.info("Reading UDDI Client properties file " + filename); config = XmlConfiguration.LoadXmlConfiguration(filename); this.configurationFile = filename; //Properties from system properties IDictionaryEnumerator it = Environment.GetEnvironmentVariables().GetEnumerator(); while (it.MoveNext()) { config.getProperties().setProperty(it.Key.ToString(), it.Value.ToString()); } readConfig(properties); }
public uddi.apiv3.dispositionReport notify_subscriptionListener(uddi.apiv3.notify_subscriptionListener body) { for (int i = 0; i < callbacks.Count; i++) { try { callbacks[i].HandleCallback(body.subscriptionResultsList); } catch (Exception ex) { log.warn("Your implementation on ISubscriptionCallback is faulty and threw an error, contact the developer", ex); } } dispositionReport r = new dispositionReport(); r.result = new result[] { new result() }; return r; }
public void HandleCallback(uddi.apiv3.subscriptionResultsList body) { Console.Out.WriteLine("HandleCallback received " + body.Item); }