You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by al...@apache.org on 2013/11/09 02:17:20 UTC

svn commit: r1540234 - in /juddi/trunk: juddi-client.net/example/AspnetServiceLifeCycle/ juddi-client.net/juddi-client.net-sample/ juddi-client.net/juddi-client.net/bindings/ juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/ juddi-cl...

Author: alexoree
Date: Sat Nov  9 01:17:19 2013
New Revision: 1540234

URL: http://svn.apache.org/r1540234
Log:
JUDDI-700 done, .NET and Java clients
JUDDI-692 fixing a regression on juddi-gui business browser
JUDDI-509 added for .NET plus example 

Added:
    juddi/trunk/juddi-client.net/example/AspnetServiceLifeCycle/global.asa
    juddi/trunk/juddi-client.net/juddi-client.net-sample/ServiceVersioning.cs
    juddi/trunk/juddi-client.net/juddi-client.net-sample/SimpleInquiry.cs
    juddi/trunk/juddi-client.net/juddi-client.net-sample/findendpoints.cs
Modified:
    juddi/trunk/juddi-client.net/example/AspnetServiceLifeCycle/AspnetServiceLifeCycle.csproj
    juddi/trunk/juddi-client.net/example/AspnetServiceLifeCycle/Program.cs
    juddi/trunk/juddi-client.net/juddi-client.net-sample/Encryption.cs
    juddi/trunk/juddi-client.net/juddi-client.net-sample/Program.cs
    juddi/trunk/juddi-client.net/juddi-client.net-sample/WadlImport.cs
    juddi/trunk/juddi-client.net/juddi-client.net-sample/WsdlImport.cs
    juddi/trunk/juddi-client.net/juddi-client.net-sample/juddi-client.net-sample-mono.csproj
    juddi/trunk/juddi-client.net/juddi-client.net-sample/juddi-client.net-sample.csproj
    juddi/trunk/juddi-client.net/juddi-client.net-sample/uddi.xml
    juddi/trunk/juddi-client.net/juddi-client.net/bindings/JUDDIApiService.cs
    juddi/trunk/juddi-client.net/juddi-client.net/bindings/datamodel-mono.cs
    juddi/trunk/juddi-client.net/juddi-client.net/bindings/datamodel.cs
    juddi/trunk/juddi-client.net/juddi-client.net/bindings/ext.cs
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.config/UDDIClerk.cs
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.mapping/WSDL2UDDI.cs
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/UDDIConstants.cs
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java
    juddi/trunk/juddi-core/src/main/resources/juddi_install_data/UDDI_tModels.xml
    juddi/trunk/juddi-examples/service-version/src/main/java/org/apache/juddi/examples/service/version/ServiceVersioningExample.java
    juddi/trunk/juddi-gui/src/main/webapp/js/serviceBrowse.js

Modified: juddi/trunk/juddi-client.net/example/AspnetServiceLifeCycle/AspnetServiceLifeCycle.csproj
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/example/AspnetServiceLifeCycle/AspnetServiceLifeCycle.csproj?rev=1540234&r1=1540233&r2=1540234&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/example/AspnetServiceLifeCycle/AspnetServiceLifeCycle.csproj (original)
+++ juddi/trunk/juddi-client.net/example/AspnetServiceLifeCycle/AspnetServiceLifeCycle.csproj Sat Nov  9 01:17:19 2013
@@ -49,6 +49,7 @@
     <None Include="App.config" />
   </ItemGroup>
   <ItemGroup>
+    <Content Include="global.asa" />
     <Content Include="uddi.xml">
       <SubType>Designer</SubType>
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>

Modified: juddi/trunk/juddi-client.net/example/AspnetServiceLifeCycle/Program.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/example/AspnetServiceLifeCycle/Program.cs?rev=1540234&r1=1540233&r2=1540234&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/example/AspnetServiceLifeCycle/Program.cs (original)
+++ juddi/trunk/juddi-client.net/example/AspnetServiceLifeCycle/Program.cs Sat Nov  9 01:17:19 2013
@@ -32,7 +32,7 @@ namespace AspnetServiceLifeCycle
     {
         static void Main(string[] args)
         {
-            //Normally, this coder snippet would be executed by some kind of web service life cycle listener
+            //Normally, this code snippet would be executed by some kind of web service life cycle listener
             //such as global.asax
             //a web service contructor
             Type t = typeof(HelloImpl);

Added: juddi/trunk/juddi-client.net/example/AspnetServiceLifeCycle/global.asa
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/example/AspnetServiceLifeCycle/global.asa?rev=1540234&view=auto
==============================================================================
--- juddi/trunk/juddi-client.net/example/AspnetServiceLifeCycle/global.asa (added)
+++ juddi/trunk/juddi-client.net/example/AspnetServiceLifeCycle/global.asa Sat Nov  9 01:17:19 2013
@@ -0,0 +1,22 @@
+<%@ Application Language="C#" %>
+
+<script runat="server">
+
+    
+
+    void Application_Start(object sender, EventArgs e)
+    {
+			// Code that runs on application startup
+
+			Type t = typeof(HelloImpl);
+            UDDIClient clerkManager = null;
+            Transport transport = null;
+            UDDIClerk clerk = null;
+
+            clerkManager = new UDDIClient("uddi.xml");
+            UDDIClientContainer.addClient(clerkManager);
+            clerkManager.registerAnnotatedServices();
+    }
+</script>
+
+//http://weblogs.asp.net/scottgu/archive/2009/09/15/auto-start-asp-net-applications-vs-2010-and-net-4-0-series.aspx
\ No newline at end of file

Modified: juddi/trunk/juddi-client.net/juddi-client.net-sample/Encryption.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net-sample/Encryption.cs?rev=1540234&r1=1540233&r2=1540234&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net-sample/Encryption.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net-sample/Encryption.cs Sat Nov  9 01:17:19 2013
@@ -31,9 +31,9 @@ using System.Text;
 
 namespace org.apache.juddi.client.sample
 {
-    class Encryption
+    public class Encryption
     {
-        static void main(string[] args)
+        public static void main(string[] args)
         {
             AesManaged aes = new AesManaged();
             Console.WriteLine("AesManaged ");

Modified: juddi/trunk/juddi-client.net/juddi-client.net-sample/Program.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net-sample/Program.cs?rev=1540234&r1=1540233&r2=1540234&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net-sample/Program.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net-sample/Program.cs Sat Nov  9 01:17:19 2013
@@ -29,64 +29,39 @@ using System.Security.Cryptography;
 using System.Text;
 
 
-namespace juddi_client.net_sample
+namespace org.apache.juddi.client.sample
+
 {
     class Program
     {
         static void Main(string[] args)
         {
-
-
-            UDDIClient clerkManager = null;
-            Transport transport = null;
-            UDDIClerk clerk = null;
-            try
-            {
-                clerkManager = new UDDIClient("uddi.xml");
-                UDDIClientContainer.addClient(clerkManager);
-
-                transport = clerkManager.getTransport("default");
-
-                org.uddi.apiv3.UDDI_Security_SoapBinding security = transport.getUDDISecurityService();
-                org.uddi.apiv3.UDDI_Inquiry_SoapBinding inquiry = transport.getUDDIInquiryService();
-                org.uddi.apiv3.UDDI_Publication_SoapBinding publish = transport.getUDDIPublishService();
-
-                clerk = clerkManager.getClerk("default");
-
-
-                find_business fb = new find_business();
-                fb.authInfo = clerk.getAuthToken(security.Url);
-                fb.findQualifiers = new string[] { UDDIConstants.APPROXIMATE_MATCH };
-                fb.name = new name[1];
-                fb.name[0] = new name(UDDIConstants.WILDCARD, "en");
-                businessList bl = inquiry.find_business(fb);
-                for (int i = 0; i < bl.businessInfos.Length; i++)
-                {
-                    Console.WriteLine(bl.businessInfos[i].name[0].Value);
-                }
-            }
-            catch (Exception ex)
-            {
-                while (ex != null)
-                {
-                    System.Console.WriteLine("Error! " + ex.Message);
-                    ex = ex.InnerException;
-                }
-            }
-            finally
-            {
-                if (transport != null && transport is IDisposable)
-                {
-                    ((IDisposable)transport).Dispose();
-                }
-                if (clerk != null)
-                    clerk.Dispose();
-            }
-
-
+            Console.Out.WriteLine("jUDDI.Net sampe programs!");
+            Console.Out.WriteLine("1) SimpleInquiry");
+            Console.Out.WriteLine("2) ServiceVersioning");
+            Console.Out.WriteLine("3) Encryption");
+            Console.Out.WriteLine("4) WADL2UDDI");
+            Console.Out.WriteLine("5) WSDL2UDDI");
+            Console.Out.WriteLine("6) Find_endpoints");
+            Console.Out.Write("Enter selection> ");
+            String selection=Console.In.ReadLine();
+            selection = selection.Trim();
+            if (selection.Equals("1"))
+                SimpleInquiry.Run();
+            else if (selection.Equals("2"))
+                new ServiceVersioning().go();
+            else if (selection.Equals("3"))
+                Encryption.main(args);
+            else if (selection.Equals("4"))
+                WadlImport.main(args);
+            else if (selection.Equals("5"))
+                WsdlImport.main(args);
+            else if (selection.Equals("6"))
+                FindendpointsDemo.main(args);
 
             Console.WriteLine("Press any key to exit");
             Console.Read();
+
         }
     }
 }

Added: juddi/trunk/juddi-client.net/juddi-client.net-sample/ServiceVersioning.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net-sample/ServiceVersioning.cs?rev=1540234&view=auto
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net-sample/ServiceVersioning.cs (added)
+++ juddi/trunk/juddi-client.net/juddi-client.net-sample/ServiceVersioning.cs Sat Nov  9 01:17:19 2013
@@ -0,0 +1,172 @@
+using org.apache.juddi.v3.client;
+using org.apache.juddi.v3.client.config;
+using org.apache.juddi.v3.client.transport;
+using org.uddi.apiv3;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace org.apache.juddi.client.sample
+{
+    /// <summary>
+    /// 
+    /// Hello world!
+    /// This gives you an example of one way to use service version with UDDI and is
+    /// a partial solution to https://issues.apache.org/jira/browse/JUDDI-509
+    /// http://www.ibm.com/developerworks/webservices/library/ws-version/
+    /// </summary>
+    public class ServiceVersioning
+    {
+        public void go()
+        {
+
+            Init();
+
+            Setup();
+
+            ServiceLookUpByName();
+
+            ServiceLookUpByVersion();
+
+            Destroy();
+        }
+
+
+        /**
+         * This will setup new a business, service, and binding template that's
+         * versioned per the article linked above
+         */
+        private void Setup()
+        {
+
+            businessEntity be = new businessEntity();
+            keygen = clerk.register(UDDIClerk.createKeyGenator(domain_prefix + "keygenerator", "my domain", lang)).tModel[0];
+
+            be.businessKey = (domain_prefix + "zerocoolbiz");
+            be.name = new name[] { new name("ZeroCool Business", lang) };
+            businessService bs = new businessService();
+            bs.name = new name[] { new name("ZeroCool Service", lang) };
+
+            bs.businessKey = (domain_prefix + "zerocoolbiz");
+            bs.serviceKey = (domain_prefix + "zerocoolsvc");
+
+            //version 1
+            bindingTemplate bt1 = new bindingTemplate();
+            String version = "1.0.0.0";
+            bt1.bindingKey = (domain_prefix + "binding10");
+            bt1.Item = (new accessPoint("http://localhost", "wsdl")) ;
+            bt1.tModelInstanceDetails = new tModelInstanceInfo[] { UDDIClerk.createServiceInterfaceVersion(version, lang) };
+
+            //version 2
+            bindingTemplate bt2 = new bindingTemplate();
+            bt2.bindingKey = (domain_prefix + "binding12");
+            String version2 = "1.2.0.0";
+            bt2.Item =  (new accessPoint("http://localhost", "wsdl")) ;
+            bt2.tModelInstanceDetails = new tModelInstanceInfo[] { UDDIClerk.createServiceInterfaceVersion(version2, lang) };
+
+            bs.bindingTemplates = new bindingTemplate[] { bt1, bt2 };
+            be.businessServices = new businessService[] { bs };
+            clerk.register(be);
+
+        }
+        private String domain_prefix = "uddi:mydomain.com:";
+
+        private String lang = "en";
+
+        /**
+         * this will look up our service by name and we'll discover multiple
+         * bindings with different versions
+         */
+        private void ServiceLookUpByName()
+        {
+
+            //here we are assuming we don't know what key is used for the service, so we look it up
+            find_service fs = new find_service();
+            fs.findQualifiers = new string[] { UDDIConstants.EXACT_MATCH };
+            fs.name = new name[] { new name("ZeroCool Service", lang) };
+            serviceList findService = inquiry.find_service(fs);
+
+            //parse the results and get a list of services to get the details on
+            get_serviceDetail gsd = new get_serviceDetail();
+            List<string> items = new List<string>();
+            for (int i = 0; i < findService.serviceInfos.Length; i++)
+            {
+                items.Add(findService.serviceInfos[i].serviceKey);
+            }
+            gsd.serviceKey = items.ToArray();
+            serviceDetail serviceDetail = inquiry.get_serviceDetail(gsd);
+            List<bindingTemplate> ret = new List<bindingTemplate>();
+            //parse the service details, looking for our versioned service
+            Boolean success = false;
+            if (serviceDetail != null)
+            {
+                for (int i = 0; i < serviceDetail.businessService.Length; i++)
+                {
+                    if (serviceDetail.businessService[i].bindingTemplates != null)
+                    {
+                        List<bindingTemplate> bindingByVersion = UDDIClerk.getBindingByVersion("1.2.0.0",
+                            serviceDetail.businessService[i].bindingTemplates);
+                        for (int x = 0; x < bindingByVersion.Count; x++)
+                        {
+                            success = true;
+                            Console.Out.WriteLine("SUCCESS! Found the right version on key " + bindingByVersion[x].bindingKey);
+                            //TODO so now that you've found the right version of the right service
+                            //now you can go execute that the url
+                        }
+
+                    }
+                }
+            }
+            if (!success)
+            {
+                Console.Out.WriteLine("FAIL! We didn't find a damn thing matching that version number :(" );
+            }
+        }
+
+        /**
+         * this will look up our service by name and version number
+         */
+        private void ServiceLookUpByVersion()
+        {
+            //here we are assuming we don't know what key is used for the service, so we look it up
+            //TODO
+        }
+        private tModel keygen = null;
+        private UDDI_Security_SoapBinding security = null;
+        private UDDI_Inquiry_SoapBinding inquiry = null;
+        private UDDI_Publication_SoapBinding publish = null;
+        private UDDIClient client = null;
+        private UDDIClerk clerk = null;
+
+        private void Init() {
+        try {
+            // create a client and read the config in the archive; 
+            // you can use your config file name
+            client = new UDDIClient("uddi.xml");
+            clerk = client.getClerk("default");
+            // a UddiClient can be a client to multiple UDDI nodes, so 
+            // supply the nodeName (defined in your uddi.xml.
+            // The transport can be WS, inVM, RMI etc which is defined in the uddi.xml
+            Transport transport = client.getTransport("default");
+            // Now you create a reference to the UDDI API
+            security = transport.getUDDISecurityService();
+            inquiry = transport.getUDDIInquiryService();
+            publish = transport.getUDDIPublishService();
+        } catch (Exception e) {
+            while (e!=null)
+            {
+                Console.Out.WriteLine(e.Message + Environment.NewLine + e.StackTrace + Environment.NewLine);
+                e = e.InnerException;
+            }
+        }
+
+    }
+
+        private void Destroy()
+        {
+            clerk.unRegisterBusiness(domain_prefix + "zerocoolbiz");
+            clerk.unRegisterTModel(keygen.tModelKey);
+        }
+    }
+}

Added: juddi/trunk/juddi-client.net/juddi-client.net-sample/SimpleInquiry.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net-sample/SimpleInquiry.cs?rev=1540234&view=auto
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net-sample/SimpleInquiry.cs (added)
+++ juddi/trunk/juddi-client.net/juddi-client.net-sample/SimpleInquiry.cs Sat Nov  9 01:17:19 2013
@@ -0,0 +1,95 @@
+/*
+ * Copyright 2001-2008 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+using net.java.dev.wadl;
+using org.apache.juddi.jaxb;
+using org.apache.juddi.v3.client;
+using org.apache.juddi.v3.client.config;
+using org.apache.juddi.v3.client.crypto;
+using org.apache.juddi.v3.client.mapping;
+using org.apache.juddi.v3.client.transport;
+using org.uddi.apiv3;
+using org.xmlsoap.schemas.easyWsdl;
+using System;
+using System.Collections.Generic;
+using System.Security.Cryptography;
+using System.Text;
+
+
+namespace org.apache.juddi.client.sample
+{
+
+    public static class SimpleInquiry
+    {
+
+        public static void Run()
+        {
+
+            UDDIClient clerkManager = null;
+            Transport transport = null;
+            UDDIClerk clerk = null;
+            try
+            {
+                clerkManager = new UDDIClient("uddi.xml");
+                UDDIClientContainer.addClient(clerkManager);
+
+                transport = clerkManager.getTransport("default");
+
+                org.uddi.apiv3.UDDI_Security_SoapBinding security = transport.getUDDISecurityService();
+                org.uddi.apiv3.UDDI_Inquiry_SoapBinding inquiry = transport.getUDDIInquiryService();
+                org.uddi.apiv3.UDDI_Publication_SoapBinding publish = transport.getUDDIPublishService();
+
+                clerk = clerkManager.getClerk("default");
+
+
+                find_business fb = new find_business();
+                fb.authInfo = clerk.getAuthToken(security.Url);
+                fb.findQualifiers = new string[] { UDDIConstants.APPROXIMATE_MATCH };
+                fb.name = new name[1];
+                fb.name[0] = new name(UDDIConstants.WILDCARD, "en");
+                businessList bl = inquiry.find_business(fb);
+                for (int i = 0; i < bl.businessInfos.Length; i++)
+                {
+                    Console.WriteLine(bl.businessInfos[i].name[0].Value);
+
+                }
+                //  serviceDetail s= clerk.getServiceDetail("uddi:mydomain.com:zerocoolsvc");
+                //   Console.Out.WriteLine(new PrintUDDI<serviceDetail>().print(s));
+            }
+            catch (Exception ex)
+            {
+                while (ex != null)
+                {
+                    System.Console.WriteLine("Error! " + ex.Message);
+                    ex = ex.InnerException;
+                }
+            }
+            finally
+            {
+                if (transport != null && transport is IDisposable)
+                {
+                    ((IDisposable)transport).Dispose();
+                }
+                if (clerk != null)
+                    clerk.Dispose();
+            }
+
+
+
+
+        }
+    }
+}

Modified: juddi/trunk/juddi-client.net/juddi-client.net-sample/WadlImport.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net-sample/WadlImport.cs?rev=1540234&r1=1540233&r2=1540234&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net-sample/WadlImport.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net-sample/WadlImport.cs Sat Nov  9 01:17:19 2013
@@ -31,9 +31,9 @@ using System.Text;
 
 namespace org.apache.juddi.client.sample
 {
-    class WadlImport
+    public class WadlImport
     {
-        static void main(string[] args)
+        public static void main(string[] args)
         {
 
             UDDIClient clerkManager = null;
@@ -121,6 +121,7 @@ namespace org.apache.juddi.client.sample
                 sb.authInfo = clerk.getAuthToken(clerk.getUDDINode().getSecurityUrl());
                 sb.businessEntity = new businessEntity[] { be };
                 publish.save_business(sb);
+                Console.Out.WriteLine("Saved!");
             }
             catch (Exception ex)
             {

Modified: juddi/trunk/juddi-client.net/juddi-client.net-sample/WsdlImport.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net-sample/WsdlImport.cs?rev=1540234&r1=1540233&r2=1540234&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net-sample/WsdlImport.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net-sample/WsdlImport.cs Sat Nov  9 01:17:19 2013
@@ -30,15 +30,14 @@ using System.Text;
 
 namespace org.apache.juddi.client.sample
 {
-    class WsdlImport
+    public class WsdlImport
     {
-        static void main(string[] args)
+        public static void main(string[] args)
         {
             String wsdlURL = "http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL";
             ReadWSDL wsi = new ReadWSDL();
-            org.xmlsoap.schemas.easyWsdl.tDefinitions wsdlDefinition = wsi.parse(
+            org.xmlsoap.schemas.easyWsdl.tDefinitions wsdlDefinition = wsi.readWSDL(
                 // "http://localhost/UDDI_API_V31.wsdl"
-                //@"C:\projects\OpenESM6.3PRC\OpenESM.Discovery.UDDI\src\META-INF\UDDI_API_V31.wsdl"
                 wsdlURL
                 );
             Properties properties1 = new Properties();

Added: juddi/trunk/juddi-client.net/juddi-client.net-sample/findendpoints.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net-sample/findendpoints.cs?rev=1540234&view=auto
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net-sample/findendpoints.cs (added)
+++ juddi/trunk/juddi-client.net/juddi-client.net-sample/findendpoints.cs Sat Nov  9 01:17:19 2013
@@ -0,0 +1,101 @@
+/*
+ * Copyright 2001-2008 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+using net.java.dev.wadl;
+using org.apache.juddi.jaxb;
+using org.apache.juddi.v3.client;
+using org.apache.juddi.v3.client.config;
+using org.apache.juddi.v3.client.crypto;
+using org.apache.juddi.v3.client.mapping;
+using org.apache.juddi.v3.client.transport;
+using org.uddi.apiv3;
+using org.xmlsoap.schemas.easyWsdl;
+using System;
+using System.Collections.Generic;
+using System.Security.Cryptography;
+using System.Text;
+
+
+namespace org.apache.juddi.client.sample
+{
+    public class FindendpointsDemo
+    {
+       public static void main(string[] args)
+       {
+           UDDIClient clerkManager = null;
+           Transport transport = null;
+           UDDIClerk clerk = null;
+           try
+           {
+               clerkManager = new UDDIClient("uddi.xml");
+               UDDIClientContainer.addClient(clerkManager);
+
+               transport = clerkManager.getTransport("default");
+
+               org.uddi.apiv3.UDDI_Security_SoapBinding security = transport.getUDDISecurityService();
+               org.uddi.apiv3.UDDI_Inquiry_SoapBinding inquiry = transport.getUDDIInquiryService();
+               org.uddi.apiv3.UDDI_Publication_SoapBinding publish = transport.getUDDIPublishService();
+
+               clerk = clerkManager.getClerk("default");
+
+
+               find_business fb = new find_business();
+               fb.authInfo = clerk.getAuthToken(security.Url);
+               fb.findQualifiers = new string[] { UDDIConstants.APPROXIMATE_MATCH };
+               fb.name = new name[1];
+               fb.name[0] = new name(UDDIConstants.WILDCARD, "en");
+               businessList bl = inquiry.find_business(fb);
+               for (int i = 0; i < bl.businessInfos.Length; i++)
+               {
+                   Console.WriteLine("Business: " + bl.businessInfos[i].name[0].Value);
+                   if (bl.businessInfos[i].serviceInfos != null && bl.businessInfos[i].serviceInfos.Length > 0)
+                   {
+                       Console.WriteLine("Service: " + bl.businessInfos[i].serviceInfos[0].serviceKey);
+                       Console.WriteLine("Running find_endpoints");
+                       List<String> eps = clerk.getEndpoints(bl.businessInfos[i].serviceInfos[0].serviceKey);
+                       Console.WriteLine(eps.Count + " endpoints found");
+                       for (int k = 0; k < eps.Count; k++)
+                       {
+                           Console.WriteLine("[" + k + "] " + eps[i] );
+                       }
+                       break;
+                   }
+               }
+           }
+           catch (Exception ex)
+           {
+               while (ex != null)
+               {
+                   System.Console.WriteLine("Error! " + ex.Message);
+                   ex = ex.InnerException;
+               }
+           }
+           finally
+           {
+               if (transport != null && transport is IDisposable)
+               {
+                   ((IDisposable)transport).Dispose();
+               }
+               if (clerk != null)
+                   clerk.Dispose();
+           }
+
+
+
+          
+       }
+    }
+}

Modified: juddi/trunk/juddi-client.net/juddi-client.net-sample/juddi-client.net-sample-mono.csproj
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net-sample/juddi-client.net-sample-mono.csproj?rev=1540234&r1=1540233&r2=1540234&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net-sample/juddi-client.net-sample-mono.csproj (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net-sample/juddi-client.net-sample-mono.csproj Sat Nov  9 01:17:19 2013
@@ -41,8 +41,11 @@
   </ItemGroup>
   <ItemGroup>
   <Compile Include="Encryption.cs" />
+ <Compile Include="findendpoints.cs" />
     <Compile Include="Program.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="ServiceVersioning.cs" />
+    <Compile Include="SimpleInquiry.cs" />
     <Compile Include="WadlImport.cs" />
     <Compile Include="WsdlImport.cs" />
   </ItemGroup>

Modified: juddi/trunk/juddi-client.net/juddi-client.net-sample/juddi-client.net-sample.csproj
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net-sample/juddi-client.net-sample.csproj?rev=1540234&r1=1540233&r2=1540234&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net-sample/juddi-client.net-sample.csproj (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net-sample/juddi-client.net-sample.csproj Sat Nov  9 01:17:19 2013
@@ -41,8 +41,11 @@
   </ItemGroup>
   <ItemGroup>
     <Compile Include="Encryption.cs" />
+    <Compile Include="findendpoints.cs" />
     <Compile Include="Program.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="ServiceVersioning.cs" />
+    <Compile Include="SimpleInquiry.cs" />
     <Compile Include="WadlImport.cs" />
     <Compile Include="WsdlImport.cs" />
   </ItemGroup>

Modified: juddi/trunk/juddi-client.net/juddi-client.net-sample/uddi.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net-sample/uddi.xml?rev=1540234&r1=1540233&r2=1540234&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net-sample/uddi.xml (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net-sample/uddi.xml Sat Nov  9 01:17:19 2013
@@ -8,8 +8,14 @@
         <name>default</name>
         <description>Main jUDDI node</description>
         <properties>
+          <!-- for a live instance of jUDDI, use this url
           <property name="serverName" value="uddi-jbossoverlord.rhcloud.com" />
-          <property name="serverPort" value="80" />
+          <property name="serverPort" value="80" />-->
+
+          <!-- for a dev instance of jUDDI, use this url -->
+          <property name="serverName" value="localhost" />
+          <property name="serverPort" value="8080" />
+          
 		  <!-- for UDDI nodes that use HTTP u/p, using the following 
 					<property name="basicAuthUsername" value="root" />
 					<property name="basicAuthPassword" value="password" />
@@ -17,13 +23,13 @@
 					<property name="basicAuthPasswordCryptoProvider" value="org.apache.juddi.v3.client.crypto.AES128Cryptor (an example)" />-->
         </properties>
         <proxyTransport>org.apache.juddi.v3.client.transport.AspNetTransport</proxyTransport>
-        <custodyTransferUrl>http://${serverName}:${serverPort}/services/custody-transfer?wsdl</custodyTransferUrl>
-        <inquiryUrl>http://${serverName}:${serverPort}/services/inquiry?wsdl</inquiryUrl>
-        <publishUrl>http://${serverName}:${serverPort}/services/publish?wsdl</publishUrl>
-        <securityUrl>http://${serverName}:${serverPort}/services/security?wsdl</securityUrl>
-        <subscriptionUrl>http://${serverName}:${serverPort}/services/subscription?wsdl</subscriptionUrl>
-        <subscriptionListenerUrl>http://${serverName}:${serverPort}/services/subscription-listener?wsdl</subscriptionListenerUrl>
-        <juddiApiUrl>http://${serverName}:${serverPort}/services/juddi-api?wsdl</juddiApiUrl>
+        <custodyTransferUrl>http://${serverName}:${serverPort}/juddiv3/services/custody-transfer?wsdl</custodyTransferUrl>
+        <inquiryUrl>http://${serverName}:${serverPort}/juddiv3/services/inquiry?wsdl</inquiryUrl>
+        <publishUrl>http://${serverName}:${serverPort}/juddiv3/services/publish?wsdl</publishUrl>
+        <securityUrl>http://${serverName}:${serverPort}/juddiv3/services/security?wsdl</securityUrl>
+        <subscriptionUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription?wsdl</subscriptionUrl>
+        <subscriptionListenerUrl>http://${serverName}:${serverPort}/juddiv3/services/subscription-listener?wsdl</subscriptionListenerUrl>
+        <juddiApiUrl>http://${serverName}:${serverPort}/juddiv3/services/juddi-api?wsdl</juddiApiUrl>
         <factoryInitial>not used</factoryInitial>
         <factoryURLPkgs>not used</factoryURLPkgs>
         <factoryNamingProvider>not used</factoryNamingProvider>

Modified: juddi/trunk/juddi-client.net/juddi-client.net/bindings/JUDDIApiService.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/bindings/JUDDIApiService.cs?rev=1540234&r1=1540233&r2=1540234&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/bindings/JUDDIApiService.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/bindings/JUDDIApiService.cs Sat Nov  9 01:17:19 2013
@@ -1045,6 +1045,10 @@ namespace org.apache.juddi.apiv3
                 this.factoryNamingProviderField = value;
             }
         }
+
+
+
+        
     }
 
     /// <remarks/>

Modified: juddi/trunk/juddi-client.net/juddi-client.net/bindings/datamodel-mono.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/bindings/datamodel-mono.cs?rev=1540234&r1=1540233&r2=1540234&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/bindings/datamodel-mono.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/bindings/datamodel-mono.cs Sat Nov  9 01:17:19 2013
@@ -2155,7 +2155,11 @@ namespace org.uddi.apiv3
             }
         }
 
-        /// <remarks/>
+          /// <summary>
+        /// 
+        /// accessPoint or hostingRedirector
+        /// </summary>
+
         [System.Xml.Serialization.XmlElementAttribute("accessPoint", typeof(accessPoint))]
         [System.Xml.Serialization.XmlElementAttribute("hostingRedirector", typeof(hostingRedirector))]
         public object Item
@@ -2413,7 +2417,10 @@ namespace org.uddi.apiv3
         }
     }
 
-    /// <remarks/>
+/// <summary>
+    /// heavily modified to fix serialization problems
+    /// </summary>
+    
     [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.17929")]
     [System.SerializableAttribute()]
     [System.Diagnostics.DebuggerStepThroughAttribute()]
@@ -2440,8 +2447,11 @@ namespace org.uddi.apiv3
             }
         }
 
+    /// <summary>
+        /// overviewDoc
+       /// </summary>
         /// <remarks/>
-        [System.Xml.Serialization.XmlElementAttribute("instanceParms", typeof(string))]
+
         [System.Xml.Serialization.XmlElementAttribute("overviewDoc", typeof(overviewDoc))]
         public object[] Items
         {
@@ -2454,9 +2464,24 @@ namespace org.uddi.apiv3
                 this.itemsField = value;
             }
         }
+ string param;
+        [System.Xml.Serialization.XmlElementAttribute("instanceParms", typeof(string))]
+        public string instanceParms
+        {
+            get
+            {
+                return this.param;
+            }
+            set
+            {
+                this.param = value;
+            }
+        }
     }
+     /// <summary>
+    /// heavily modified to fix serialization problems
+    /// </summary>
 
-    /// <remarks/>
     [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.17929")]
     [System.SerializableAttribute()]
     [System.Diagnostics.DebuggerStepThroughAttribute()]
@@ -2465,12 +2490,26 @@ namespace org.uddi.apiv3
     public partial class overviewDoc
     {
 
-        private object[] itemsField;
-
-        /// <remarks/>
+        private overviewURL[] itemsField;
+ private description[] descfield;
+        /// <summary>
+        /// description or overviewURL
+        /// </summary>
         [System.Xml.Serialization.XmlElementAttribute("description", typeof(description))]
-        [System.Xml.Serialization.XmlElementAttribute("overviewURL", typeof(overviewURL))]
-        public object[] Items
+        public description[] descriptions
+        {
+            get
+            {
+                return this.descfield;
+            }
+            set
+            {
+                this.descfield = value;
+            }
+        }
+        /// <remarks/>
+            [System.Xml.Serialization.XmlElementAttribute("overviewURL", typeof(overviewURL))]
+        public overviewURL[] Items
         {
             get
             {

Modified: juddi/trunk/juddi-client.net/juddi-client.net/bindings/datamodel.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/bindings/datamodel.cs?rev=1540234&r1=1540233&r2=1540234&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/bindings/datamodel.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/bindings/datamodel.cs Sat Nov  9 01:17:19 2013
@@ -2418,7 +2418,9 @@ namespace org.uddi.apiv3
         }
     }
 
-    /// <remarks/>
+    /// <summary>
+    /// heavily modified to fix serialization problems
+    /// </summary>
     [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.17929")]
     [System.SerializableAttribute()]
     [System.Diagnostics.DebuggerStepThroughAttribute()]
@@ -2445,10 +2447,10 @@ namespace org.uddi.apiv3
             }
         }
 
-       /// <summary>
-        /// instanceParms or overviewDoc
-       /// </summary>
-        [System.Xml.Serialization.XmlElementAttribute("instanceParms", typeof(string))]
+        /// <summary>
+        /// overviewDoc
+        /// </summary>
+
         [System.Xml.Serialization.XmlElementAttribute("overviewDoc", typeof(overviewDoc))]
         public object[] Items
         {
@@ -2461,9 +2463,24 @@ namespace org.uddi.apiv3
                 this.itemsField = value;
             }
         }
+        string param;
+        [System.Xml.Serialization.XmlElementAttribute("instanceParms", typeof(string))]
+        public string instanceParms
+        {
+            get
+            {
+                return this.param;
+            }
+            set
+            {
+                this.param = value;
+            }
+        }
     }
 
-    /// <remarks/>
+    /// <summary>
+    /// heavily modified to fix serialization problems
+    /// </summary>
     [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.17929")]
     [System.SerializableAttribute()]
     [System.Diagnostics.DebuggerStepThroughAttribute()]
@@ -2472,12 +2489,26 @@ namespace org.uddi.apiv3
     public partial class overviewDoc
     {
 
-        private object[] itemsField;
-
-        /// <remarks/>
+        private overviewURL[] itemsField;
+        private description[] descfield;
+        /// <summary>
+        /// description or overviewURL
+        /// </summary>
         [System.Xml.Serialization.XmlElementAttribute("description", typeof(description))]
+        public description[] descriptions
+        {
+            get
+            {
+                return this.descfield;
+            }
+            set
+            {
+                this.descfield = value;
+            }
+        }
+
         [System.Xml.Serialization.XmlElementAttribute("overviewURL", typeof(overviewURL))]
-        public object[] Items
+        public overviewURL[] overviewURLs
         {
             get
             {

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=1540234&r1=1540233&r2=1540234&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 Sat Nov  9 01:17:19 2013
@@ -21,9 +21,19 @@ using System;
 namespace org.uddi.apiv3
 {
 
+ 
+  
+    public partial class accessPoint
+    {
+        public accessPoint(String value, String usetype)
+        {
+            this.Value = value;
+            this.useType = useType;
+        }
+    }
+
     public partial class overviewURL
     {
-        
         public overviewURL(String value, String usetype)
         {
             this.Value = value;
@@ -190,6 +200,25 @@ namespace org.apache.juddi.apiv3
         }
 
     }
+    public partial class node
+    {
+        public string getSecurityUrl()
+        {
+            return this.securityUrl;
+        }
+        public string getInquiryUrl()
+        {
+            return this.inquiryUrl;
+        }
+    }
+    
+    public partial class clerk
+    {
+        public node getNode()
+        {
+            return node;
+        }
 
+    }
 
 }

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=1540234&r1=1540233&r2=1540234&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 Sat Nov  9 01:17:19 2013
@@ -15,13 +15,15 @@
  *
  */
 
+using org.apache.juddi.apiv3;
 using org.apache.juddi.v3.client.crypto;
 using org.apache.juddi.v3.client.log;
+using org.apache.juddi.v3.client.mapping;
 using org.uddi.apiv3;
+using org.xmlsoap.schemas.easyWsdl;
 using System;
 using System.Collections.Generic;
 using System.Configuration;
-
 using System.Text;
 
 namespace org.apache.juddi.v3.client.config
@@ -972,7 +974,7 @@ namespace org.apache.juddi.v3.client.con
             overviewURL overviewUrl = new overviewURL();
             overviewUrl.useType = ("text");
             overviewUrl.Value = ("http://uddi.org/pubs/uddi_v3.htm#keyGen");
-            overviewDoc.Items = new object[] { overviewUrl };
+            overviewDoc.overviewURLs = new overviewURL[] { overviewUrl };
             tm.overviewDoc = new overviewDoc[] { overviewDoc };
             tm.tModelKey = (partitionName.ToLower());
             return tm;
@@ -1019,5 +1021,350 @@ namespace org.apache.juddi.v3.client.con
         {
             uddinode.Dispose();
         }
+
+
+        /**
+         * This is a convenience function that will build and return a TModelInstanceInfo
+         * as described in the following link that will enable you to tag web services
+         * registered in UDDI with some kind of version information.<Br><Br>
+         * Article source: <a href="http://www.ibm.com/developerworks/webservices/library/ws-version/">http://www.ibm.com/developerworks/webservices/library/ws-version/</a>
+         * <Br><Br>
+         * 
+         * When using this tModel as a tModelInstance, it can be used to describe a 
+         * version associated with either a service interface, a bindingTemplate 
+         * service instance. Note: This is a jUDDI specific addon and may not be 
+         * present in other registries
+         * 
+         * @param version From the article, no specificity is provided on what to use as a value, but
+         * we recommend that you use the string representation of major.minor[.build[.revision]].<br>
+         * Example 
+         * <ul>
+         * <li>6.1.2.3</li>
+         * <li>1.0</li>
+         * <li>0.1</li>
+         * </ul>
+         * @return TModelInstanceInfo populated as described in the article, plus some descriptive information
+         */
+        public static tModelInstanceInfo createServiceInterfaceVersion(String version, String lang)
+        {
+            if (version == null)
+                throw new ArgumentNullException();
+            tModelInstanceInfo tt = new tModelInstanceInfo();
+            tt.tModelKey = (UDDIConstants.VERSION_TMODEL);
+            tt.instanceDetails = new instanceDetails();
+
+
+            overviewDoc doc = new overviewDoc();
+            doc.overviewURLs = new overviewURL[] { (new overviewURL("http://www.ibm.com/developerworks/webservices/library/ws-version/", "text")) };
+            //,new description(
+            //"Describes a version associated with either a service interface, a bindingTemplate service instance.", lang)};
+            tt.description = new description[] { new description("Describes a version associated with either a service interface, a bindingTemplate service instance.", lang) };
+
+            tt.instanceDetails.Items = new object[] { doc };
+            tt.instanceDetails.instanceParms = version;
+
+            //tt.instanceDetails.Items = new object[] { doc };
+            return tt;
+        }
+
+        /**
+         * This is a convenience function that will filter a list of binding templates
+         * and return a list of bindings matching the specified version number.
+         * 
+         * This implements and expands upon service versioning described in the 
+         * following link and will enable you to tag web services
+         * registered in UDDI with some kind of version information.<Br><Br>
+         * Article source: <a href="http://www.ibm.com/developerworks/webservices/library/ws-version/">http://www.ibm.com/developerworks/webservices/library/ws-version/</a>
+         * <Br><Br>
+         * @see createServiceInterfaceVersion for more information<Br><br>
+         * 
+         * This function operates using tModelInstances that are used to describe a 
+         * version associated with either a service interface, a bindingTemplate 
+         * service instance. Note: This is a jUDDI specific addon and may not be 
+         * present in other registries
+         * 
+         * @param version From the article, no specificity is provided on what to use as a value, but
+         * we recommend that you use the string representation of major.minor[.build[.revision]].<br>
+         * Example 
+         * <ul>
+         * <li>6.1.2.3</li>
+         * <li>1.0</li>
+         * <li>0.1</li>
+         * </ul>
+         * @param version
+         * @param bindingTemplate
+         * @return a list if binding templates where the version equals ignoring case trimmed equals the version value
+         */
+        public static List<bindingTemplate> getBindingByVersion(String version, bindingTemplate[] bindingTemplate)
+        {
+            if (version == null)
+            {
+                throw new ArgumentNullException();
+            }
+            if (bindingTemplate == null)
+            {
+                throw new ArgumentNullException();
+            }
+            List<bindingTemplate> ret = new List<bindingTemplate>();
+            for (int i = 0; i < bindingTemplate.Length; i++)
+            {
+                if (bindingTemplate[i].tModelInstanceDetails != null)
+                {
+                    for (int k = 0; k < bindingTemplate[i].tModelInstanceDetails.Length; k++)
+                    {
+                        if (bindingTemplate[i].tModelInstanceDetails[k].tModelKey.Equals(UDDIConstants.VERSION_TMODEL))
+                        {
+                            if (bindingTemplate[i].tModelInstanceDetails[k].instanceDetails != null)
+                            {
+                                if (bindingTemplate[i].tModelInstanceDetails[k].instanceDetails.instanceParms != null)
+                                {
+                                    if ((bindingTemplate[i].tModelInstanceDetails[k].instanceDetails.instanceParms.Trim().Equals(version.Trim(), StringComparison.CurrentCultureIgnoreCase)))
+                                    {
+                                        ret.Add(bindingTemplate[i]);
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+            return ret;
+        }
+
+
+
+
+        /**
+         * JUDDI-700
+         * This implements the "find_endpoints" pattern as described in Alex O'Ree's
+         * Master's Thesis on UDDI. Basically, UDDI never provided a 'simple' way to 
+         * get a list of execution URLs for a web service. This function will resolve
+         * all AccessPoint and HostingRedictor indirections and provide to you a list
+         * of URLs that <i>should</i> be accessible for the given service.
+         * @param serviceKey
+         * @return 
+         */
+        public List<String> getEndpoints(String serviceKey)
+        {
+            List<String> items = new List<String>();
+            serviceDetail serviceDetail = null;
+            try
+            {
+                serviceDetail = this.getServiceDetail(serviceKey);
+            }
+            catch (Exception ex)
+            {
+                log.error("Unable to fetch the specified service's details", ex);
+            }
+            if (serviceDetail == null)
+            {
+                return items;
+            }
+            for (int i = 0; i < serviceDetail.businessService.Length; i++)
+            {
+                if (serviceDetail.businessService[i].bindingTemplates != null)
+                {
+                    for (int k = 0; k < serviceDetail.businessService[i].bindingTemplates.Length; k++)
+                    {
+                        try
+                        {
+                            items.AddRange(ParseBinding(serviceDetail.businessService[i].bindingTemplates[k]));
+                        }
+                        catch (Exception ex)
+                        {
+                            log.warn("error parsing binding", ex);
+                        }
+                    }
+                }
+            }
+            return items;
+        }
+
+        private List<String> GetBindingInfo(String value)
+        {
+            List<String> items = new List<String>();
+            if (value == null)
+            {
+                return items;
+            }
+
+            get_bindingDetail b = new get_bindingDetail();
+            b.authInfo = (getAuthToken(this.getApiClerk().getNode().getSecurityUrl()));
+            b.bindingKey = new string[] { (value) };
+            bindingDetail bindingDetail = getUDDINode().getTransport().getUDDIInquiryService(this.getApiClerk().getNode().getInquiryUrl()).get_bindingDetail(b);
+            if (bindingDetail.bindingTemplate != null)
+                for (int i = 0; i < bindingDetail.bindingTemplate.Length; i++)
+                {
+                    items.AddRange(ParseBinding(bindingDetail.bindingTemplate[i]));
+                }
+            return items;
+        }
+
+        private clerk getApiClerk()
+        {
+            clerk apiClerk = new clerk();
+            apiClerk.name = (name);
+            apiClerk.node = (uddinode.getApiNode());
+            apiClerk.password = (password);
+            apiClerk.publisher = (publisher);
+            return apiClerk;
+        }
+
+        private List<String> ParseBinding(bindingTemplate get)
+        {
+            List<String> items = new List<String>();
+            if (get == null || get.Item == null)
+            {
+                return items;
+            }
+            if (get.Item is hostingRedirector)
+            {
+                //hosting Redirector is the same as "reference this other binding template". It's actually deprecated so 
+                //don't expect to see this too often
+                items.AddRange(GetBindingInfo(((hostingRedirector)get.Item).bindingKey));
+            }
+            if (get.Item is accessPoint)
+            {
+                String usetype = ((accessPoint)get.Item).useType;
+                if (usetype == null)
+                {
+                    //this is unexpected, usetype is a required field
+                    items.Add(((accessPoint)get.Item).Value);
+                }
+                else if (usetype.Equals(AccessPointType.bindingTemplate.ToString(), StringComparison.CurrentCultureIgnoreCase))
+                {
+                    //referencing another binding template
+                    items.AddRange(GetBindingInfo(((accessPoint)get.Item).Value));
+                }
+                else if (usetype.Equals(AccessPointType.hostingDirector.ToString(), StringComparison.CurrentCultureIgnoreCase))
+                {
+                    //this one is a bit strange. the value should be a binding template
+
+                    items.AddRange(GetBindingInfo(((accessPoint)get.Item).Value));
+
+                }
+                else if (usetype.Equals(AccessPointType.wsdlDeployment.ToString(), StringComparison.CurrentCultureIgnoreCase))
+                {
+                    //fetch wsdl and parse
+                    items.AddRange(FetchWSDL(((accessPoint)get.Item).Value));
+                }
+                else if (usetype.Equals(AccessPointType.endPoint.ToString(), StringComparison.CurrentCultureIgnoreCase))
+                {
+                    items.Add(((accessPoint)get.Item).Value);
+                }
+                else
+                {
+                    //treat it has an extension or whatever
+                    items.Add(((accessPoint)get.Item).Value);
+                }
+
+            }
+
+            return items;
+        }
+
+
+        /**
+         * fetches a wsdl endpoint and parses for execution urls
+         * @param value
+         * @return 
+         */
+        private List<String> FetchWSDL(String value)
+        {
+            List<String> items = new List<String>();
+
+            if (value.StartsWith("http://") || value.StartsWith("https://"))
+            {
+                //here, we need an HTTP Get for WSDLs
+                org.apache.juddi.v3.client.mapping.ReadWSDL r = new ReadWSDL();
+                r.setIgnoreSSLErrors(true);
+                try
+                {
+                    tDefinitions wsdlDefinition = r.readWSDL(value);
+                    Properties properties = new Properties();
+
+
+                    properties.put("keyDomain", "domain");
+                    properties.put("businessName", "biz");
+                    properties.put("serverName", "localhost");
+                    properties.put("serverPort", "80");
+
+                    WSDL2UDDI wsdl2UDDI = new WSDL2UDDI(null, new URLLocalizer(), properties);
+                    businessService[] businessServices = wsdl2UDDI.createBusinessServices(wsdlDefinition);
+                    for (int i = 0; i < businessServices.Length; i++)
+                    {
+                        if (businessServices[i].bindingTemplates != null)
+                        {
+                            for (int k = 0; k < businessServices[i].bindingTemplates.Length; k++)
+                            {
+                                items.AddRange(ParseBinding(businessServices[i].bindingTemplates[k]));
+                            }
+                        }
+                    }
+                }
+                catch (Exception ex)
+                {
+                    log.error("error fetching wsdl for parsing", ex);
+                }
+
+            }
+            return items;
+        }
+
+        /**
+         * Gets service details or NULL if it doesn't exist or an error occurred
+         * @param key
+         * @return
+         * @throws RemoteException
+         * @throws ConfigurationException
+         * @throws TransportException 
+         */
+        public serviceDetail getServiceDetail(String key)
+        {
+            get_serviceDetail getTModelDetail = new get_serviceDetail();
+            getTModelDetail.serviceKey = new string[] { key };
+            return getServiceDetail(getTModelDetail);
+        }
+
+        /**
+         * Gets service details or NULL if it doesn't exist or an error occurred
+         * @param getDetail
+         * @return
+         * @throws RemoteException
+         * @throws ConfigurationException
+         * @throws TransportException 
+         */
+        public serviceDetail getServiceDetail(get_serviceDetail getDetail)
+        {
+            return getServiceDetail(getDetail, this.getUDDINode().getApiNode());
+        }
+
+        /**
+         * Gets service details or NULL if it doesn't exist or an error occurred
+         * @param getDetail
+         * @param node
+         * @return
+         * @throws RemoteException
+         * @throws TransportException
+         * @throws ConfigurationException 
+         */
+        public serviceDetail getServiceDetail(get_serviceDetail getDetail, node node)
+        {
+
+            getDetail.authInfo = (getAuthToken(node.securityUrl));
+            try
+            {
+                serviceDetail tModelDetail = getUDDINode().getTransport().getUDDIInquiryService(node.inquiryUrl).get_serviceDetail(getDetail);
+                return tModelDetail;
+            }
+            catch (Exception dr)
+            {
+                //dispositionReport report = DispositionReportFaultMessage.getDispositionReport(dr);
+                log.error("error fetching service detail", dr);
+            }
+            return null;
+        }
+
     }
+
 }

Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.mapping/WSDL2UDDI.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.mapping/WSDL2UDDI.cs?rev=1540234&r1=1540233&r2=1540234&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.mapping/WSDL2UDDI.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.mapping/WSDL2UDDI.cs Sat Nov  9 01:17:19 2013
@@ -97,28 +97,31 @@ namespace org.apache.juddi.v3.client.map
         }
         public businessService[] registerBusinessServices(org.xmlsoap.schemas.easyWsdl.tDefinitions wsdlDefinition)
         {
-            List< businessService> businessServices = new List<businessService>();
-            Dictionary<apache.juddi.v3.client.mapping.QName, org.xmlsoap.schemas.easyWsdl.tService>.Enumerator it= wsdlDefinition.getAllServices().GetEnumerator();
-        while (it.MoveNext()) {
-            QName serviceQName = (QName) it.Current.Key;
-            org.xmlsoap.schemas.easyWsdl.tService service = wsdlDefinition.getService(serviceQName);
-            businessService businessService = null;
-            //add service
-            Uri serviceUrl = null;
-            if (service.port != null && service.port.Count > 0) {
-              HashSet<org.xmlsoap.schemas.easyWsdl.tPort>.Enumerator it2=  service.port.GetEnumerator();
-                while (it2.MoveNext())
+            List<businessService> businessServices = new List<businessService>();
+            Dictionary<apache.juddi.v3.client.mapping.QName, org.xmlsoap.schemas.easyWsdl.tService>.Enumerator it = wsdlDefinition.getAllServices().GetEnumerator();
+            while (it.MoveNext())
+            {
+                QName serviceQName = (QName)it.Current.Key;
+                org.xmlsoap.schemas.easyWsdl.tService service = wsdlDefinition.getService(serviceQName);
+                businessService businessService = null;
+                //add service
+                Uri serviceUrl = null;
+                if (service.port != null && service.port.Count > 0)
                 {
-                //for (Object portName : service.getPorts().keySet()) {
-                    businessService = registerBusinessService(serviceQName, (String) it2.Current.name, serviceUrl, wsdlDefinition).getBusinessService();
+                    HashSet<org.xmlsoap.schemas.easyWsdl.tPort>.Enumerator it2 = service.port.GetEnumerator();
+                    while (it2.MoveNext())
+                    {
+                        //for (Object portName : service.getPorts().keySet()) {
+                        businessService = registerBusinessService(serviceQName, (String)it2.Current.name, serviceUrl, wsdlDefinition).getBusinessService();
+                    }
+                }
+                if (businessService != null)
+                {
+                    businessServices.Add(businessService);
                 }
             }
-            if (businessService != null) {
-                businessServices.Add(businessService);
-            }
-        }
 
-        return businessServices.ToArray();
+            return businessServices.ToArray();
 
         }
         public ServiceRegistrationResponse registerBusinessService(QName serviceQName, String portName, Uri serviceUrl,
@@ -807,7 +810,7 @@ namespace org.apache.juddi.v3.client.map
                 overviewURL.useType = (AccessPointType.wsdlDeployment.ToString());
                 overviewURL.Value = (wsdlURL);
                 overviewDoc overviewDoc = new overviewDoc();
-                overviewDoc.Items = new object[] { (overviewURL) };
+                overviewDoc.overviewURLs = new overviewURL[] { (overviewURL) };
                 tModel.overviewDoc = new overviewDoc[] { (overviewDoc) };
                 // Create the categoryBag, The tModel MUST contain a categoryBag
                 categoryBag categoryBag = new categoryBag();
@@ -987,7 +990,7 @@ namespace org.apache.juddi.v3.client.map
                 overviewURL.useType = (AccessPointType.wsdlDeployment.ToString());
                 overviewURL.Value = (wsdlURL);
                 overviewDoc overviewDoc = new overviewDoc();
-                overviewDoc.Items = new Object[] { (overviewURL) };
+                overviewDoc.overviewURLs = new overviewURL[] { (overviewURL) };
                 tModel.overviewDoc = new overviewDoc[] { (overviewDoc) };
                 // Set the categoryBag
                 categoryBag categoryBag = new categoryBag();
@@ -1099,21 +1102,33 @@ namespace org.apache.juddi.v3.client.map
     /// </summary>
     public class ReadWSDL
     {
+        bool ignoressl = false;
+        public bool ignoreSSLErrors
+        {
+            get { return ignoressl; }
+            set { ignoressl = value; }
+        }
 
-
-        public org.xmlsoap.schemas.easyWsdl.tDefinitions parse(String file)
+        public org.xmlsoap.schemas.easyWsdl.tDefinitions readWSDL(String file)
         {
             org.xmlsoap.schemas.easyWsdl.tDefinitions wsdl = getWsdl(file);
             return wsdl;
         }
 
+
         org.xmlsoap.schemas.easyWsdl.tDefinitions getWsdl(String url)
         {
             org.xmlsoap.schemas.tDefinitions imported = null;
             //read it
             if (url.StartsWith("http", StringComparison.CurrentCultureIgnoreCase))
             {
+                if (url.StartsWith("https", StringComparison.CurrentCultureIgnoreCase) && ignoressl)
+                {
+                    ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
+                }
                 WebClient c = new WebClient();
+                if (url.StartsWith("https", StringComparison.CurrentCultureIgnoreCase) && ignoressl)
+                    ServicePointManager.ServerCertificateValidationCallback = null;
                 String s = c.DownloadString(url);
                 StringReader sr = new StringReader(s);
                 XmlSerializer xs = new XmlSerializer(typeof(org.xmlsoap.schemas.tDefinitions));
@@ -1204,6 +1219,11 @@ namespace org.apache.juddi.v3.client.map
 
         }
 
+
+        public void setIgnoreSSLErrors(bool p)
+        {
+            ignoressl = p;
+        }
     }
 
 

Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/UDDIConstants.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/UDDIConstants.cs?rev=1540234&r1=1540233&r2=1540234&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/UDDIConstants.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client/UDDIConstants.cs Sat Nov  9 01:17:19 2013
@@ -27,6 +27,13 @@ namespace org.apache.juddi.v3.client
     public static class UDDIConstants
     {
 
+        /// <summary>
+        /// identifies a tmodel instance info containing some version information of a service
+        /// a juddi extension based on 
+        /// http://www.ibm.com/developerworks/webservices/library/ws-version/
+        /// </summary>
+        public static readonly String VERSION_TMODEL = "urn:uddi:uddi.org:version";
+
         ///
         ///andAllKeys: this changes the behavior for identifierBag to AND keys
         ///rather than OR them. This is already the default for categoryBag and
@@ -653,7 +660,7 @@ namespace org.apache.juddi.v3.client
 
 
 
-        public static  int MAX_xml_lang_length = 26;
+        public static int MAX_xml_lang_length = 26;
         public static int MAX_description_length = 255;
         public static int MAX_discoveryURL_length = 4096;
     }

Modified: juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java?rev=1540234&r1=1540233&r2=1540234&view=diff
==============================================================================
--- juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java (original)
+++ juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java Sat Nov  9 01:17:19 2013
@@ -29,6 +29,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 import javax.wsdl.Definition;
 import javax.xml.ws.Holder;
@@ -37,6 +39,7 @@ import javax.xml.ws.soap.SOAPFaultExcept
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.juddi.api_v3.AccessPointType;
 import org.apache.juddi.api_v3.Clerk;
 import org.apache.juddi.api_v3.ClerkDetail;
 import org.apache.juddi.api_v3.Node;
@@ -54,6 +57,7 @@ import org.uddi.api_v3.BindingTemplate;
 import org.uddi.api_v3.BusinessDetail;
 import org.uddi.api_v3.BusinessEntity;
 import org.uddi.api_v3.BusinessService;
+import org.uddi.api_v3.BusinessServices;
 import org.uddi.api_v3.CategoryBag;
 import org.uddi.api_v3.DeleteBinding;
 import org.uddi.api_v3.DeleteBusiness;
@@ -715,6 +719,8 @@ public class UDDIClerk implements Serial
 
     /**
      * Gets an auth token from the uddi server using the uddi auth token
+     * <br>
+     * Notice: never log auth tokens! Treat it like a password
      * 
      * notes: changed to public to have access from the subscription callback API 8/20/2013 AO
      * @param endpointURL
@@ -1013,7 +1019,7 @@ public class UDDIClerk implements Serial
         doc.getDescription().add(new Description(
                 "Describes a version associated with either a service interface, a bindingTemplate service instance.", lang));
         tt.getDescription().add(new Description("Describes a version associated with either a service interface, a bindingTemplate service instance.", lang));
-        tt.getInstanceDetails().getOverviewDoc().add(new OverviewDoc());
+        tt.getInstanceDetails().getOverviewDoc().add(doc);
         return tt;
     }
     
@@ -1071,4 +1077,188 @@ public class UDDIClerk implements Serial
         }
         return ret;
     }
+    
+    /**
+     * JUDDI-700
+     * This implements the "find_endpoints" pattern as described in Alex O'Ree's
+     * Master's Thesis on UDDI. Basically, UDDI never provided a 'simple' way to 
+     * get a list of execution URLs for a web service. This function will resolve
+     * all AccessPoint and HostingRedictor indirections and provide to you a list
+     * of URLs that <i>should</i> be accessible for the given service.
+     * @param serviceKey
+     * @return 
+     */
+    public List<String> GetEndpoints(String serviceKey){
+            List<String> items = new ArrayList<String>();
+            ServiceDetail serviceDetail=null;
+            try{
+                   serviceDetail = this.getServiceDetail(serviceKey);
+            }
+            catch (Exception ex){
+                log.error("Unable to fetch the specified service's details", ex);
+            }
+        if (serviceDetail == null) {
+            return items;
+        }
+        for (int i = 0; i < serviceDetail.getBusinessService().size(); i++) {
+            if (serviceDetail.getBusinessService().get(i).getBindingTemplates() != null) {
+                for (int k = 0; k < serviceDetail.getBusinessService().get(i).getBindingTemplates().getBindingTemplate().size(); k++) {
+                    try {
+                        items.addAll(ParseBinding(serviceDetail.getBusinessService().get(i).getBindingTemplates().getBindingTemplate().get(k)));
+                    } catch (Exception ex) {
+                        log.warn(ex);
+                    }
+                }
+            }
+        }
+        return items;
+    }
+    
+      private List<String> GetBindingInfo(String value) throws Exception {
+        List<String> items = new ArrayList<String>();
+        if (value == null) {
+            return items;
+        }
+        
+        GetBindingDetail b = new GetBindingDetail();
+        b.setAuthInfo(getAuthToken(this.getApiClerk().getNode().getSecurityUrl()));
+        b.getBindingKey().add(value);
+        BindingDetail bindingDetail = getUDDINode().getTransport().getUDDIInquiryService(this.getApiClerk().getNode().getInquiryUrl()).getBindingDetail(b);
+        for (int i = 0; i < bindingDetail.getBindingTemplate().size(); i++) {
+            items.addAll(ParseBinding(bindingDetail.getBindingTemplate().get(i)));
+        }
+        return items;
+    }
+      private List<String> ParseBinding(BindingTemplate get) throws Exception {
+        List<String> items = new ArrayList<String>();
+        if (get == null || get.getAccessPoint() == null) {
+            return items;
+        }
+        if (get.getHostingRedirector() != null) {
+            //hosting Redirector is the same as "reference this other binding template". It's actually deprecated so 
+            //don't expect to see this too often
+            items.addAll(GetBindingInfo(get.getHostingRedirector().getBindingKey()));
+        }
+        if (get.getAccessPoint() != null) {
+            String usetype = get.getAccessPoint().getUseType();
+            if (usetype == null) {
+                //this is unexpected, usetype is a required field
+                items.add(get.getAccessPoint().getValue());
+            } else if (usetype.equalsIgnoreCase(AccessPointType.BINDING_TEMPLATE.toString())) {
+                //referencing another binding template
+                items.addAll(GetBindingInfo(get.getAccessPoint().getValue()));
+            } else if (usetype.equalsIgnoreCase(AccessPointType.HOSTING_REDIRECTOR.toString())) {
+                //this one is a bit strange. the value should be a binding template
+
+                items.addAll(GetBindingInfo(get.getAccessPoint().getValue()));
+
+            } else if (usetype.equalsIgnoreCase(AccessPointType.WSDL_DEPLOYMENT.toString())) {
+                //fetch wsdl and parse
+                items.addAll(FetchWSDL(get.getAccessPoint().getValue()));
+            } else if (usetype.equalsIgnoreCase(AccessPointType.END_POINT.toString())) {
+                items.add(get.getAccessPoint().getValue());
+            } else {
+                //treat it has an extension or whatever
+                items.add(get.getAccessPoint().getValue());
+            }
+
+        }
+        return items;
+    }
+      
+      
+      /**
+       * fetches a wsdl endpoint and parses for execution urls
+       * @param value
+       * @return 
+       */
+    private List<String> FetchWSDL(String value) {
+        List<String> items = new ArrayList<String>();
+
+        if (value.startsWith("http://") || value.startsWith("https://")) {
+            //here, we need an HTTP Get for WSDLs
+            org.apache.juddi.v3.client.mapping.ReadWSDL r = new ReadWSDL();
+            r.setIgnoreSSLErrors(true);
+            try {
+                Definition wsdlDefinition = r.readWSDL(new URL(value));
+                Properties properties = new Properties();
+
+
+                properties.put("keyDomain", "domain");
+                properties.put("businessName", "biz");
+                properties.put("serverName", "localhost");
+                properties.put("serverPort", "80");
+
+                WSDL2UDDI wsdl2UDDI = new WSDL2UDDI(null, new URLLocalizerDefaultImpl(), properties);
+                BusinessServices businessServices = wsdl2UDDI.createBusinessServices(wsdlDefinition);
+                for (int i = 0; i < businessServices.getBusinessService().size(); i++) {
+                    if (businessServices.getBusinessService().get(i).getBindingTemplates() != null) {
+                        for (int k = 0; k < businessServices.getBusinessService().get(i).getBindingTemplates().getBindingTemplate().size(); k++) {
+                            items.addAll(ParseBinding(businessServices.getBusinessService().get(i).getBindingTemplates().getBindingTemplate().get(k)));
+                        }
+                    }
+                }
+            } catch (Exception ex) {
+                log.error(ex);
+            }
+
+        }
+        return items;
+    }
+    
+    /**
+     * Gets service details or NULL if it doesn't exist or an error occurred
+     * @param key
+     * @return
+     * @throws RemoteException
+     * @throws ConfigurationException
+     * @throws TransportException 
+     */
+    public ServiceDetail getServiceDetail(String key) throws RemoteException, ConfigurationException, TransportException {
+        GetServiceDetail getTModelDetail = new GetServiceDetail();
+        getTModelDetail.getServiceKey().add(key);
+        return getServiceDetail(getTModelDetail);
+    }
+
+    /**
+     * Gets service details or NULL if it doesn't exist or an error occurred
+     * @param getDetail
+     * @return
+     * @throws RemoteException
+     * @throws ConfigurationException
+     * @throws TransportException 
+     */
+    public ServiceDetail getServiceDetail(GetServiceDetail getDetail) throws RemoteException, ConfigurationException, TransportException {
+        return getServiceDetail(getDetail, this.getUDDINode().getApiNode());
+    }
+
+    /**
+     * Gets service details or NULL if it doesn't exist or an error occurred
+     * @param getDetail
+     * @param node
+     * @return
+     * @throws RemoteException
+     * @throws TransportException
+     * @throws ConfigurationException 
+     */
+    public ServiceDetail getServiceDetail(GetServiceDetail getDetail, Node node) throws RemoteException,
+            TransportException, ConfigurationException {
+
+        getDetail.setAuthInfo(getAuthToken(node.getSecurityUrl()));
+        try {
+            ServiceDetail tModelDetail = getUDDINode().getTransport().getUDDIInquiryService(node.getInquiryUrl()).getServiceDetail(getDetail);
+            return tModelDetail;
+        } catch (DispositionReportFaultMessage dr) {
+            DispositionReport report = DispositionReportFaultMessage.getDispositionReport(dr);
+            checkForErrorInDispositionReport(report, null, null);
+        } catch (SOAPFaultException sfe) {
+            DispositionReport report = DispositionReportFaultMessage.getDispositionReport(sfe);
+            checkForErrorInDispositionReport(report, null, null);
+        } catch (UndeclaredThrowableException ute) {
+            DispositionReport report = DispositionReportFaultMessage.getDispositionReport(ute);
+            checkForErrorInDispositionReport(report, null, null);
+        }
+        return null;
+    }
+
 }

Modified: juddi/trunk/juddi-core/src/main/resources/juddi_install_data/UDDI_tModels.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/resources/juddi_install_data/UDDI_tModels.xml?rev=1540234&r1=1540233&r2=1540234&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/main/resources/juddi_install_data/UDDI_tModels.xml (original)
+++ juddi/trunk/juddi-core/src/main/resources/juddi_install_data/UDDI_tModels.xml Sat Nov  9 01:17:19 2013
@@ -1342,7 +1342,7 @@
 	
 	<tModel tModelKey="urn:uddi:uddi.org:version">
         <name>Service Interface Version</name>
-        <description xml:lang="en">When using this tModel as a tModelInstance, it can be used to describe a version associated with either a service interface, a bindingTemplate service instance.</description>
+        <description xml:lang="en">When using this tModel as a tModelInstance, it can be used to describe a version associated with either a service interface, a bindingTemplate service instance. Note: This is a jUDDI specific addon and may not be present in other registries.</description>
        <overviewDoc>
             <overviewURL>
                http://www.ibm.com/developerworks/webservices/library/ws-version/

Modified: juddi/trunk/juddi-examples/service-version/src/main/java/org/apache/juddi/examples/service/version/ServiceVersioningExample.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-examples/service-version/src/main/java/org/apache/juddi/examples/service/version/ServiceVersioningExample.java?rev=1540234&r1=1540233&r2=1540234&view=diff
==============================================================================
--- juddi/trunk/juddi-examples/service-version/src/main/java/org/apache/juddi/examples/service/version/ServiceVersioningExample.java (original)
+++ juddi/trunk/juddi-examples/service-version/src/main/java/org/apache/juddi/examples/service/version/ServiceVersioningExample.java Sat Nov  9 01:17:19 2013
@@ -28,16 +28,13 @@ import org.uddi.api_v3.BindingTemplates;
 import org.uddi.api_v3.BusinessEntity;
 import org.uddi.api_v3.BusinessService;
 import org.uddi.api_v3.BusinessServices;
-import org.uddi.api_v3.FindBinding;
 import org.uddi.api_v3.FindQualifiers;
 import org.uddi.api_v3.FindService;
-import org.uddi.api_v3.FindTModel;
 import org.uddi.api_v3.GetServiceDetail;
 import org.uddi.api_v3.Name;
 import org.uddi.api_v3.ServiceDetail;
 import org.uddi.api_v3.ServiceList;
 import org.uddi.api_v3.TModel;
-import org.uddi.api_v3.TModelDetail;
 import org.uddi.api_v3.TModelInstanceDetails;
 import org.uddi.v3_service.UDDIInquiryPortType;
 import org.uddi.v3_service.UDDIPublicationPortType;

Modified: juddi/trunk/juddi-gui/src/main/webapp/js/serviceBrowse.js
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-gui/src/main/webapp/js/serviceBrowse.js?rev=1540234&r1=1540233&r2=1540234&view=diff
==============================================================================
--- juddi/trunk/juddi-gui/src/main/webapp/js/serviceBrowse.js (original)
+++ juddi/trunk/juddi-gui/src/main/webapp/js/serviceBrowse.js Sat Nov  9 01:17:19 2013
@@ -53,8 +53,8 @@ function pageupService()
 
 function RenderServiceListBySearch(keyword, offset, maxrecords)
 {
-    if (keyword1 === "%")
-        keyword1 = "%25";
+    if (keyword === "%")
+        keyword = "%25";
     var lang = $("#lang").text();
     $("#serviceBrowserListing").html("<img src=\"img/bigrollergreen.gif\" title=\"Loading\"/>");
     var request=   $.ajax({



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@juddi.apache.org
For additional commands, e-mail: commits-help@juddi.apache.org