Modified: juddi/trunk/juddi-client.net/juddi-client.net/bindings/ext.cs URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/bindings/ext.cs?rev=1524601&r1=1524600&r2=1524601&view=diff ============================================================================== --- juddi/trunk/juddi-client.net/juddi-client.net/bindings/ext.cs (original) +++ juddi/trunk/juddi-client.net/juddi-client.net/bindings/ext.cs Thu Sep 19 00:06:38 2013 @@ -121,9 +121,36 @@ namespace org.uddi.apiv3 this.Url = url; } } -} + + /** + * Provides a basic enumeration of the predefinied useType values for UDDI service/bindingTemplates/accessPoints/useType + * @author unknown + */ + public enum AccessPointType + { + /** + * endPoint: designates that the accessPoint points to the actual service endpoint, i.e. the network address at which the Web service can be invoked, + */ + endPoint, + /** + * bindingTemplate: designates that the accessPoint contains a bindingKey that points to a different bindingTemplate entry. The value in providing this facility is seen when a business or entity wants to expose a service description (e.g. advertise that they have a service available that suits a specific purpose) that is actually a service that is described in a separate bindingTemplate record. This might occur when many service descriptions could benefit from a single service description, + */ + bindingTemplate, + /** + * hostingRedirector: designates that the accessPoint can only be determined by querying another UDDI registry. This might occur when a service is remotely hosted. + */ + hostingDirector, + /** + * wsdlDeployment: designates that the accessPoint points to a remotely hosted WSDL document that already contains the necessary binding information, including the actual service endpoint. + * The bindingTemplate of a Web service making use of indirection via a hostingRedirector Web service contains the bindingKey of the hosting redirector serviceâs bindingTemplate. The hosting redirectorâs bindingTemplate contains the accessPoint of the Hosting Redirector Web service + */ + wsdlDeployment + } + +} + namespace org.apache.juddi.apiv3 { public partial class JUDDIApiService : System.Web.Services.Protocols.SoapHttpClientProtocol
Modified: juddi/trunk/juddi-client.net/juddi-client.net/juddi-client.net.csproj URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/juddi-client.net.csproj?rev=1524601&r1=1524600&r2=1524601&view=diff ============================================================================== --- juddi/trunk/juddi-client.net/juddi-client.net/juddi-client.net.csproj (original) +++ juddi/trunk/juddi-client.net/juddi-client.net/juddi-client.net.csproj Thu Sep 19 00:06:38 2013 @@ -45,6 +45,9 @@ <Compile Include="bindings\events.cs" /> <Compile Include="bindings\ext.cs" /> <Compile Include="bindings\JUDDIApiService.cs" /> + <Compile Include="org.apache.juddi.v3.client.annotations\AnnotationProcessor.cs" /> + <Compile Include="org.apache.juddi.v3.client.annotations\UDDIService.cs" /> + <Compile Include="org.apache.juddi.v3.client.annotations\UDDIServiceBinding.cs" /> <Compile Include="org.apache.juddi.v3.client.config\BackgroundRegistration.cs" /> <Compile Include="org.apache.juddi.v3.client.config\ClientConfig.cs" /> <Compile Include="org.apache.juddi.v3.client.config\Properties.cs" /> Added: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/AnnotationProcessor.cs URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/AnnotationProcessor.cs?rev=1524601&view=auto ============================================================================== --- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/AnnotationProcessor.cs (added) +++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/AnnotationProcessor.cs Thu Sep 19 00:06:38 2013 @@ -0,0 +1,239 @@ +using org.apache.juddi.v3.client.annotations; +using org.apache.juddi.v3.client.log; +using org.uddi.apiv3; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Web.Services; + +namespace org.apache.juddi.v3.client.config +{ + class AnnotationProcessor + { + static Log log = LogFactory.getLog(typeof(AnnotationProcessor)); + private static readonly String KEYED_REFERENCE = "keyedReference="; + private static readonly String KEY_NAME = "keyName="; + private static readonly String KEY_VALUE = "keyValue="; + private static readonly String TMODEL_KEY = "tModelKey="; + + public List<businessService> readServiceAnnotations(string[] classes, Properties properties) + { + List<businessService> items = new List<businessService>(); + + if (classes != null) + { + foreach (string s in classes) + { + businessService b = readServiceAnnotations(s, properties); + if (b != null) + items.Add(b); + } + + } + return items; + + } + + public businessService readServiceAnnotations(String classWithAnnotations, Properties properties) + { + + Type t = Type.GetType(classWithAnnotations, false, true); + if (t != null) + { + businessService service = new businessService(); + object[] attrib = t.GetCustomAttributes(typeof(UDDIService), true); + + object[] ws = t.GetCustomAttributes(typeof(System.Web.Services.WebServiceBindingAttribute), true); + WebServiceBindingAttribute webServiceAnnotation = null; + if (ws != null && ws.Length > 0) + { + webServiceAnnotation = ((WebServiceBindingAttribute[])ws)[0]; + } + if (attrib != null && attrib.Length > 0) + { + + UDDIService[] bits = attrib as UDDIService[]; + UDDIService uddiService = bits[0]; + name n = new name(); + n.lang = uddiService.lang; + service.businessKey = (TokenResolver.replaceTokens(uddiService.businessKey, properties)); + service.serviceKey = (TokenResolver.replaceTokens(uddiService.serviceKey, properties)); + if (!"".Equals(uddiService.serviceName, StringComparison.CurrentCultureIgnoreCase)) + { + n.Value = (TokenResolver.replaceTokens(uddiService.serviceName, properties)); + } + else if (webServiceAnnotation != null && !"".Equals(webServiceAnnotation.Name)) + { + n.Value = (webServiceAnnotation.Name); + } + else + { + n.Value = (classWithAnnotations); + } + service.name = new name[] { n }; + description d = new description(); + d.lang = (uddiService.lang); + d.Value = (TokenResolver.replaceTokens(uddiService.description, properties)); + service.description = new description[] { d }; + + //categoryBag on the service + if (!"".Equals(uddiService.categoryBag)) + { + categoryBag categoryBag = parseCategoryBag(uddiService.categoryBag); + service.categoryBag = (categoryBag); + } + + //bindingTemplate on service + bindingTemplate bindingTemplate = parseServiceBinding(classWithAnnotations, uddiService.lang, webServiceAnnotation, properties); + if (bindingTemplate != null) + { + bindingTemplate.serviceKey = (service.serviceKey); + if (service.bindingTemplates == null) + { + service.bindingTemplates = new bindingTemplate[] { bindingTemplate }; + } + else + { + List<bindingTemplate> l = service.bindingTemplates.ToList(); + l.Add(bindingTemplate); + service.bindingTemplates = l.ToArray(); + } + } + + return service; + } + else + { + log.error("Missing UDDIService annotation in class " + classWithAnnotations); + } + } + log.error("Unable to load type " + classWithAnnotations); + return null; + + } + + + + private bindingTemplate parseServiceBinding(string classWithAnnotations, string lang, WebServiceBindingAttribute webServiceAnnotation, Properties properties) + { + + bindingTemplate bindingTemplate = null; + Type t = Type.GetType(classWithAnnotations, false, false); + UDDIServiceBinding uddiServiceBinding = null; + object[] attrib = t.GetCustomAttributes(typeof(UDDIServiceBinding), true); + if (attrib != null && attrib.Length > 0) + uddiServiceBinding = attrib[0] as UDDIServiceBinding; + + //= (UDDIServiceBinding) classWithAnnotations.getAnnotation(UDDIServiceBinding.class); + //binding + if (uddiServiceBinding != null) + { + bindingTemplate = new bindingTemplate(); + + bindingTemplate.bindingKey = (TokenResolver.replaceTokens(uddiServiceBinding.bindingKey, properties)); + + String bindingLang = (lang); + if (uddiServiceBinding.lang != null) + { + bindingLang = TokenResolver.replaceTokens(uddiServiceBinding.lang, properties); + } + description bindingDescription = new description(); + bindingDescription.lang = (bindingLang); + bindingDescription.Value = (TokenResolver.replaceTokens(uddiServiceBinding.description, properties)); + bindingTemplate.description = new description[] { (bindingDescription) }; + + accessPoint accessPoint = new accessPoint(); + accessPoint.useType = (AccessPointType.wsdlDeployment.ToString()); + if (!"".Equals(uddiServiceBinding.accessPointType)) + { + accessPoint.useType = (uddiServiceBinding.accessPointType); + } + if (!"".Equals(uddiServiceBinding.accessPoint)) + { + String endPoint = uddiServiceBinding.accessPoint; + endPoint = TokenResolver.replaceTokens(endPoint, properties); + log.debug("AccessPoint EndPoint=" + endPoint); + accessPoint.Value = (endPoint); + } + else if (webServiceAnnotation != null && webServiceAnnotation.Location != null) + { + accessPoint.Value = (webServiceAnnotation.Location); + } + bindingTemplate.Item = (accessPoint); + + //tModelKeys on the binding + if (!"".Equals(uddiServiceBinding.tModelKeys)) + { + String[] tModelKeys = uddiServiceBinding.tModelKeys.Split(','); + foreach (String tModelKey in tModelKeys) + { + tModelInstanceInfo instanceInfo = new tModelInstanceInfo(); + instanceInfo.tModelKey = (tModelKey); + if (bindingTemplate.tModelInstanceDetails == null) + { + bindingTemplate.tModelInstanceDetails = (new tModelInstanceInfo[] { instanceInfo }); + } + List<tModelInstanceInfo> l = bindingTemplate.tModelInstanceDetails.ToList(); + l.Add(instanceInfo); + bindingTemplate.tModelInstanceDetails = l.ToArray(); + + } + } + //categoryBag on the binding + if (!"".Equals(uddiServiceBinding.categoryBag)) + { + categoryBag categoryBag = parseCategoryBag(uddiServiceBinding.categoryBag); + bindingTemplate.categoryBag = (categoryBag); + } + } + else + { + log.error("Missing UDDIServiceBinding annotation in class " + classWithAnnotations); + } + return bindingTemplate; + } + + private categoryBag parseCategoryBag(string categoryBagStr) + { + + categoryBag cb = new categoryBag(); + log.debug("CategoryBag Annotation=" + cb); + if (!"".Equals(categoryBagStr)) + { + List<keyedReference> cbs = new List<keyedReference>(); + String[] sections = categoryBagStr.Split(','); + foreach (String section in sections) + { + if (section.StartsWith(KEYED_REFERENCE)) + { + String keyedReferenceStr = section.Substring(KEYED_REFERENCE.Length, section.Length); + log.debug("Found KeyedReference=" + keyedReferenceStr); + String[] keyedReferences = keyedReferenceStr.Split(';'); + keyedReference keyedReference = new keyedReference(); + foreach (String key in keyedReferences) + { + if (key.StartsWith(KEY_NAME)) keyedReference.keyName = (key.Substring(KEY_NAME.Length, key.Length)); + if (key.StartsWith(KEY_VALUE)) keyedReference.keyValue = (key.Substring(KEY_VALUE.Length, key.Length)); + if (key.StartsWith(TMODEL_KEY)) keyedReference.tModelKey = (key.Substring(TMODEL_KEY.Length, key.Length)); + } + log.debug("KeyedReference = " + KEY_NAME + keyedReference.keyName + " " + + KEY_VALUE + keyedReference.keyValue + " " + + TMODEL_KEY + keyedReference.tModelKey); + cbs.Add(keyedReference); + } + else + { + log.warn("Ignoring " + section); + //TODO add support for KeyedReferenceGroups? + } + } + cb.Items = cbs.ToArray(); + } + return cb; + } + } +} + + + Added: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/UDDIService.cs URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/UDDIService.cs?rev=1524601&view=auto ============================================================================== --- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/UDDIService.cs (added) +++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/UDDIService.cs Thu Sep 19 00:06:38 2013 @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace org.apache.juddi.v3.client.annotations +{ + [System.AttributeUsage(System.AttributeTargets.Interface | System.AttributeTargets.Class, AllowMultiple = false)] + public class UDDIService : System.Attribute + { + public UDDIService() + { + this.lang = "en"; + businessKey = ""; + serviceName = ""; + categoryBag = ""; + } + /** Name of the Service, this can be omitted if one is specified in a WebService annotation */ + public String serviceName { get; set; } + /** Description of the Service */ + public String description { get; set; } + /** Unique key of this service */ + public String serviceKey { get; set; } + /** Unique key of the business to which this Service belongs. */ + public String businessKey { get; set; } + /** Language code i.e.: en, fr, nl. */ + public String lang { get; set; } + /** List of KeyedReferences */ + public String categoryBag { get; set; } + } +} Added: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/UDDIServiceBinding.cs URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/UDDIServiceBinding.cs?rev=1524601&view=auto ============================================================================== --- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/UDDIServiceBinding.cs (added) +++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.annotations/UDDIServiceBinding.cs Thu Sep 19 00:06:38 2013 @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace org.apache.juddi.v3.client.annotations +{ + [System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple = false)] + public class UDDIServiceBinding : System.Attribute + { + public UDDIServiceBinding() + { + lang="en"; + bindingKey =""; + description=""; + accessPoint=""; + tModelKeys=""; + categoryBag=""; + accessPointType="wsdlDeployment"; + } + /** name which can be referenced by TModelInstanceRegistration, this key is not send + * down to the UDDI Registry. */ + public String bindingKey{ get; set;} + /** Description of the ServiceBinding. */ + public String description{ get; set;} + /** AccessPoint Type, which could be one of endPoint, wsdlDeployment, bindingTemplate, hostingDirector */ + public String accessPointType { get; set; } + /** The URL of the accessPoint. */ + public String accessPoint{ get; set;} + /** Language code i.e.: en, fr, nl. */ + public String lang{ get; set;} + /** Comma separated list of tModel Keys */ + public String tModelKeys{ get; set;} + /** List of KeyedReferences */ + public String categoryBag{ get; set;} + } +} Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/ClientConfig.cs URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/ClientConfig.cs?rev=1524601&r1=1524600&r2=1524601&view=diff ============================================================================== --- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/ClientConfig.cs (original) +++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/ClientConfig.cs Thu Sep 19 00:06:38 2013 @@ -22,6 +22,7 @@ using System.Configuration; using System.IO; using System.Text; using System.Xml; +using System.Xml.Serialization; namespace org.apache.juddi.v3.client.config { @@ -112,6 +113,13 @@ namespace org.apache.juddi.v3.client.con readConfig(properties); } + public void SaveConfiguration() + { + if (this.config == null) + throw new Exception("Config is not loaded, cannot save"); + XmlConfiguration.SaveXmlConfiguration(this.configurationFile, this.config); + } + private Dictionary<String, UDDIClerk> readClerkConfig(uddi config, Dictionary<String, UDDINode> uddiNodes) { @@ -260,7 +268,7 @@ namespace org.apache.juddi.v3.client.con log.warn("XRegistration cannot continue, no clerks are defined!"); return xRegistrations; } - if (config.client.clerks.xregister.business == null) + if (config.client.clerks.xregister==null || config.client.clerks.xregister.business == null) return xRegistrations; if (config.client.clerks.xregister.business.Length > 0) log.info("XRegistration " + config.client.clerks.xregister.business.Length + " business Keys"); @@ -294,7 +302,7 @@ namespace org.apache.juddi.v3.client.con log.warn("XRegistration cannot continue, no clerks are defined!"); return xRegistrations; } - if (config.client.clerks.xregister.servicebinding == null) + 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"); @@ -378,10 +386,14 @@ namespace org.apache.juddi.v3.client.con { return xBusinessRegistrations; } - - /* public Configuration getConfiguration() { - return config; - }*/ + /// <summary> + /// gives access to the raw configuration xml structure + /// </summary> + /// <returns></returns> + public uddi getConfiguration() + { + return this.config; + } public String getClientName() { Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/TokenResolver.cs URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/TokenResolver.cs?rev=1524601&r1=1524600&r2=1524601&view=diff ============================================================================== --- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/TokenResolver.cs (original) +++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/TokenResolver.cs Thu Sep 19 00:06:38 2013 @@ -29,7 +29,7 @@ namespace org.apache.juddi.v3.client.con public static String replaceTokens(String s, Properties properties) { - if (properties == null || s == null) return s; + if (properties == null || String.IsNullOrEmpty(s)) return s; s = s.Replace("\\n", " ").Replace("\\r", "").Replace(" ", ""); /* pattern that is multi-line (?m), and looks for a pattern of * ${token}, in a 'reluctant' manner, by using the ? to @@ -42,6 +42,10 @@ namespace org.apache.juddi.v3.client.con while (temp != null) { String token = matcher.Value; + if (token.Length < 3) + { + return s; + } token = token.Substring(2, token.Length - 1); String replacement = properties.getString(token); if (replacement != null) Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClerk.cs URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClerk.cs?rev=1524601&r1=1524600&r2=1524601&view=diff ============================================================================== --- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClerk.cs (original) +++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClerk.cs Thu Sep 19 00:06:38 2013 @@ -30,7 +30,7 @@ namespace org.apache.juddi.v3.client.con /// /// </summary> /// - public class UDDIClerk: IDisposable + public class UDDIClerk : IDisposable { private Log log = LogFactory.getLog(typeof(UDDIClerk)); @@ -49,8 +49,6 @@ namespace org.apache.juddi.v3.client.con public UDDIClerk() { - - // TODO Auto-generated constructor stub } public UDDIClerk(org.apache.juddi.apiv3.clerk clerk) @@ -311,10 +309,13 @@ namespace org.apache.juddi.v3.client.con return register(service, this.getUDDINode().getApiNode()); } - /** - * Register a service. - * - */ + + /// <summary> + /// Register a service. + /// </summary> + /// <param name="service"></param> + /// <param name="node"></param> + /// <returns></returns> public org.uddi.apiv3.businessService register(org.uddi.apiv3.businessService service, org.apache.juddi.apiv3.node node) { @@ -333,12 +334,8 @@ namespace org.apache.juddi.v3.client.con { serviceDetail = pub.save_service(saveService); } - businessService = serviceDetail.businessService[0]; - if (log.isDebugEnabled()) - { - log.debug("Registering service " + service.name[0].Value + " completed."); - } + log.debug("Registering service " + service.name[0].Value + " completed."); } catch (Exception e) { @@ -404,7 +401,7 @@ namespace org.apache.juddi.v3.client.con { String authToken = getAuthToken(node.securityUrl); delete_business deleteBusiness = new delete_business(); - deleteBusiness.authInfo=(authToken); + deleteBusiness.authInfo = (authToken); deleteBusiness.businessKey = new string[1]; deleteBusiness.businessKey[0] = (businessKey); using (UDDI_Publication_SoapBinding pub = getUDDINode().getTransport().getUDDIPublishService(node.publishUrl)) @@ -436,15 +433,15 @@ namespace org.apache.juddi.v3.client.con { String authToken = getAuthToken(node.securityUrl); delete_service deleteService = new delete_service(); - deleteService.authInfo=(authToken); - deleteService.serviceKey = new string[]{serviceKey}; + deleteService.authInfo = (authToken); + deleteService.serviceKey = new string[] { serviceKey }; getUDDINode().getTransport().getUDDIPublishService(node.publishUrl).delete_service(deleteService); } catch (Exception e) { log.error("Unable to register service " + serviceKey + " ." + e.Message, e); - } + } } public void unRegisterBinding(String bindingKey) @@ -465,8 +462,8 @@ namespace org.apache.juddi.v3.client.con { String authToken = getAuthToken(node.securityUrl); delete_binding deleteBinding = new delete_binding(); - deleteBinding.authInfo=(authToken); - deleteBinding.bindingKey = new string[]{bindingKey}; + deleteBinding.authInfo = (authToken); + deleteBinding.bindingKey = new string[] { bindingKey }; getUDDINode().getTransport().getUDDIPublishService(node.publishUrl).delete_binding(deleteBinding); } catch (Exception e) @@ -494,8 +491,8 @@ namespace org.apache.juddi.v3.client.con { String authToken = getAuthToken(node.securityUrl); org.uddi.apiv3.delete_tModel deleteTModel = new org.uddi.apiv3.delete_tModel(); - deleteTModel.authInfo=(authToken); - deleteTModel.tModelKey=new string[]{tModelKey}; + deleteTModel.authInfo = (authToken); + deleteTModel.tModelKey = new string[] { tModelKey }; getUDDINode().getTransport().getUDDIPublishService(node.publishUrl).delete_tModel(deleteTModel); } catch (Exception e) @@ -517,8 +514,8 @@ namespace org.apache.juddi.v3.client.con { String authToken = getAuthToken(node.securityUrl); delete_subscription deleteSubscription = new delete_subscription(); - deleteSubscription.authInfo=(authToken); - deleteSubscription.subscriptionKey = new string[]{subscriptionKey}; + deleteSubscription.authInfo = (authToken); + deleteSubscription.subscriptionKey = new string[] { subscriptionKey }; getUDDINode().getTransport().getUDDISubscriptionService(node.securityUrl).delete_subscription(deleteSubscription); } catch (Exception e) @@ -536,7 +533,7 @@ namespace org.apache.juddi.v3.client.con public tModelList findTModel(find_tModel findTModel, org.apache.juddi.apiv3.node node) { - findTModel.authInfo=(getAuthToken(node.securityUrl)); + findTModel.authInfo = (getAuthToken(node.securityUrl)); try { tModelList tModelList = getUDDINode().getTransport().getUDDIInquiryService(node.inquiryUrl).find_tModel(findTModel); @@ -545,17 +542,17 @@ namespace org.apache.juddi.v3.client.con catch (Exception dr) { log.error("", dr); -// DispositionReport report = DispositionReportFaultMessage.getDispositionReport(dr); + // DispositionReport report = DispositionReportFaultMessage.getDispositionReport(dr); //checkForErrorInDispositionReport(report, null, null); } - + return null; } public tModelDetail getTModelDetail(String tModelKey) { get_tModelDetail getTModelDetail = new get_tModelDetail(); - getTModelDetail.tModelKey = new string[]{tModelKey}; + getTModelDetail.tModelKey = new string[] { tModelKey }; return this.getTModelDetail(getTModelDetail); } @@ -567,7 +564,7 @@ namespace org.apache.juddi.v3.client.con public tModelDetail getTModelDetail(get_tModelDetail getTModelDetail, org.apache.juddi.apiv3.node node) { - getTModelDetail.authInfo=(getAuthToken(node.securityUrl)); + getTModelDetail.authInfo = (getAuthToken(node.securityUrl)); try { tModelDetail tModelDetail = getUDDINode().getTransport().getUDDIInquiryService(node.inquiryUrl).get_tModelDetail(getTModelDetail); @@ -579,7 +576,7 @@ namespace org.apache.juddi.v3.client.con //DispositionReport report = DispositionReportFaultMessage.getDispositionReport(dr); //checkForErrorInDispositionReport(report, null, null); } - + return null; } @@ -591,8 +588,8 @@ namespace org.apache.juddi.v3.client.con public businessService findService(String serviceKey, org.apache.juddi.apiv3.node node) { get_serviceDetail getServiceDetail = new get_serviceDetail(); - getServiceDetail.serviceKey=new string[]{serviceKey}; - getServiceDetail.authInfo=(getAuthToken(node.securityUrl)); + getServiceDetail.serviceKey = new string[] { serviceKey }; + getServiceDetail.authInfo = (getAuthToken(node.securityUrl)); try { serviceDetail sd = getUDDINode().getTransport().getUDDIInquiryService(node.inquiryUrl).get_serviceDetail(getServiceDetail); @@ -609,7 +606,7 @@ namespace org.apache.juddi.v3.client.con //DispositionReport report = DispositionReportFaultMessage.getDispositionReport(dr); //checkForErrorInDispositionReport(report, DispositionReport.E_INVALID_KEY_PASSED, serviceKey); } - + return null; } @@ -621,8 +618,8 @@ namespace org.apache.juddi.v3.client.con public bindingTemplate findServiceBinding(String bindingKey, org.apache.juddi.apiv3.node node) { get_bindingDetail getBindingDetail = new get_bindingDetail(); - getBindingDetail.bindingKey = new string[]{bindingKey}; - getBindingDetail.authInfo=(getAuthToken(node.securityUrl)); + getBindingDetail.bindingKey = new string[] { bindingKey }; + getBindingDetail.authInfo = (getAuthToken(node.securityUrl)); try { bindingDetail bd = getUDDINode().getTransport().getUDDIInquiryService(node.inquiryUrl).get_bindingDetail(getBindingDetail); @@ -639,7 +636,7 @@ namespace org.apache.juddi.v3.client.con //DispositionReport report = DispositionReportFaultMessage.getDispositionReport(dr); //checkForErrorInDispositionReport(report, DispositionReport.E_INVALID_KEY_PASSED, bindingKey); } - + return null; } @@ -662,8 +659,8 @@ namespace org.apache.juddi.v3.client.con public businessEntity findBusiness(String businessKey, org.apache.juddi.apiv3.node node) { get_businessDetail getBusinessDetail = new get_businessDetail(); - getBusinessDetail.businessKey = new string[]{businessKey}; - getBusinessDetail.authInfo=(node.securityUrl); + getBusinessDetail.businessKey = new string[] { businessKey }; + getBusinessDetail.authInfo = (node.securityUrl); try { businessDetail bd = getUDDINode().getTransport().getUDDIInquiryService(node.inquiryUrl).get_businessDetail(getBusinessDetail); @@ -678,22 +675,22 @@ namespace org.apache.juddi.v3.client.con return null; } - /** - * Looks up the BusinessEntiry in the registry, will return null if is not - * found. - * - * @param businessKey - the key we are looking for - * @param node - the node which is going to be queried - * @return businessEntity is found, or null if not found. - * @throws RemoteException - * @throws TransportException - * @throws ConfigurationException - */ + /** + * Looks up the BusinessEntiry in the registry, will return null if is not + * found. + * + * @param businessKey - the key we are looking for + * @param node - the node which is going to be queried + * @return businessEntity is found, or null if not found. + * @throws RemoteException + * @throws TransportException + * @throws ConfigurationException + */ public relatedBusinessesList findRelatedBusinesses(String businessKey, org.apache.juddi.apiv3.node node) { find_relatedBusinesses findRelatedBusinesses = new find_relatedBusinesses(); - findRelatedBusinesses.Item=(businessKey); - findRelatedBusinesses.authInfo=(node.securityUrl); + findRelatedBusinesses.Item = (businessKey); + findRelatedBusinesses.authInfo = (node.securityUrl); try { relatedBusinessesList rbl = getUDDINode().getTransport().getUDDIInquiryService(node.inquiryUrl).find_relatedBusinesses(findRelatedBusinesses); @@ -705,7 +702,7 @@ namespace org.apache.juddi.v3.client.con //DispositionReport report = DispositionReportFaultMessage.getDispositionReport(dr); //checkForErrorInDispositionReport(report, DispositionReport.E_INVALID_KEY_PASSED, businessKey); } - + return null; } /* @@ -738,7 +735,7 @@ namespace org.apache.juddi.v3.client.con if ((authToken != null && !"".Equals(authToken)) && (tokenBirthDate != null && DateTime.Now > tokenBirthDate.AddMilliseconds(600000))) { discard_authToken discardAuthToken = new discard_authToken(); - discardAuthToken.authInfo=(authToken); + discardAuthToken.authInfo = (authToken); using (UDDI_Security_SoapBinding sec = getUDDINode().getTransport().getUDDISecurityService(endpointURL)) { getUDDINode().getTransport().getUDDISecurityService(endpointURL).discard_authToken(discardAuthToken); @@ -749,21 +746,22 @@ namespace org.apache.juddi.v3.client.con { tokenBirthDate = new DateTime(); get_authToken getAuthToken = new get_authToken(); - getAuthToken.userID=(getPublisher()); + getAuthToken.userID = (getPublisher()); if (isEncrypted) { if (String.IsNullOrEmpty(cryptoProvider)) { log.error("Credentials are encrypted but no cryptoProvider was defined in the config file!"); - }else + } + else try { - getAuthToken.cred=(CryptorFactory.getCryptor(this.cryptoProvider).decrypt(getPassword())); + getAuthToken.cred = (CryptorFactory.getCryptor(this.cryptoProvider).decrypt(getPassword())); } catch (Exception ex) { log.error("Unable to decrypt credentials! sending it as is", ex); - getAuthToken.cred=(getPassword()); + getAuthToken.cred = (getPassword()); } } else @@ -786,8 +784,8 @@ namespace org.apache.juddi.v3.client.con { log.info("Sending node " + node.name + " info to jUDDI " + getUDDINode().getName()); org.apache.juddi.apiv3.save_noodeInfo savenode = new org.apache.juddi.apiv3.save_noodeInfo(); - savenode.authInfo=(getAuthToken(node.securityUrl)); - savenode.node=new apiv3.node[]{node}; + savenode.authInfo = (getAuthToken(node.securityUrl)); + savenode.node = new apiv3.node[] { node }; using (org.apache.juddi.apiv3.JUDDIApiService juddi = getUDDINode().getTransport().getJUDDIApiService(node.juddiApiUrl)) { nodeDetail = juddi.save_Node(savenode); @@ -798,7 +796,7 @@ namespace org.apache.juddi.v3.client.con log.error("Unable to save node " + node.name + " ." + e.Message, e); } - + return nodeDetail; } @@ -961,22 +959,22 @@ namespace org.apache.juddi.v3.client.con } tModel tm = new tModel(); tm.name = new name(); - tm.name.Value=(DescriptiveName); - tm.name.lang=(DescriptiveNameLanguage); + tm.name.Value = (DescriptiveName); + tm.name.lang = (DescriptiveNameLanguage); tm.categoryBag = new categoryBag(); keyedReference kr = new keyedReference(); - kr.tModelKey=(UDDIConstants.KEY_GENERATOR_TMODEL); - kr.keyName=(UDDIConstants.KEY_GENERATOR); - kr.keyValue=(UDDIConstants.KEY_GENERATOR_VALUE); + kr.tModelKey = (UDDIConstants.KEY_GENERATOR_TMODEL); + kr.keyName = (UDDIConstants.KEY_GENERATOR); + kr.keyValue = (UDDIConstants.KEY_GENERATOR_VALUE); tm.categoryBag.Items = new object[] { kr }; overviewDoc overviewDoc = new overviewDoc(); overviewURL overviewUrl = new overviewURL(); - overviewUrl.useType=("text"); - overviewUrl.Value=("http://uddi.org/pubs/uddi_v3.htm#keyGen"); - overviewDoc.Items= new object[]{overviewUrl}; - tm.overviewDoc = new overviewDoc[]{overviewDoc}; - tm.tModelKey=(partitionName.ToLower()); + overviewUrl.useType = ("text"); + overviewUrl.Value = ("http://uddi.org/pubs/uddi_v3.htm#keyGen"); + overviewDoc.Items = new object[] { overviewUrl }; + tm.overviewDoc = new overviewDoc[] { overviewDoc }; + tm.tModelKey = (partitionName.ToLower()); return tm; } Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClient.cs URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClient.cs?rev=1524601&r1=1524600&r2=1524601&view=diff ============================================================================== --- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClient.cs (original) +++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClient.cs Thu Sep 19 00:06:38 2013 @@ -23,6 +23,7 @@ using org.apache.juddi.v3.client.config; using System.Threading; using org.apache.juddi.v3.client.transport; using System.Configuration; +using org.uddi.apiv3; namespace org.apache.juddi.v3.client { @@ -176,7 +177,8 @@ namespace org.apache.juddi.v3.client //homeClerk.saveClerk(clerk); } } else { - log.error("The client config needs to have one homeJUDDI node and found " + numberOfHomeJUDDIs); + + log.error("The client config needs to have one homeJUDDI node and found " + numberOfHomeJUDDIs); } } else { log.debug("No home clerk found."); @@ -204,24 +206,31 @@ namespace org.apache.juddi.v3.client } log.debug("Cross registration completed"); } - /** - * Registers services to UDDI using a clerk, and the uddi.xml - * configuration. - */ + + /// <summary> + /// Registers services to UDDI using a clerk, and the uddi.xml configuration. + /// For .NET users, the class names must be AssemblyQualifiedNames + /// </summary> + /// <pre> + /// Type objType = typeof(System.Array); + /// Console.WriteLine ("Qualified assembly name:\n {0}.", objType.AssemblyQualifiedName.ToString()); + /// </pre> public void registerAnnotatedServices() { Dictionary<String, UDDIClerk> uddiClerks = clientConfig.getUDDIClerks(); if (uddiClerks.Count > 0) { - /*AnnotationProcessor ap = new AnnotationProcessor(); - for (UDDIClerk uddiClerk : uddiClerks.values()) { - Collection<BusinessService> services = ap.readServiceAnnotations( - uddiClerk.getClassWithAnnotations(),uddiClerk.getUDDINode().getProperties()); - for (BusinessService businessService : services) { - log.info("Node=" + uddiClerk.getUDDINode().getApiNode().getName()); - uddiClerk.register(businessService, uddiClerk.getUDDINode().getApiNode()); + AnnotationProcessor ap = new AnnotationProcessor(); + Dictionary<string, UDDIClerk>.Enumerator it=uddiClerks.GetEnumerator(); + while (it.MoveNext()){ + UDDIClerk c=it.Current.Value; + List<businessService> services = ap.readServiceAnnotations( + c.getClassWithAnnotations(),c.getUDDINode().getProperties()); + foreach (businessService businessService in services) { + log.info("Node=" + c.getUDDINode().getApiNode().name); + c.register(businessService, c.getUDDINode().getApiNode()); } - }*/ + } } } /** @@ -234,14 +243,18 @@ namespace org.apache.juddi.v3.client Dictionary<String, UDDIClerk> clerks = clientConfig.getUDDIClerks(); if (clerks.Count > 0) { - /*AnnotationProcessor ap = new AnnotationProcessor(); - for (UDDIClerk clerk : clerks.values()) { - Collection<BusinessService> services = ap.readServiceAnnotations( - clerk.getClassWithAnnotations(),clerk.getUDDINode().getProperties()); - for (BusinessService businessService : services) { - clerk.unRegisterService(businessService.getServiceKey(),clerk.getUDDINode().getApiNode()); + AnnotationProcessor ap = new AnnotationProcessor(); + Dictionary<string, UDDIClerk>.Enumerator it = clerks.GetEnumerator(); + while (it.MoveNext()) + { + UDDIClerk c = it.Current.Value; + List<businessService> services = ap.readServiceAnnotations( + c.getClassWithAnnotations(), c.getUDDINode().getProperties()); + foreach (businessService businessService in services) + { + c.unRegisterService(businessService.serviceKey, c.getUDDINode().getApiNode()); } - }*/ + } } } @@ -259,29 +272,31 @@ namespace org.apache.juddi.v3.client Dictionary<String, UDDIClerk> clerks = clientConfig.getUDDIClerks(); if (clerks.Count > 0) { - /*AnnotationProcessor ap = new AnnotationProcessor(); - for (UDDIClerk clerk : clerks.values()) { - Collection<BusinessService> services = ap.readServiceAnnotations( - clerk.getClassWithAnnotations(),clerk.getUDDINode().getProperties()); - for (BusinessService businessService : services) { - if (businessService.getBindingTemplates() != null) { - List<BindingTemplate> bindingTemplates = businessService.getBindingTemplates().getBindingTemplate(); - for (BindingTemplate bindingTemplate : bindingTemplates) { - clerk.unRegisterBinding(bindingTemplate.getBindingKey(), clerk.getUDDINode().getApiNode()); + AnnotationProcessor ap = new AnnotationProcessor(); + Dictionary<string, UDDIClerk>.Enumerator it = clerks.GetEnumerator(); + while (it.MoveNext()) + { + UDDIClerk c = it.Current.Value; + List<businessService> services = ap.readServiceAnnotations( + c.getClassWithAnnotations(),c.getUDDINode().getProperties()); + foreach (businessService businessService in services) { + if (businessService.bindingTemplates != null) { + foreach (bindingTemplate bindingTemplate in businessService.bindingTemplates) { + c.unRegisterBinding(bindingTemplate.bindingKey, c.getUDDINode().getApiNode()); } } if (removeServiceWithNoBindingTemplates) { try { - BusinessService existingService = clerk.findService(businessService.getServiceKey(), clerk.getUDDINode().getApiNode()); - if (existingService.getBindingTemplates()==null || existingService.getBindingTemplates().getBindingTemplate().size()==0) { - clerk.unRegisterService(businessService.getServiceKey(),clerk.getUDDINode().getApiNode()); + businessService existingService = c.findService(businessService.serviceKey, c.getUDDINode().getApiNode()); + if (existingService.bindingTemplates==null || existingService.bindingTemplates.Length==0) { + c.unRegisterService(businessService.serviceKey,c.getUDDINode().getApiNode()); } } catch (Exception e) { log.error(e.Message,e); } } } - }*/ + } } } Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/XmlConfiguration.cs URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/XmlConfiguration.cs?rev=1524601&r1=1524600&r2=1524601&view=diff ============================================================================== --- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/XmlConfiguration.cs (original) +++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/XmlConfiguration.cs Thu Sep 19 00:06:38 2013 @@ -46,5 +46,24 @@ namespace org.apache.juddi.v3.client.con } } + 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; + } + } + } + } } Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.transport/AspNetTransport.cs URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.transport/AspNetTransport.cs?rev=1524601&r1=1524600&r2=1524601&view=diff ============================================================================== --- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.transport/AspNetTransport.cs (original) +++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.transport/AspNetTransport.cs Thu Sep 19 00:06:38 2013 @@ -59,7 +59,6 @@ namespace org.apache.juddi.v3.client.tra public AspNetTransport(string managerName, string nodeName, config.ClientConfig clientConfig) { - // TODO: Complete member initialization this.managerName = managerName; this.nodeName = nodeName; this.clientConfig = clientConfig; Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/LogFactory.cs URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/LogFactory.cs?rev=1524601&r1=1524600&r2=1524601&view=diff ============================================================================== --- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/LogFactory.cs (original) +++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/LogFactory.cs Thu Sep 19 00:06:38 2013 @@ -108,7 +108,7 @@ namespace org.apache.juddi.v3.client.log public void Dispose() { - throw new NotImplementedException(); + } } } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
