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