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/16 02:22:44 UTC

svn commit: r1542441 [1/2] - in /juddi/trunk: ./ juddi-client.net/juddi-client.net/ juddi-client/src/main/java/org/apache/juddi/v3/client/cryptor/ juddi-client/src/main/java/org/apache/juddi/v3/client/transport/ juddi-gui/src/main/java/org/apache/juddi...

Author: alexoree
Date: Sat Nov 16 01:22:44 2013
New Revision: 1542441

URL: http://svn.apache.org/r1542441
Log:
JUDDI-709 fixed, consolidated config page and moved the env vars into a debugging section. updated the ssl warning on the login page to now also check for gui to services ssl link when using JAXWSTransport.
JUDDI-652 partial fix, tomcat on restarts now no longer complains about non Serializable items, JAXWSTransport now logs to the correct logger, upgrade to the latest cxf version
JUDDI-710 done, however the file needs to remain for the session encryption key
JUDDI-711 done

Added:
    juddi/trunk/juddi-tomcat/truststore.jks   (with props)
Removed:
    juddi/trunk/juddiv3-war/src/main/webapp/admin/happy.jsp
Modified:
    juddi/trunk/juddi-client.net/juddi-client.net/juddi-client.net.csproj
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/cryptor/DigSigUtil.java
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/transport/JAXWSTransport.java
    juddi/trunk/juddi-gui/src/main/java/org/apache/juddi/webconsole/hub/UddiHub.java
    juddi/trunk/juddi-gui/src/main/resources/META-INF/uddi.xml
    juddi/trunk/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web.properties
    juddi/trunk/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web_es.properties
    juddi/trunk/juddi-gui/src/main/webapp/META-INF/config.properties
    juddi/trunk/juddi-gui/src/main/webapp/ajax/settings.jsp
    juddi/trunk/juddi-gui/src/main/webapp/login.jsp
    juddi/trunk/juddi-gui/src/main/webapp/settings.jsp
    juddi/trunk/juddi-tomcat/build.xml
    juddi/trunk/juddi-tomcat/catalina.bat
    juddi/trunk/juddi-tomcat/catalina.sh
    juddi/trunk/juddiv3-war/pom.xml
    juddi/trunk/juddiv3-war/src/main/java/org/apache/juddi/webconsole/hub/UddiAdminHub.java
    juddi/trunk/juddiv3-war/src/main/resources/META-INF/uddi.xml
    juddi/trunk/juddiv3-war/src/main/webapp/WEB-INF/config.properties
    juddi/trunk/juddiv3-war/src/main/webapp/admin/admin.jsp
    juddi/trunk/juddiv3-war/src/main/webapp/admin/configure.jsp
    juddi/trunk/juddiv3-war/src/main/webapp/admin/stats.jsp
    juddi/trunk/pom.xml

Modified: juddi/trunk/juddi-client.net/juddi-client.net/juddi-client.net.csproj
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/juddi-client.net.csproj?rev=1542441&r1=1542440&r2=1542441&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/juddi-client.net.csproj (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/juddi-client.net.csproj Sat Nov 16 01:22:44 2013
@@ -43,6 +43,7 @@
     <Reference Include="System.Xml" />
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="bindings\bindingsWcf.cs" />
     <Compile Include="bindings\datamodel.cs" />
     <Compile Include="bindings\events.cs" />
     <Compile Include="bindings\ext.cs" />

Modified: juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/cryptor/DigSigUtil.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/cryptor/DigSigUtil.java?rev=1542441&r1=1542440&r2=1542441&view=diff
==============================================================================
--- juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/cryptor/DigSigUtil.java (original)
+++ juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/cryptor/DigSigUtil.java Sat Nov 16 01:22:44 2013
@@ -616,53 +616,98 @@ public class DigSigUtil {
             type = "JKS";
         }
         KeyStore ks = KeyStore.getInstance(type);
-        String filename = map.getProperty(TRUSTSTORE_FILE);
-        if (filename == null) {
-            return null;
+        boolean ksLoaded = false;
+
+        //try windows trust store first
+        try {
+            if (map.getProperty(TRUSTSTORE_FILETYPE).equalsIgnoreCase("WINDOWS-ROOT")) {
+                ks.load(null, null);
+                ksLoaded = true;
+                logger.info("trust store loaded from windows");
+            }
+        } catch (Exception ex) {
+            logger.debug("unable to load truststore from windows", ex);
         }
-        URL url = Thread.currentThread().getContextClassLoader().getResource(map.getProperty(TRUSTSTORE_FILE));
-        if (url == null) {
+
+        //load from thread classloader
+        if (!ksLoaded) {
             try {
-                url = new File(map.getProperty(TRUSTSTORE_FILE)).toURI().toURL();
+                URL url = Thread.currentThread().getContextClassLoader().getResource(map.getProperty(TRUSTSTORE_FILE));
+                ks.load(url.openStream(), (map.getProperty(TRUSTSTORE_FILE_PASSWORD)).toCharArray());
+                ksLoaded = true;
+                logger.info("trust store loaded from classpath(1) " + map.getProperty(TRUSTSTORE_FILE));
             } catch (Exception x) {
+                logger.debug("unable to load truststore from classpath", x);
             }
         }
-        if (url == null) {
+
+        //load from this classloader
+        if (!ksLoaded) {
             try {
-                url = this.getClass().getClassLoader().getResource(map.getProperty(TRUSTSTORE_FILE));
+                URL url = this.getClass().getClassLoader().getResource(map.getProperty(TRUSTSTORE_FILE));
+                ks.load(url.openStream(), (map.getProperty(TRUSTSTORE_FILE_PASSWORD)).toCharArray());
+                ksLoaded = true;
+                logger.info("trust store loaded from classpath(2) " + map.getProperty(TRUSTSTORE_FILE));
             } catch (Exception x) {
+                logger.debug("unable to load truststore from classpath", x);
             }
         }
-        try {
-            if (!map.getProperty(TRUSTSTORE_FILETYPE).equalsIgnoreCase("WINDOWS-ROOT")) {
+        //load as a file
+        if (!ksLoaded) {
+            try {
+                URL url = new File(map.getProperty(TRUSTSTORE_FILE)).toURI().toURL();
                 ks.load(url.openStream(), (map.getProperty(TRUSTSTORE_FILE_PASSWORD)).toCharArray());
-            } else {
-                //Windows only
-                ks.load(null, null);
+                ksLoaded = true;
+                logger.info("trust store loaded from file " + map.getProperty(TRUSTSTORE_FILE));
+            } catch (Exception x) {
+                logger.debug("unable to load truststore from file", x);
             }
-        } catch (Exception ex) {
-            logger.error("Unable to load user specified trust store! attempting to load the default", ex);
-            URL cacerts = null;
+        }
+
+
+        //    logger.error("Unable to load user specified trust store! attempting to load the default", ex);
+
+        //load from system property
+        if (!ksLoaded) {
+            try {
+                String truststore = System.getProperty("javax.net.ssl.keyStore");
+                String pwd = System.getProperty("javax.net.ssl.keyStorePassword");
+                if (truststore != null && pwd != null) {
+                    ks.load(new File(truststore).toURI().toURL().openStream(), pwd.toCharArray());
+                    ksLoaded = true;
+                    logger.info("trust store loaded from sysprop " + truststore);
+                }
+            } catch (Exception ex) {
+                logger.debug("unable to load truststore from sysprop", ex);
+            }
+        }
+
+        if (!ksLoaded) {
             try {
-                cacerts = new File(System.getenv("JAVA_HOME") + File.separator + "lib" + File.separator + "security" + File.separator + "cacerts").toURI().toURL();
+                URL cacerts = new File(System.getenv("JAVA_HOME") + File.separator + "lib" + File.separator + "security" + File.separator + "cacerts").toURI().toURL();
+                ks.load(cacerts.openStream(), "changeit".toCharArray());
+                logger.info("trust store loaded from JRE " + cacerts.toExternalForm());
+                ksLoaded = true;
             } catch (Exception c) {
-                logger.debug("unable to load default jre truststore", c);
+                logger.debug("unable to load default JDK truststore", c);
             }
+        }
+        if (!ksLoaded) {
             try {
-                cacerts = new File(System.getenv("JAVA_HOME") + File.separator + "jre" + File.separator + "lib" + File.separator + "security" + File.separator + "cacerts").toURI().toURL();
+                URL cacerts = new File(System.getenv("JAVA_HOME") + File.separator + "jre" + File.separator + "lib" + File.separator + "security" + File.separator + "cacerts").toURI().toURL();
+                ks.load(cacerts.openStream(), "changeit".toCharArray());
+                logger.info("trust store loaded from JRE " + cacerts.toExternalForm());
+                ksLoaded = true;
             } catch (Exception c) {
                 logger.debug("unable to load default jdk/jre truststore", c);
             }
-            if (cacerts != null) {
-                try {
-                    logger.info("Attempting to load trust store from " + cacerts.toString());
-                    ks.load(cacerts.openStream(), "changeit".toCharArray());
-                } catch (Exception c) {
-                    logger.warn("error loading default truststore", c);
-                }
-            }
-
         }
+        if (!ksLoaded)
+        {
+            logger.warn("unable to load trust store!");
+        }
+
+
         return ks;
     }
 

Modified: juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/transport/JAXWSTransport.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/transport/JAXWSTransport.java?rev=1542441&r1=1542440&r2=1542441&view=diff
==============================================================================
--- juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/transport/JAXWSTransport.java (original)
+++ juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/transport/JAXWSTransport.java Sat Nov 16 01:22:44 2013
@@ -43,7 +43,7 @@ import org.uddi.v3_service.UDDISubscript
 
 
 public class JAXWSTransport extends Transport {
-            private static Log logger = LogFactory.getLog(WADL2UDDI.class);
+            private static Log logger = LogFactory.getLog(JAXWSTransport.class);
 	
 	String nodeName = null;
 	String clientName = null;

Modified: juddi/trunk/juddi-gui/src/main/java/org/apache/juddi/webconsole/hub/UddiHub.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-gui/src/main/java/org/apache/juddi/webconsole/hub/UddiHub.java?rev=1542441&r1=1542440&r2=1542441&view=diff
==============================================================================
--- juddi/trunk/juddi-gui/src/main/java/org/apache/juddi/webconsole/hub/UddiHub.java (original)
+++ juddi/trunk/juddi-gui/src/main/java/org/apache/juddi/webconsole/hub/UddiHub.java Sat Nov 16 01:22:44 2013
@@ -21,7 +21,6 @@ import java.io.InputStream;
 import java.io.Serializable;
 import java.io.StringReader;
 import java.io.StringWriter;
-import java.net.URISyntaxException;
 import java.net.URL;
 import java.rmi.RemoteException;
 import java.security.cert.CertificateFactory;
@@ -50,7 +49,9 @@ import org.apache.commons.logging.LogFac
 import org.apache.juddi.v3.client.ClassUtil;
 import org.apache.juddi.v3.client.UDDIConstants;
 import org.apache.juddi.v3.client.config.ClientConfig;
+import org.apache.juddi.v3.client.config.UDDIClient;
 import org.apache.juddi.v3.client.config.UDDIClientContainer;
+import org.apache.juddi.v3.client.config.UDDINode;
 import org.apache.juddi.v3.client.transport.Transport;
 import org.apache.juddi.webconsole.AES;
 import org.apache.juddi.webconsole.PostBackConstants;
@@ -81,21 +82,55 @@ import sun.misc.BASE64Encoder;
  *
  * @author <a href="mailto:alexoree@apache.org">Alex O'Ree</a>
  */
-public class UddiHub implements Serializable{
+public class UddiHub implements Serializable {
 
     /**
      * The logger name
      */
     public static final String LOGGER_NAME = "org.apache.juddi";
-    URL propertiesurl = null;
-    Properties properties = null;
+    private static final long serialVersionUID = 1L;
     AuthStyle style = null;
+    private String nodename = "default";
+    private final String clientName = "juddigui";
+    private boolean WS_Transport = false;
+    private boolean WS_securePorts = false;
+    private transient HttpSession session;
+    private transient Transport transport = null;
+    private transient ClientConfig clientConfig;
+    private transient Properties properties;
+    private transient UDDISubscriptionPortType subscription = null;
+    private transient UDDISecurityPortType security = null;
+    private transient UDDIInquiryPortType inquiry = null;
+    private transient UDDIPublicationPortType publish = null;
+    private transient UDDICustodyTransferPortType custody = null;
+    //private JUDDIApiPortType juddi = null;
+    private transient String token = null;
     /**
      * The Log4j logger. This is also referenced from the Builders class, thus
      * it is public
      */
-    public static final Log log = LogFactory.getLog(LOGGER_NAME);
-    private DatatypeFactory df;
+    public transient static final Log log = LogFactory.getLog(LOGGER_NAME);
+    private transient DatatypeFactory df;
+    /**
+     * the name of the 'node' property in the config
+     */
+    public static final String PROP_CONFIG_NODE = "config.props.node";
+    /**
+     *
+     */
+    public static final String PROP_AUTH_TYPE = "config.props.authtype";
+    /**
+     *
+     */
+    public static final String PROP_AUTO_LOGOUT = "config.props.automaticLogouts.enable";
+    /**
+     *
+     */
+    public static final String PROP_AUTO_LOGOUT_TIMER = "config.props.automaticLogouts.duration";
+    /**
+     *
+     */
+    public static final String PROP_PREFIX = "config.props.";
 
     private UddiHub() throws DatatypeConfigurationException {
         df = DatatypeFactory.newInstance();
@@ -147,7 +182,7 @@ public class UddiHub implements Serializ
         if (j == null) {
             UddiHub hub = new UddiHub(application, _session);
             _session.setAttribute("hub", hub);
-            hub.locale =(String) _session.getAttribute("locale");
+            hub.locale = (String) _session.getAttribute("locale");
             return hub;
         }
 
@@ -156,68 +191,95 @@ public class UddiHub implements Serializ
     String locale = "en";
 
     /**
-     * Provides access to the configuration file for the Hub. useful for I/O
-     * changes to the config
+     * gets the user selected locale
      *
      * @return
-     * @throws URISyntaxException
      */
-    public String GetRawConfigurationPath() throws URISyntaxException {
-        return propertiesurl.toString();
+    public String getLocale() {
+        return locale;
     }
 
-    /**
-     *
-     * @return Provides access to the configuration file for the Hub. useful for
-     * I/O changes to the config
-     */
-    public Properties GetRawConfiguration() {
-        return properties;
-    }
+    private void EnsureConfig() {
+        if (clientConfig == null) {
+            try {
+                UDDIClient client = UDDIClientContainer.getUDDIClient(null);
+                clientConfig = client.getClientConfig();
+                try {
+                    style = AuthStyle.valueOf(clientConfig.getConfiguration().getString(PROP_AUTH_TYPE));
+                } catch (Exception ex) {
+                    log.warn("'UDDI_AUTH' is not defined in the config (" + PROP_AUTH_TYPE + ")! defaulting to UDDI_AUTH");
+                    style = AuthStyle.UDDI_AUTH;
+                }
+
+                nodename = clientConfig.getConfiguration().getString(PROP_CONFIG_NODE);
+                if (nodename == null || nodename.equals("")) {
+                    log.warn("'node' is not defined in the config! defaulting to 'default'");
+                    nodename = "default";
+                }
+                UDDINode uddiNode = clientConfig.getUDDINode(nodename);
+
+                String clazz = uddiNode.getProxyTransport();
+                if (clazz.contains("JAXWSTransport")) {
+                    WS_Transport = true;
+                }
+                Class<?> transportClass = ClassUtil.forName(clazz, Transport.class);
+                if (transportClass != null) {
+                    transport = (Transport) transportClass.
+                            getConstructor(String.class).newInstance(nodename);
+
+                    security = transport.getUDDISecurityService();
+                    inquiry = transport.getUDDIInquiryService();
+                    subscription = transport.getUDDISubscriptionService();
+                    publish = transport.getUDDIPublishService();
+                    custody = transport.getUDDICustodyTransferService();
+
+                    if (WS_Transport) {
+                        if (uddiNode.getPublishUrl().toLowerCase().startsWith("https://")
+                                && (uddiNode.getSecurityUrl() != null && uddiNode.getSecurityUrl().toLowerCase().startsWith("https://"))
+                                && uddiNode.getInquiryUrl().toLowerCase().startsWith("https://")
+                                && (uddiNode.getCustodyTransferUrl() != null && uddiNode.getCustodyTransferUrl().toLowerCase().startsWith("https://"))
+                                && uddiNode.getSubscriptionUrl().toLowerCase().startsWith("https://")) {
+                            WS_securePorts = true;
+                        }
+                    }
+
+                }
+            } catch (Exception ex) {
+                HandleException(ex);
+            }
+        }
 
-    public String getLocale(){
-        return locale;
     }
+
     private UddiHub(ServletContext application, HttpSession _session) throws Exception {
+        session = _session;
+
         URL prop = application.getResource("/META-INF/config.properties");
         if (prop == null) {
             throw new Exception("Cannot locate the configuration file.");
         }
-        session = _session;
-        propertiesurl = prop;
+
         InputStream in = prop.openStream();
         Properties p = new Properties();
         p.load(in);
         in.close();
         properties = p;
-        try {
-            style = AuthStyle.valueOf((String) p.get(PROP_AUTH_TYPE));
-        } catch (Exception ex) {
-            log.info("UDDI_AUTH is not defined in the config");
-            style = AuthStyle.UDDI_AUTH;
-        }
-        try {
 
-            String clazz = UDDIClientContainer.getUDDIClient(null).
-                    getClientConfig().getUDDINode("default").getProxyTransport();
-            Class<?> transportClass = ClassUtil.forName(clazz, Transport.class);
-            if (transportClass != null) {
-                transport = (Transport) transportClass.
-                        getConstructor(String.class).newInstance("default");
 
-                security = transport.getUDDISecurityService();
-                inquiry = transport.getUDDIInquiryService();
-                subscription = transport.getUDDISubscriptionService();
-                publish = transport.getUDDIPublishService();
-                custody = transport.getUDDICustodyTransferService();
+        EnsureConfig();
+    }
 
-            }
-        } catch (Exception ex) {
-            HandleException(ex);
-        }
+    /**
+     * returns true if we are using JAXWS transport AND all of the URLs start
+     * with https://
+     *
+     * @return
+     */
+    public boolean isSecure() {
+
+        EnsureConfig();
+        return WS_securePorts;
     }
-    private HttpSession session;
-    private Transport transport = null;
 
     /**
      * gets a reference to the current juddi client config file. this is a live
@@ -227,8 +289,8 @@ public class UddiHub implements Serializ
      * @throws ConfigurationException g
      */
     public ClientConfig GetJuddiClientConfig() throws ConfigurationException {
-        return UDDIClientContainer.getUDDIClient(null).
-                getClientConfig();
+        EnsureConfig();
+        return clientConfig;
     }
 
     /**
@@ -328,7 +390,7 @@ public class UddiHub implements Serializ
                     && session.getAttribute("password") != null) {
                 req.setUserID((String) session.getAttribute("username"));
                 req.setCred(AES.Decrypt((String) session.getAttribute("password"), (String) properties.get("key")));
-                log.info("AUDIT: fetching auth token for " + req.getUserID() + " Auth Mode is " + ((security == null) ? "HTTO" : "AUTH_TOKEN"));
+                log.info("AUDIT: fetching auth token for " + req.getUserID() + " Auth Mode is " + ((security == null) ? "HTTP" : "AUTH_TOKEN"));
                 try {
                     AuthToken authToken = security.getAuthToken(req);
                     token = authToken.getAuthInfo();
@@ -349,13 +411,6 @@ public class UddiHub implements Serializ
     public boolean getUddiIsAuthenticated() {
         return (token != null && !token.isEmpty());
     }
-    private UDDISubscriptionPortType subscription = null;
-    private UDDISecurityPortType security = null;
-    private UDDIInquiryPortType inquiry = null;
-    private UDDIPublicationPortType publish = null;
-    private UDDICustodyTransferPortType custody = null;
-    //private JUDDIApiPortType juddi = null;
-    private String token = null;
 
     /**
      * Performs a find_business call in the inquiry API
@@ -499,12 +554,11 @@ public class UddiHub implements Serializ
     }
 
     /**
-     * Performs Inquiry Find_service API
-     * used from servicedetails.jsp
+     * Performs Inquiry Find_service API used from servicedetails.jsp
+     *
      * @param serviceid
      * @return
      */
-    
     public String GetServiceDetailAsHtml(String serviceid) {
         if (serviceid == null || serviceid.length() == 0) {
             return ResourceLoader.GetResource(session, "errors.noinput");
@@ -731,18 +785,18 @@ public class UddiHub implements Serializ
             return ResourceLoader.GetResource(session, "errors.noinput.businesskey");
         }
 
-        be.getName().addAll(Builders.BuildNames(Builders.MapFilter(request.getParameterMap(), PostBackConstants.NAME), PostBackConstants.NAME, ResourceLoader.GetResource(session, "items.clicktoedit"),locale));
+        be.getName().addAll(Builders.BuildNames(Builders.MapFilter(request.getParameterMap(), PostBackConstants.NAME), PostBackConstants.NAME, ResourceLoader.GetResource(session, "items.clicktoedit"), locale));
         BindingTemplates bt = new BindingTemplates();
-        bt.getBindingTemplate().addAll(Builders.BuildBindingTemplates(Builders.MapFilter(request.getParameterMap(), PostBackConstants.BINDINGTEMPLATE), PostBackConstants.BINDINGTEMPLATE, ResourceLoader.GetResource(session, "items.clicktoedit"),locale));
+        bt.getBindingTemplate().addAll(Builders.BuildBindingTemplates(Builders.MapFilter(request.getParameterMap(), PostBackConstants.BINDINGTEMPLATE), PostBackConstants.BINDINGTEMPLATE, ResourceLoader.GetResource(session, "items.clicktoedit"), locale));
         if (!bt.getBindingTemplate().isEmpty()) {
             be.setBindingTemplates(bt);
         }
 
-        be.getDescription().addAll(Builders.BuildDescription(Builders.MapFilter(request.getParameterMap(), PostBackConstants.DESCRIPTION), PostBackConstants.DESCRIPTION, ResourceLoader.GetResource(session, "items.clicktoedit"),locale));
+        be.getDescription().addAll(Builders.BuildDescription(Builders.MapFilter(request.getParameterMap(), PostBackConstants.DESCRIPTION), PostBackConstants.DESCRIPTION, ResourceLoader.GetResource(session, "items.clicktoedit"), locale));
 
         CategoryBag cb = new CategoryBag();
-        cb.getKeyedReference().addAll(Builders.BuildKeyedReference(Builders.MapFilter(request.getParameterMap(), PostBackConstants.CATBAG_KEY_REF), PostBackConstants.CATBAG_KEY_REF,locale));
-        cb.getKeyedReferenceGroup().addAll(Builders.BuildKeyedReferenceGroup(Builders.MapFilter(request.getParameterMap(), PostBackConstants.CATBAG_KEY_REF_GRP), PostBackConstants.CATBAG_KEY_REF_GRP,locale));
+        cb.getKeyedReference().addAll(Builders.BuildKeyedReference(Builders.MapFilter(request.getParameterMap(), PostBackConstants.CATBAG_KEY_REF), PostBackConstants.CATBAG_KEY_REF, locale));
+        cb.getKeyedReferenceGroup().addAll(Builders.BuildKeyedReferenceGroup(Builders.MapFilter(request.getParameterMap(), PostBackConstants.CATBAG_KEY_REF_GRP), PostBackConstants.CATBAG_KEY_REF_GRP, locale));
 
         if (!cb.getKeyedReference().isEmpty() || !cb.getKeyedReferenceGroup().isEmpty()) {
             be.setCategoryBag(cb);
@@ -841,21 +895,21 @@ public class UddiHub implements Serializ
                 be.setBusinessServices(GetBusinessDetails.getBusinessServices());
             }
         }
-        be.getName().addAll(Builders.BuildNames(Builders.MapFilter(request.getParameterMap(), PostBackConstants.NAME), PostBackConstants.NAME, ResourceLoader.GetResource(session, "items.clicktoedit"),locale));
+        be.getName().addAll(Builders.BuildNames(Builders.MapFilter(request.getParameterMap(), PostBackConstants.NAME), PostBackConstants.NAME, ResourceLoader.GetResource(session, "items.clicktoedit"), locale));
 
 
-        be.setContacts(Builders.BuildContacts(request.getParameterMap(), ResourceLoader.GetResource(session, "items.clicktoedit"),locale));
+        be.setContacts(Builders.BuildContacts(request.getParameterMap(), ResourceLoader.GetResource(session, "items.clicktoedit"), locale));
 
-        be.getDescription().addAll(Builders.BuildDescription(Builders.MapFilter(request.getParameterMap(), PostBackConstants.DESCRIPTION), PostBackConstants.DESCRIPTION, ResourceLoader.GetResource(session, "items.clicktoedit"),locale));
-        be.setDiscoveryURLs(Builders.BuildDisco(Builders.MapFilter(request.getParameterMap(), PostBackConstants.DISCOVERYURL), PostBackConstants.DISCOVERYURL,locale));
+        be.getDescription().addAll(Builders.BuildDescription(Builders.MapFilter(request.getParameterMap(), PostBackConstants.DESCRIPTION), PostBackConstants.DESCRIPTION, ResourceLoader.GetResource(session, "items.clicktoedit"), locale));
+        be.setDiscoveryURLs(Builders.BuildDisco(Builders.MapFilter(request.getParameterMap(), PostBackConstants.DISCOVERYURL), PostBackConstants.DISCOVERYURL, locale));
         CategoryBag cb = new CategoryBag();
-        cb.getKeyedReference().addAll(Builders.BuildKeyedReference(Builders.MapFilter(request.getParameterMap(), PostBackConstants.CATBAG_KEY_REF), PostBackConstants.CATBAG_KEY_REF,locale));
-        cb.getKeyedReferenceGroup().addAll(Builders.BuildKeyedReferenceGroup(Builders.MapFilter(request.getParameterMap(), PostBackConstants.CATBAG_KEY_REF_GRP), PostBackConstants.CATBAG_KEY_REF_GRP,locale));
+        cb.getKeyedReference().addAll(Builders.BuildKeyedReference(Builders.MapFilter(request.getParameterMap(), PostBackConstants.CATBAG_KEY_REF), PostBackConstants.CATBAG_KEY_REF, locale));
+        cb.getKeyedReferenceGroup().addAll(Builders.BuildKeyedReferenceGroup(Builders.MapFilter(request.getParameterMap(), PostBackConstants.CATBAG_KEY_REF_GRP), PostBackConstants.CATBAG_KEY_REF_GRP, locale));
 
         if (!cb.getKeyedReference().isEmpty() || !cb.getKeyedReferenceGroup().isEmpty()) {
             be.setCategoryBag(cb);
         }
-        be.setIdentifierBag(Builders.BuildIdentBag(Builders.MapFilter(request.getParameterMap(), PostBackConstants.IDENT_KEY_REF), PostBackConstants.IDENT_KEY_REF,locale));
+        be.setIdentifierBag(Builders.BuildIdentBag(Builders.MapFilter(request.getParameterMap(), PostBackConstants.IDENT_KEY_REF), PostBackConstants.IDENT_KEY_REF, locale));
         return SaveBusinessDetails(be);
     }
 
@@ -866,7 +920,6 @@ public class UddiHub implements Serializ
      * @return
      * @throws Exception
      */
-  
     /**
      * Gets a business's details used for the businessEditor
      *
@@ -925,15 +978,13 @@ public class UddiHub implements Serializ
     public enum AuthStyle {
 
         /**
-         * Http 
+         * Http
          */
         HTTP,
-        
         /**
          * UDDI Authentication via the Security API
          */
         UDDI_AUTH
-        
     }
 
     /**
@@ -1727,7 +1778,7 @@ public class UddiHub implements Serializ
                 }
 
             }
-            if (findBusiness!=null && findBusiness.getTModelInfos() != null) {
+            if (findBusiness != null && findBusiness.getTModelInfos() != null) {
                 StringBuilder sb = new StringBuilder();
                 sb.append("<table class=\"table\">");
                 for (int i = 0; i < findBusiness.getTModelInfos().getTModelInfo().size(); i++) {
@@ -1932,7 +1983,7 @@ public class UddiHub implements Serializ
             return HandleException(ex);
         }
     }
-    
+
     /**
      * This rebuild a tmodel from the http request, such as from the tmodel
      * editor page
@@ -1970,17 +2021,17 @@ public class UddiHub implements Serializ
 
 
 
-        be.getDescription().addAll(Builders.BuildDescription(Builders.MapFilter(request.getParameterMap(), PostBackConstants.DESCRIPTION), PostBackConstants.DESCRIPTION, ResourceLoader.GetResource(session, "items.clicktoedit"),locale));
-        be.getOverviewDoc().addAll(Builders.BuildOverviewDocs(Builders.MapFilter(request.getParameterMap(), PostBackConstants.OVERVIEW), PostBackConstants.OVERVIEW, ResourceLoader.GetResource(session, "items.clicktoedit"),locale));
+        be.getDescription().addAll(Builders.BuildDescription(Builders.MapFilter(request.getParameterMap(), PostBackConstants.DESCRIPTION), PostBackConstants.DESCRIPTION, ResourceLoader.GetResource(session, "items.clicktoedit"), locale));
+        be.getOverviewDoc().addAll(Builders.BuildOverviewDocs(Builders.MapFilter(request.getParameterMap(), PostBackConstants.OVERVIEW), PostBackConstants.OVERVIEW, ResourceLoader.GetResource(session, "items.clicktoedit"), locale));
 
         CategoryBag cb = new CategoryBag();
-        cb.getKeyedReference().addAll(Builders.BuildKeyedReference(Builders.MapFilter(request.getParameterMap(), PostBackConstants.CATBAG_KEY_REF), PostBackConstants.CATBAG_KEY_REF,locale));
-        cb.getKeyedReferenceGroup().addAll(Builders.BuildKeyedReferenceGroup(Builders.MapFilter(request.getParameterMap(), PostBackConstants.CATBAG_KEY_REF_GRP), PostBackConstants.CATBAG_KEY_REF_GRP,locale));
+        cb.getKeyedReference().addAll(Builders.BuildKeyedReference(Builders.MapFilter(request.getParameterMap(), PostBackConstants.CATBAG_KEY_REF), PostBackConstants.CATBAG_KEY_REF, locale));
+        cb.getKeyedReferenceGroup().addAll(Builders.BuildKeyedReferenceGroup(Builders.MapFilter(request.getParameterMap(), PostBackConstants.CATBAG_KEY_REF_GRP), PostBackConstants.CATBAG_KEY_REF_GRP, locale));
 
         if (!cb.getKeyedReference().isEmpty() || !cb.getKeyedReferenceGroup().isEmpty()) {
             be.setCategoryBag(cb);
         }
-        be.setIdentifierBag(Builders.BuildIdentBag(Builders.MapFilter(request.getParameterMap(), PostBackConstants.IDENT_KEY_REF), PostBackConstants.IDENT_KEY_REF,locale));
+        be.setIdentifierBag(Builders.BuildIdentBag(Builders.MapFilter(request.getParameterMap(), PostBackConstants.IDENT_KEY_REF), PostBackConstants.IDENT_KEY_REF, locale));
 
         return SaveTModel(be);
 
@@ -3613,52 +3664,43 @@ public class UddiHub implements Serializ
             return HandleException(ex);
         }
     }
-    
-    /**
-     * 
-     */
-    public static final String PROP_AUTH_TYPE="config.props.authtype";
-    /**
-     * 
-     */
-    public static final String PROP_AUTO_LOGOUT="config.props.enableAutomaticLogouts";
-    /**
-     * 
-     */
-    public static final String PROP_AUTO_LOGOUT_TIMER="config.props.enableAutomaticLogouts.duration";
-    /**
-     * 
-     */
-    public static final String PROP_PREFIX="config.props.";
-    
+
     /**
      * returns true if automatic logouts are configured
-     * @return 
+     *
+     * @return
      */
-    public boolean isAutoLogoutEnabled(){
-        String val=properties.getProperty(PROP_AUTO_LOGOUT);
-        if (val==null)
+    public boolean isAutoLogoutEnabled() {
+
+        if (clientConfig == null) {
+            EnsureConfig();
+        }
+        String val = clientConfig.getConfiguration().getString(PROP_AUTO_LOGOUT);
+        if (val == null) {
             return false;
-        try{
+        }
+        try {
             return Boolean.parseBoolean(val);
-        }catch (Exception ex){
-            log.warn("unable to parse the value for " + PROP_AUTO_LOGOUT + " in config.properties, defaulting to false",ex);
+        } catch (Exception ex) {
+            log.warn("unable to parse the value for " + PROP_AUTO_LOGOUT + " in uddi.xml, defaulting to false", ex);
         }
         return false;
     }
-    
+
     /**
      * defaults to 15 minutes if not defined
-     * @return 
+     *
+     * @return
      */
-    public long GetAutoLogoutDuration(){
-        String val=properties.getProperty(PROP_AUTO_LOGOUT_TIMER);
-        if (val==null)
+    public long GetAutoLogoutDuration() {
+        String val = clientConfig.getConfiguration().getString(PROP_AUTO_LOGOUT_TIMER);
+        if (val == null) {
             return 15 * 60 * 1000;
-        try{
+        }
+        try {
             return Long.parseLong(val);
-        }catch (Exception ex){
-            log.warn("unable to parse the value for " + PROP_AUTO_LOGOUT_TIMER + " in config.properties, defaulting to 15 minutes",ex);
+        } catch (Exception ex) {
+            log.warn("unable to parse the value for " + PROP_AUTO_LOGOUT_TIMER + " in uddi.xml, defaulting to 15 minutes", ex);
         }
         return 15 * 60 * 1000;
     }

Modified: juddi/trunk/juddi-gui/src/main/resources/META-INF/uddi.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-gui/src/main/resources/META-INF/uddi.xml?rev=1542441&r1=1542440&r2=1542441&view=diff
==============================================================================
--- juddi/trunk/juddi-gui/src/main/resources/META-INF/uddi.xml (original)
+++ juddi/trunk/juddi-gui/src/main/resources/META-INF/uddi.xml Sat Nov 16 01:22:44 2013
@@ -7,7 +7,7 @@
             <node>
                 <!-- required 'default' node -->
                 <name>default</name> 
-                <description>Main jUDDI node</description>
+                <description>Main UDDI Node</description>
                 <!-- JAX-WS Transport -->
                 <proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport>
                 <custodyTransferUrl>http://localhost:8080/juddiv3/services/custody-transfer</custodyTransferUrl>
@@ -15,49 +15,70 @@
                 <publishUrl>http://localhost:8080/juddiv3/services/publish</publishUrl>
                 <securityUrl>http://localhost:8080/juddiv3/services/security</securityUrl>
                 <subscriptionUrl>http://localhost:8080/juddiv3/services/subscription</subscriptionUrl>
-                <subscriptionListenerUrl>http://localhost:8080/juddiv3/services/subscription-listener</subscriptionListenerUrl>
-                <juddiApiUrl>http://localhost:8080/juddiv3/services/juddi-api</juddiApiUrl>
-				
-				<!-- 
-				Jboss users, note that the url is typically different, here's an example for Jboss EAP 6.x
-				<custodyTransferUrl>http://localhost:8080/juddiv3/UDDICustodyTransferService</custodyTransferUrl>
-				<inquiryUrl>http://localhost:8080/juddiv3/UDDIInquiryService</inquiryUrl>
-				<publishUrl>http://localhost:8080/juddiv3/UDDIPublicationService</publishUrl>
-				<securityUrl>http://localhost:8080/juddiv3/UDDISecurityService</securityUrl>
-				<subscriptionUrl>http://localhost:8080/juddiv3/UDDISubscriptionService</subscriptionUrl>
-				<subscriptionListenerUrl>http://localhost:8080/juddiv3/UDDISubscriptionListenerService</subscriptionListenerUrl>
-				<juddiApiUrl>http://localhost:8080/juddiv3/UDDIApiService</juddiApiUrl>
-				
-				-->
-				
-				
+            </node>
+             <node>
+                <name>default-ssl</name> 
+                <description>Main UDDI Node using SSL</description>
+                <!-- JAX-WS Transport -->
+                <proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport>
+                <custodyTransferUrl>http://localhost:8443/juddiv3/services/custody-transfer</custodyTransferUrl>
+                <inquiryUrl>https://localhost:8443/juddiv3/services/inquiry</inquiryUrl>
+                <publishUrl>https://localhost:8443/juddiv3/services/publish</publishUrl>
+                <securityUrl>https://localhost:8443/juddiv3/services/security</securityUrl>
+                <subscriptionUrl>https://localhost:8443/juddiv3/services/subscription</subscriptionUrl>
+            </node>
+            <node>
+                <name>jboss7</name> 
+                <description>Main UDDI node running on Jboss EAP6 or AS7</description>
+                <!-- 
+                Jboss users, note that the url is typically different, here's an example for Jboss EAP 6.x-->
+                <custodyTransferUrl>http://localhost:8080/juddiv3/UDDICustodyTransferService</custodyTransferUrl>
+                <inquiryUrl>http://localhost:8080/juddiv3/UDDIInquiryService</inquiryUrl>
+                <publishUrl>http://localhost:8080/juddiv3/UDDIPublicationService</publishUrl>
+                <securityUrl>http://localhost:8080/juddiv3/UDDISecurityService</securityUrl>
+                <subscriptionUrl>http://localhost:8080/juddiv3/UDDISubscriptionService</subscriptionUrl>
+                <subscriptionListenerUrl>http://localhost:8080/juddiv3/UDDISubscriptionListenerService</subscriptionListenerUrl>
+            </node>
+             <node>
+                <name>jboss7-ssl</name> 
+                <description>Main UDDI node running on Jboss EAP6 or AS7</description>
+                <!-- 
+                Jboss users, note that the url is typically different, here's an example for Jboss EAP 6.x-->
+                <custodyTransferUrl>https://localhost:8443/juddiv3/UDDICustodyTransferService</custodyTransferUrl>
+                <inquiryUrl>https://localhost:8443/juddiv3/UDDIInquiryService</inquiryUrl>
+                <publishUrl>https://localhost:8443/juddiv3/UDDIPublicationService</publishUrl>
+                <securityUrl>https://localhost:8443/juddiv3/UDDISecurityService</securityUrl>
+                <subscriptionUrl>https://localhost:8443/juddiv3/UDDISubscriptionService</subscriptionUrl>
             </node>
         </nodes>
 		<signature>
-			<!-- signing stuff, is used by juddi-gui -->
-			<signingKeyStorePath>keystore.jks</signingKeyStorePath>
-			<signingKeyStoreType>JKS</signingKeyStoreType>
+			<!-- signing stuff, is NOT used by juddi-gui -->
+			<signingKeyStorePath>(not used)</signingKeyStorePath>
+			<signingKeyStoreType>(not used)</signingKeyStoreType>
 			<signingKeyStoreFilePassword 
 				isPasswordEncrypted="false" 
-				cryptoProvider="org.apache.juddi.v3.client.crypto.AES128Cryptor">password</signingKeyStoreFilePassword>
+				cryptoProvider="org.apache.juddi.v3.client.crypto.AES128Cryptor">(not used)</signingKeyStoreFilePassword>
 			<signingKeyPassword
 				isPasswordEncrypted="false" 
-				cryptoProvider="org.apache.juddi.v3.client.crypto.AES128Cryptor">password</signingKeyPassword>
-			<signingKeyAlias>my special key</signingKeyAlias>
+				cryptoProvider="org.apache.juddi.v3.client.crypto.AES128Cryptor">(not used)</signingKeyPassword>
+			<signingKeyAlias>(not used)</signingKeyAlias>
                         
 			<canonicalizationMethod>http://www.w3.org/2001/10/xml-exc-c14n#</canonicalizationMethod>
 			<signatureMethod>http://www.w3.org/2000/09/xmldsig#rsa-sha1</signatureMethod>
 			<XML_DIGSIG_NS>http://www.w3.org/2000/09/xmldsig#</XML_DIGSIG_NS>
 			
                         <!-- validation stuff 
-                        This part is used by juddi-gui whenever someone views an entity that is signed
+                        This part IS used by juddi-gui whenever someone views an entity that is signed
+                        -->
+			<!-- if this doesn't exist or is incorrect, the client will attempt to load  from system properties, then 
+                        from the standard jdk trust store
+                        generally, if defined, the working path is typically the bin folder of the container
                         -->
-			<!-- if this doesn't exist or is incorrect, the client will atempt to load the standard jdk trust store-->
-			<trustStorePath>truststore.jks</trustStorePath>
+			<trustStorePath></trustStorePath>
 			<trustStoreType>JKS</trustStoreType>
 			<trustStorePassword
 				isPasswordEncrypted="false" 
-				cryptoProvider="org.apache.juddi.v3.client.crypto.AES128Cryptor">password</trustStorePassword>
+				cryptoProvider="org.apache.juddi.v3.client.crypto.AES128Cryptor"></trustStorePassword>
 			
 			<checkTimestamps>true</checkTimestamps>
 			<checkTrust>true</checkTrust>
@@ -69,10 +90,10 @@
 		</signature>
                 <!-- not used by juddi-gui-->
 		<subscriptionCallbacks>
-			<keyDomain>uddi:somebusiness</keyDomain>
-			<listenUrl>http://MyHostname:4444/callback</listenUrl>
+			<keyDomain>(not used)</keyDomain>
+			<listenUrl>(not used)</listenUrl>
 			<autoRegisterBindingTemplate>false</autoRegisterBindingTemplate>
-			<autoRegisterBusinessServiceKey>uddi:somebusiness:someservicekey</autoRegisterBusinessServiceKey>
+			<autoRegisterBusinessServiceKey>(not used)</autoRegisterBusinessServiceKey>
 			<signatureBehavior>DoNothing</signatureBehavior>
 			<!--valid values are AbortIfSigned,Sign,DoNothing,SignOnlyIfParentIsntSigned, default is DoNothing-->
 		</subscriptionCallbacks>
@@ -82,4 +103,26 @@
 		</XtoWsdl>
                 
     </client>
+    
+    <!-- hi there!
+    this section is required by juddi-gui and is an extension of what the normal juddi-client does
+    it's not in the standard config schema.
+    
+    -->
+    <config>
+        
+        <props>
+            <!--#required. if this uddi client is connected to uddi services that use the auth token, then set to UDDI_AUTH
+            #if not, set authtype to HTTP-->
+            <authtype>UDDI_AUTH</authtype>
+            <automaticLogouts>
+                <!-- #enables automatic logout timer, defaults to false if not defined-->
+                <enabled>true</enabled>
+                <!--#defines the duration of time to wait for the automatic logout, defaults to 15min if not defined-->
+                <duration>900000</duration>
+            </automaticLogouts>
+            <!--#node, this is the node defined in uddi.xml that the jUDDI-GUI will use for connections-->
+            <node>default-ssl</node>
+        </props>
+    </config>
 </uddi>

Modified: juddi/trunk/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web.properties
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web.properties?rev=1542441&r1=1542440&r2=1542441&view=diff
==============================================================================
--- juddi/trunk/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web.properties (original)
+++ juddi/trunk/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web.properties Sat Nov 16 01:22:44 2013
@@ -388,3 +388,4 @@ words.explanation=Explanation
 items.maxrecords.callback.tooltip=This value must be a whole number greater than 0. If left blank, the UDDI server should decide it for you.
 items.subscriptionbrief.tooltip=If checked, the UDDI server should only notify you that something has changed, but not the contents of the change.
 navbar.login.required=Login Required
+pages.settings.debuginfo=Debugging Information

Modified: juddi/trunk/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web_es.properties
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web_es.properties?rev=1542441&r1=1542440&r2=1542441&view=diff
==============================================================================
--- juddi/trunk/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web_es.properties (original)
+++ juddi/trunk/juddi-gui/src/main/resources/org/apache/juddi/webconsole/resources/web_es.properties Sat Nov 16 01:22:44 2013
@@ -390,3 +390,4 @@ words.explanation=Explicaci\u00f3n
 items.maxrecords.callback.tooltip=Este valor debe ser un n\u00famero entero mayor que 0. Si se deja en blanco, el servidor UDDI debe decidir por usted.
 items.subscriptionbrief.tooltip=Si se selecciona, el servidor UDDI s\u00f3lo debe avisarle de que algo ha cambiado, pero no el contenido del cambio.
 navbar.login.required=Inicio de sesi\u00f3n necesario
+pages.settings.debuginfo=Depuraci\u00f3n de Informaci\u00f3n

Modified: juddi/trunk/juddi-gui/src/main/webapp/META-INF/config.properties
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-gui/src/main/webapp/META-INF/config.properties?rev=1542441&r1=1542440&r2=1542441&view=diff
==============================================================================
--- juddi/trunk/juddi-gui/src/main/webapp/META-INF/config.properties (original)
+++ juddi/trunk/juddi-gui/src/main/webapp/META-INF/config.properties Sat Nov 16 01:22:44 2013
@@ -1,10 +1 @@
 
-#required. if this uddi client is connected to uddi services that use the auth token, then set to UDDI_AUTH
-#if not, set authtype to HTTP
-config.props.authtype=UDDI_AUTH
-
-#enables automatic logout timer, defaults to false if not defined
-config.props.enableAutomaticLogouts=true
-
-#defines the duration of time to wait for the automatic logout, defaults to 15min if not defined
-config.props.enableAutomaticLogouts.duration=900000
\ No newline at end of file

Modified: juddi/trunk/juddi-gui/src/main/webapp/ajax/settings.jsp
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-gui/src/main/webapp/ajax/settings.jsp?rev=1542441&r1=1542440&r2=1542441&view=diff
==============================================================================
--- juddi/trunk/juddi-gui/src/main/webapp/ajax/settings.jsp (original)
+++ juddi/trunk/juddi-gui/src/main/webapp/ajax/settings.jsp Sat Nov 16 01:22:44 2013
@@ -27,14 +27,12 @@
          }*/
         if (request.getMethod().equalsIgnoreCase("post")) {
             UddiHub x = UddiHub.getInstance(application, session);
-            Properties p = x.GetRawConfiguration();
+            
             Enumeration it = request.getParameterNames();
             while (it.hasMoreElements()) {
                 String key = (String) it.nextElement();
                 String value = request.getParameter(key);
-                if (key.startsWith(UddiHub.PROP_PREFIX)) {
-                    p.setProperty(key, value);
-                } else if (key.startsWith("client")) {
+                if (key.startsWith("client.") || key.startsWith("config.")) {
                     //its part of the juddi client config file
                     x.GetJuddiClientConfig().getConfiguration().setProperty(key, value);
                     //this just sets the runtime config
@@ -47,19 +45,6 @@
                 response.setStatus(500);
                 out.write("Error saving Juddi Client Config" + ex.getMessage());
             }
-            //attempt to save the properties file
-            try {
-                FileOutputStream fos = new FileOutputStream(new File(x.GetRawConfigurationPath()));
-                String msg = "Edited at " + System.currentTimeMillis() + " by " + request.getRemoteUser();
-                if (request.getUserPrincipal() != null) {
-                    msg += " " + request.getUserPrincipal().toString();
-                }
-                p.store(fos, msg);
-                fos.close();
-            } catch (Exception ex) {
-                response.setStatus(500);
-                out.write("Error saving config.properties (authmode only) " + ex.getMessage());
-            }
         }
     }
 %>
\ No newline at end of file

Modified: juddi/trunk/juddi-gui/src/main/webapp/login.jsp
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-gui/src/main/webapp/login.jsp?rev=1542441&r1=1542440&r2=1542441&view=diff
==============================================================================
--- juddi/trunk/juddi-gui/src/main/webapp/login.jsp (original)
+++ juddi/trunk/juddi-gui/src/main/webapp/login.jsp Sat Nov 16 01:22:44 2013
@@ -4,6 +4,7 @@
     Author     : Alex O'Ree
 --%>
 
+<%@page import="org.apache.juddi.webconsole.hub.UddiHub"%>
 <%@page import="org.apache.juddi.webconsole.resources.ResourceLoader"%>
 <%@page import="org.apache.commons.lang.StringEscapeUtils"%>
 <%@page contentType="text/html" pageEncoding="UTF-8"%>
@@ -21,7 +22,7 @@
     </script>
     <a class="btn" title="<%=ResourceLoader.GetResource(session, "navbar.login.logout")%>" href="javascript:logout();">
         <%
-                if (!request.isSecure()) {
+                if (!request.isSecure() && UddiHub.getInstance(application, session).isSecure()) {
             %>
             <i class="icon-warning-sign" title="<%=ResourceLoader.GetResource(session, "warning.ssl")%>"></i>
             <%

Modified: juddi/trunk/juddi-gui/src/main/webapp/settings.jsp
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-gui/src/main/webapp/settings.jsp?rev=1542441&r1=1542440&r2=1542441&view=diff
==============================================================================
--- juddi/trunk/juddi-gui/src/main/webapp/settings.jsp (original)
+++ juddi/trunk/juddi-gui/src/main/webapp/settings.jsp Sat Nov 16 01:22:44 2013
@@ -1,4 +1,4 @@
-<%-- 
+-<%-- 
     Document   : settings
     Created on : Feb 23, 2013, 2:05:35 PM
     Author     : Alex O'Ree
@@ -29,55 +29,114 @@
 
 
             %>
+
+
             <%=ResourceLoader.GetResource(session, "pages.settings.loading")%> <%=StringEscapeUtils.escapeHtml(x.GetJuddiClientConfig().getConfigurationFile())%><br>
-            <%=ResourceLoader.GetResource(session, "pages.settings.loading")%> <%=StringEscapeUtils.escapeHtml(x.GetRawConfigurationPath())%>
             <table class="table table-hover">
                 <tr><th><%=ResourceLoader.GetResource(session, "items.key")%></th>
                     <th><%=ResourceLoader.GetResource(session, "items.value")%></th></tr>
                         <%
-
-
-                            Properties p = x.GetRawConfiguration();
-                            Set<Entry<Object, Object>> set = p.entrySet();
-                            Iterator<Entry<Object, Object>> it = set.iterator();
-                            while (it.hasNext()) {
-                                out.write("<tr><td>");
-                                Entry<Object, Object> item = (Entry<Object, Object>) it.next();
-                                String key = (String) item.getKey();
-                                String value = (String) item.getValue();
-                                out.write(StringEscapeUtils.escapeHtml(key));
-                                out.write("</td><td><div ");
-                                if (!key.equalsIgnoreCase("key")) {
-                                    out.write("class=\"edit\" id=\"" + StringEscapeUtils.escapeHtml(key) + "\"");
-                                }
-                                out.write(">");
-
-                                out.write(StringEscapeUtils.escapeHtml(value));
-                                out.write("</div></td></tr>");
-                            }
                             try {
                                 ClientConfig cfg = x.GetJuddiClientConfig();
+                                Configuration cfg2 = cfg.getConfiguration();
                                 Iterator<String> it2 = cfg.getConfiguration().getKeys();
+
+                                String[] nodes = cfg2.getStringArray("client.nodes.node.name");
+
                                 while (it2.hasNext()) {
-                                    out.write("<tr><td>");
+
                                     String key = it2.next();
 
                                     String value = cfg.getConfiguration().getString(key);
+                                    if (key.startsWith("client") && !key.startsWith("client.nodes.node")) {
+                                        out.write("<tr><td>");
+                                        out.write(StringEscapeUtils.escapeHtml(key));
+                                        out.write("</td><td><div ");
+                                        if (key.startsWith("client") && !key.startsWith("client.nodes")) {
+                                            out.write("class=\"edit\" id=\"" + StringEscapeUtils.escapeHtml(key) + "\"");
+                                        }
+                                        out.write(">");
+                                        out.write(StringEscapeUtils.escapeHtml(value));
+                                        out.write("</div></td></tr>");
+                                    }
+                                }
+
+                                for (int i = 0; i < nodes.length; i++) {
+
+                                    String key = "client.nodes.node(" + i + ").name";
+                                    out.write("<tr><td>");
                                     out.write(StringEscapeUtils.escapeHtml(key));
                                     out.write("</td><td><div ");
-                                    if (key.startsWith("client")) {
-                                        out.write("class=\"edit\" id=\"" + StringEscapeUtils.escapeHtml(key) + "\"");
-                                    }
-                                    out.write(">");
-                                    out.write(StringEscapeUtils.escapeHtml(value));
+                                    out.write("class=\"edit\" id=\"" + StringEscapeUtils.escapeHtml(key) + "\">");
+                                    out.write(StringEscapeUtils.escapeHtml(cfg2.getString(key)));
+                                    out.write("</div></td></tr>");
+
+                                    key = "client.nodes.node(" + i + ").description";
+                                    out.write("<tr><td>");
+                                    out.write(StringEscapeUtils.escapeHtml(key));
+                                    out.write("</td><td><div ");
+                                    out.write("class=\"edit\" id=\"" + StringEscapeUtils.escapeHtml(key) + "\">");
+                                    out.write(StringEscapeUtils.escapeHtml(cfg2.getString(key)));
+                                    out.write("</div></td></tr>");
+
+                                    key = "client.nodes.node(" + i + ").proxyTransport";
+                                    out.write("<tr><td>");
+                                    out.write(StringEscapeUtils.escapeHtml(key));
+                                    out.write("</td><td><div ");
+                                    out.write("class=\"edit\" id=\"" + StringEscapeUtils.escapeHtml(key) + "\">");
+                                    out.write(StringEscapeUtils.escapeHtml(cfg2.getString(key)));
+                                    out.write("</div></td></tr>");
+
+                                    key = "client.nodes.node(" + i + ").custodyTransferUrl";
+                                    out.write("<tr><td>");
+                                    out.write(StringEscapeUtils.escapeHtml(key));
+                                    out.write("</td><td><div ");
+                                    out.write("class=\"edit\" id=\"" + StringEscapeUtils.escapeHtml(key) + "\">");
+                                    out.write(StringEscapeUtils.escapeHtml(cfg2.getString(key)));
+                                    out.write("</div></td></tr>");
+
+                                    key = "client.nodes.node(" + i + ").inquiryUrl";
+                                    out.write("<tr><td>");
+                                    out.write(StringEscapeUtils.escapeHtml(key));
+                                    out.write("</td><td><div ");
+                                    out.write("class=\"edit\" id=\"" + StringEscapeUtils.escapeHtml(key) + "\">");
+                                    out.write(StringEscapeUtils.escapeHtml(cfg2.getString(key)));
+                                    out.write("</div></td></tr>");
+
+                                    key = "client.nodes.node(" + i + ").publishUrl";
+                                    out.write("<tr><td>");
+                                    out.write(StringEscapeUtils.escapeHtml(key));
+                                    out.write("</td><td><div ");
+                                    out.write("class=\"edit\" id=\"" + StringEscapeUtils.escapeHtml(key) + "\">");
+                                    out.write(StringEscapeUtils.escapeHtml(cfg2.getString(key)));
+                                    out.write("</div></td></tr>");
+
+                                    key = "client.nodes.node(" + i + ").securityUrl";
+                                    out.write("<tr><td>");
+                                    out.write(StringEscapeUtils.escapeHtml(key));
+                                    out.write("</td><td><div ");
+                                    out.write("class=\"edit\" id=\"" + StringEscapeUtils.escapeHtml(key) + "\">");
+                                    out.write(StringEscapeUtils.escapeHtml(cfg2.getString(key)));
+                                    out.write("</div></td></tr>");
+
+                                    key = "client.nodes.node(" + i + ").subscriptionUrl";
+                                    out.write("<tr><td>");
+                                    out.write(StringEscapeUtils.escapeHtml(key));
+                                    out.write("</td><td><div ");
+                                    out.write("class=\"edit\" id=\"" + StringEscapeUtils.escapeHtml(key) + "\">");
+                                    out.write(StringEscapeUtils.escapeHtml(cfg2.getString(key)));
                                     out.write("</div></td></tr>");
 
                                 }
+
+
                             } catch (Exception ex) {
                                 x.log.error(ex);
                             }
                         %>
             </table>
+
+
             <a class="btn btn-primary " href="javascript:saveSettings();"><i class="icon-large icon-save"></i> <%=ResourceLoader.GetResource(session, "actions.save")%></a>
             <script type="text/javascript">
 
@@ -137,6 +196,45 @@
                     });
                 }
             </script>
+
+            <br><br>
+            <script type="text/javascript">
+                function showDebug() {
+                    $("#debugtable").show();
+                }
+            </script>
+            <a class="btn " href="javascript:showDebug();"><i class="icon-large icon-save"></i> <%=ResourceLoader.GetResource(session, "pages.settings.debuginfo")%></a>
+            <div id="debugtable" class="hide">
+                <table class="table table-hover">
+                    <tr><th><%=ResourceLoader.GetResource(session, "items.key")%></th>
+                        <th><%=ResourceLoader.GetResource(session, "items.value")%></th></tr>
+                            <%
+
+                                try {
+                                    ClientConfig cfg = x.GetJuddiClientConfig();
+                                    Iterator<String> it2 = cfg.getConfiguration().getKeys();
+
+                                    while (it2.hasNext()) {
+
+                                        String key = it2.next();
+
+                                        if (!key.startsWith("config.props.") && !key.startsWith("client")) {
+                                            String value = cfg.getConfiguration().getString(key);
+                                            out.write("<tr><td>");
+                                            out.write(StringEscapeUtils.escapeHtml(key));
+                                            out.write("</td><td><div ");
+                                            out.write(">");
+                                            out.write(StringEscapeUtils.escapeHtml(value));
+                                            out.write("</div></td></tr>");
+                                        }
+                                    }
+                                } catch (Exception ex) {
+                                    x.log.error(ex);
+                                }
+
+                            %>
+                </table>
+            </div>
         </div>
     </div>
     <%@include file="header-bottom.jsp" %>
\ No newline at end of file

Modified: juddi/trunk/juddi-tomcat/build.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-tomcat/build.xml?rev=1542441&r1=1542440&r2=1542441&view=diff
==============================================================================
--- juddi/trunk/juddi-tomcat/build.xml (original)
+++ juddi/trunk/juddi-tomcat/build.xml Sat Nov 16 01:22:44 2013
@@ -15,6 +15,8 @@
 	<target name="copy-resources" depends="unzip-tomcat">
 		<copy file="${basedir}/catalina.sh" todir="${basedir}/target/tomcat/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>
 		<copy file="${basedir}/catalina.bat" todir="${basedir}/target/tomcat/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>
+		<copy file="${basedir}/truststore.jks" todir="${basedir}/target/tomcat/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>
+		<copy file="${basedir}/truststore.jks" todir="${basedir}/target/tomcat/apache-tomcat-${apache.tomcat.version}/" overwrite="true"/>
 		
 		<copy file="${basedir}/juddi-cryptor.bat" todir="${basedir}/target/tomcat/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>
 		<copy file="${basedir}/juddi-md5.bat" todir="${basedir}/target/tomcat/apache-tomcat-${apache.tomcat.version}/bin" overwrite="true"/>

Modified: juddi/trunk/juddi-tomcat/catalina.bat
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-tomcat/catalina.bat?rev=1542441&r1=1542440&r2=1542441&view=diff
==============================================================================
--- juddi/trunk/juddi-tomcat/catalina.bat (original)
+++ juddi/trunk/juddi-tomcat/catalina.bat Sat Nov 16 01:22:44 2013
@@ -80,7 +80,11 @@ rem ------------------------------------
 
 rem Guess CATALINA_HOME if not defined
 
+rem these are jUDDI specific settings
 set JAVA_OPTS=%JAVA_OPTS% -Xms256m -Xmx256m -XX:PermSize=256M -XX:MaxPermSize=256M
+set JAVA_OPTS=%JAVA_OPTS% -Djavax.net.ssl.trustStore=truststore.jks -Djavax.net.ssl.trustStorePassword=password
+rem end custom settings
+
 set "CURRENT_DIR=%cd%"
 if not "%CATALINA_HOME%" == "" goto gotHome
 set "CATALINA_HOME=%CURRENT_DIR%"

Modified: juddi/trunk/juddi-tomcat/catalina.sh
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-tomcat/catalina.sh?rev=1542441&r1=1542440&r2=1542441&view=diff
==============================================================================
--- juddi/trunk/juddi-tomcat/catalina.sh (original)
+++ juddi/trunk/juddi-tomcat/catalina.sh Sat Nov 16 01:22:44 2013
@@ -197,7 +197,10 @@ if [ -z "$LOGGING_CONFIG" ]; then
   fi
 fi
 
+# begin custom juddi settings
 JAVA_OPTS="$JAVA_OPTS -Xms256m -Xmx256m -XX:PermSize=256M -XX:MaxPermSize=256M"
+JAVA_OPTS="%JAVA_OPTS% -Djavax.net.ssl.trustStore=truststore.jks -Djavax.net.ssl.trustStorePassword=password"
+# end custom juddi settings
 
 if [ -z "$LOGGING_MANAGER" ]; then
   JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"

Added: juddi/trunk/juddi-tomcat/truststore.jks
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-tomcat/truststore.jks?rev=1542441&view=auto
==============================================================================
Binary file - no diff available.

Propchange: juddi/trunk/juddi-tomcat/truststore.jks
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: juddi/trunk/juddiv3-war/pom.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddiv3-war/pom.xml?rev=1542441&r1=1542440&r2=1542441&view=diff
==============================================================================
--- juddi/trunk/juddiv3-war/pom.xml (original)
+++ juddi/trunk/juddiv3-war/pom.xml Sat Nov 16 01:22:44 2013
@@ -210,11 +210,7 @@
 					<groupId>org.apache.juddi</groupId>
 					<version>${project.version}</version>
 				</dependency>
-				<dependency>
-					<groupId>org.apache.cxf</groupId>
-					<artifactId>cxf-rt-frontend-jaxws</artifactId>
-					<version>${cxf.version}</version>
-				</dependency>
+				
 				<dependency>
 					<groupId>org.apache.cxf</groupId>
 					<artifactId>cxf-rt-frontend-jaxrs</artifactId>

Modified: juddi/trunk/juddiv3-war/src/main/java/org/apache/juddi/webconsole/hub/UddiAdminHub.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddiv3-war/src/main/java/org/apache/juddi/webconsole/hub/UddiAdminHub.java?rev=1542441&r1=1542440&r2=1542441&view=diff
==============================================================================
--- juddi/trunk/juddiv3-war/src/main/java/org/apache/juddi/webconsole/hub/UddiAdminHub.java (original)
+++ juddi/trunk/juddiv3-war/src/main/java/org/apache/juddi/webconsole/hub/UddiAdminHub.java Sat Nov 16 01:22:44 2013
@@ -35,6 +35,7 @@ import javax.xml.transform.TransformerFa
 import javax.xml.transform.stream.StreamResult;
 import javax.xml.transform.stream.StreamSource;
 import javax.xml.ws.BindingProvider;
+import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.lang.StringEscapeUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -50,7 +51,10 @@ import org.apache.juddi.api_v3.SavePubli
 import org.apache.juddi.api_v3.SyncSubscription;
 import org.apache.juddi.api_v3.SyncSubscriptionDetail;
 import org.apache.juddi.v3.client.ClassUtil;
+import org.apache.juddi.v3.client.config.ClientConfig;
+import org.apache.juddi.v3.client.config.UDDIClient;
 import org.apache.juddi.v3.client.config.UDDIClientContainer;
+import org.apache.juddi.v3.client.config.UDDINode;
 import org.apache.juddi.v3.client.transport.Transport;
 import org.apache.juddi.v3_service.JUDDIApiPortType;
 import org.apache.juddi.webconsole.AES;
@@ -78,18 +82,16 @@ public class UddiAdminHub {
      * The logger name
      */
     public static final String LOGGER_NAME = "org.apache.juddi";
-    AuthStyle style = null;
-    URL propertiesurl = null;
+    transient AuthStyle style = null;
     Properties properties = null;
     /**
      * The Log4j logger. This is also referenced from the Builders class, thus
      * it is public
      */
     public static final Log log = LogFactory.getLog(LOGGER_NAME);
-    private DatatypeFactory df;
 
     private UddiAdminHub() throws DatatypeConfigurationException {
-        df = DatatypeFactory.newInstance();
+        //    df = DatatypeFactory.newInstance();
     }
 
     /**
@@ -118,6 +120,37 @@ public class UddiAdminHub {
         security = null;
         juddi = null;
     }
+    /**
+     * the name of the 'node' property in the config
+     */
+    public static final String PROP_CONFIG_NODE = "config.props.node";
+    /**
+     *
+     */
+    public static final String PROP_AUTH_TYPE = "config.props.authtype";
+    /**
+     *
+     */
+    public static final String PROP_AUTO_LOGOUT = "config.props.automaticLogouts.enable";
+    /**
+     *
+     */
+    public static final String PROP_AUTO_LOGOUT_TIMER = "config.props.automaticLogouts.duration";
+    /**
+     *
+     */
+    public static final String PROP_PREFIX = "config.props.";
+    private transient UDDISecurityPortType security = null;
+    private transient JUDDIApiPortType juddi = null;
+    private transient String token = null;
+    private transient HttpSession session;
+    private transient Transport transport = null;
+    private transient ClientConfig clientConfig;
+    private static final long serialVersionUID = 1L;
+    private String nodename = "default";
+    private final String clientName = "juddigui";
+    private boolean WS_Transport = false;
+    private boolean WS_securePorts = false;
 
     /**
      * This is the singleton accessor UddiHub. There should be at most 1
@@ -146,36 +179,61 @@ public class UddiAdminHub {
             throw new Exception("Cannot locate the configuration file.");
         }
         session = _session;
-        propertiesurl = prop;
+
         InputStream in = prop.openStream();
         Properties p = new Properties();
         p.load(in);
         in.close();
         session = _session;
         properties = p;
-        style = (AuthStyle) AuthStyle.valueOf((String) p.get("authtype"));
-        try {
+        EnsureConfig();
+    }
 
-            String clazz = UDDIClientContainer.getUDDIClient(null).
-                    getClientConfig().getUDDINode("default").getProxyTransport();
-            Class<?> transportClass = ClassUtil.forName(clazz, Transport.class);
-            if (transportClass != null) {
-                Transport transport = (Transport) transportClass.
-                        getConstructor(String.class).newInstance("default");
+    private void EnsureConfig() {
+        if (clientConfig == null) {
+            try {
+                UDDIClient client = UDDIClientContainer.getUDDIClient(null);
+                clientConfig = client.getClientConfig();
+                try {
+                    style = AuthStyle.valueOf(clientConfig.getConfiguration().getString(PROP_AUTH_TYPE));
+                } catch (Exception ex) {
+                    log.warn("'UDDI_AUTH' is not defined in the config (" + PROP_AUTH_TYPE + ")! defaulting to UDDI_AUTH");
+                    style = AuthStyle.UDDI_AUTH;
+                }
 
-                security = transport.getUDDISecurityService();
-                juddi = transport.getJUDDIApiService();
+                nodename = clientConfig.getConfiguration().getString(PROP_CONFIG_NODE);
+                if (nodename == null || nodename.equals("")) {
+                    log.warn("'node' is not defined in the config! defaulting to 'default'");
+                    nodename = "default";
+                }
+                UDDINode uddiNode = clientConfig.getUDDINode(nodename);
 
+                String clazz = uddiNode.getProxyTransport();
+                if (clazz.contains("JAXWSTransport")) {
+                    WS_Transport = true;
+                }
+                Class<?> transportClass = ClassUtil.forName(clazz, Transport.class);
+                if (transportClass != null) {
+                    transport = (Transport) transportClass.
+                            getConstructor(String.class).newInstance(nodename);
+
+                    security = transport.getUDDISecurityService();
+                    juddi = transport.getJUDDIApiService();
+
+                    if (WS_Transport) {
+                        if (uddiNode.getJuddiApiUrl().toLowerCase().startsWith("https://")
+                                && (uddiNode.getSecurityUrl() != null && uddiNode.getSecurityUrl().toLowerCase().startsWith("https://"))) {
+                            WS_securePorts = true;
+                        }
+                    }
 
+                }
+            } catch (Exception ex) {
+                HandleException(ex);
             }
-        } catch (Exception ex) {
-            HandleException(ex);
         }
+
     }
-    private HttpSession session;
-    private UDDISecurityPortType security = null;
-    private JUDDIApiPortType juddi = null;
-    private String token = null;
 
     /**
      * This function provides a basic error handling rutine that will pull out
@@ -204,6 +262,30 @@ public class UddiAdminHub {
     }
 
     /**
+     * returns true if we are using JAXWS transport AND all of the URLs start
+     * with https://
+     *
+     * @return
+     */
+    public boolean isSecure() {
+
+        EnsureConfig();
+        return WS_securePorts;
+    }
+
+    /**
+     * gets a reference to the current juddi client config file. this is a live
+     * instance changes can be stored to disk, usually
+     *
+     * @return
+     * @throws ConfigurationException g
+     */
+    public ClientConfig GetJuddiClientConfig() throws ConfigurationException {
+        EnsureConfig();
+        return clientConfig;
+    }
+
+    /**
      * Handles all API calls to the juddi web service
      *
      * @param parameters
@@ -250,28 +332,17 @@ public class UddiAdminHub {
     public enum AuthStyle {
 
         /**
-         * Http Basic
+         * Http
          */
-        HTTP_BASIC,
-        /**
-         * Http Digest
-         */
-        HTTP_DIGEST,
-        /**
-         * HTTP NTLM
-         */
-        HTTP_NTLM,
+        HTTP,
         /**
          * UDDI Authentication via the Security API
          */
-        UDDI_AUTH,
-        /**
-         * HTTP Client Certificate Authentication
-         */
-        HTTP_CLIENT_CERT
+        UDDI_AUTH
     }
 
     private String GetToken() {
+        EnsureConfig();
         if (style != AuthStyle.UDDI_AUTH) {
             BindingProvider bp = null;
             Map<String, Object> context = null;

Modified: juddi/trunk/juddiv3-war/src/main/resources/META-INF/uddi.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddiv3-war/src/main/resources/META-INF/uddi.xml?rev=1542441&r1=1542440&r2=1542441&view=diff
==============================================================================
--- juddi/trunk/juddiv3-war/src/main/resources/META-INF/uddi.xml (original)
+++ juddi/trunk/juddiv3-war/src/main/resources/META-INF/uddi.xml Sat Nov 16 01:22:44 2013
@@ -1,5 +1,4 @@
 <?xml version="1.0" encoding="ISO-8859-1" ?>
-
 <uddi>
     <reloadDelay>5000</reloadDelay>
     <client name="example-client">
@@ -7,15 +6,6 @@
             <node>
                 <!-- required 'default' node -->
                 <name>default</name> 
-                <properties>
-                    <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" />
-					<property name="basicAuthPasswordIsEncrypted" value="false" />
-					<property name="basicAuthPasswordCryptoProvider" value="org.apache.juddi.v3.client.crypto.AES128Cryptor (an example)" />-->
-                </properties>
                 <description>Main jUDDI node</description>
                 <!-- JAX-WS Transport -->
                 <proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport>
@@ -29,35 +19,35 @@
             </node>
         </nodes>
 		<signature>
-			<!-- signing stuff -->
-			<signingKeyStorePath>keystore.jks</signingKeyStorePath>
+			<!-- signing stuff (not used)-->
+			<signingKeyStorePath></signingKeyStorePath>
 			<signingKeyStoreType>JKS</signingKeyStoreType>
 			<signingKeyStoreFilePassword 
 				isPasswordEncrypted="false" 
-				cryptoProvider="org.apache.juddi.v3.client.crypto.AES128Cryptor">password</signingKeyStoreFilePassword>
+				cryptoProvider="org.apache.juddi.v3.client.crypto.AES128Cryptor"></signingKeyStoreFilePassword>
 			<signingKeyPassword
 				isPasswordEncrypted="false" 
-				cryptoProvider="org.apache.juddi.v3.client.crypto.AES128Cryptor">password</signingKeyPassword>
-			<signingKeyAlias>my special key</signingKeyAlias>
+				cryptoProvider="org.apache.juddi.v3.client.crypto.AES128Cryptor"></signingKeyPassword>
+			<signingKeyAlias>(not used)</signingKeyAlias>
 			<canonicalizationMethod>http://www.w3.org/2001/10/xml-exc-c14n#</canonicalizationMethod>
 			<signatureMethod>RSA_SHA1</signatureMethod>
 			<XML_DIGSIG_NS>http://www.w3.org/2000/09/xmldsig#</XML_DIGSIG_NS>
 			<!-- validation stuff -->
-			<trustStorePath>truststore.jks</trustStorePath>
-			<trustStoreType>JKS</trustStoreType>
+			<trustStorePath></trustStorePath>
+			<trustStoreType></trustStoreType>
 			<trustStorePassword
 				isPasswordEncrypted="false" 
-				cryptoProvider="org.apache.juddi.v3.client.crypto.AES128Cryptor">password</trustStorePassword>
+				cryptoProvider="org.apache.juddi.v3.client.crypto.AES128Cryptor"></trustStorePassword>
 			
 			<checkTimestamps>true</checkTimestamps>
 			<checkTrust>true</checkTrust>
 			<checkRevocationCRL>true</checkRevocationCRL>
 		</signature>
 		<subscriptionCallbacks>
-			<keyDomain>uddi:somebusiness</keyDomain>
-			<listenUrl>http://MyHostname:4444/callback</listenUrl>
+			<keyDomain></keyDomain>
+			<listenUrl></listenUrl>
 			<autoRegisterBindingTemplate>false</autoRegisterBindingTemplate>
-			<autoRegisterBusinessServiceKey>uddi:somebusiness:someservicekey</autoRegisterBusinessServiceKey>
+			<autoRegisterBusinessServiceKey></autoRegisterBusinessServiceKey>
 			<signatureBehavior>DoNothing</signatureBehavior>
 			<!--valid values are AbortIfSigned,Sign,DoNothing,SignOnlyIfParentIsntSigned, default is DoNothing-->
 		</subscriptionCallbacks>
@@ -65,4 +55,27 @@
 			<IgnoreSSLErrors>false</IgnoreSSLErrors>
 		</XtoWsdl>
     </client>
+    
+    
+    <!-- hi there!
+    this section is required by juddi admin page and is an extension of what the normal juddi-client does.
+    it's not in the standard config schema.
+    
+    -->
+    <config>
+        
+        <props>
+            <!--#required. if this uddi client is connected to uddi services that use the auth token, then set to UDDI_AUTH
+            #if not, set authtype to HTTP-->
+            <authtype>UDDI_AUTH</authtype>
+            <automaticLogouts>
+                <!-- #enables automatic logout timer, defaults to false if not defined-->
+                <enabled>true</enabled>
+                <!--#defines the duration of time to wait for the automatic logout, defaults to 15min if not defined-->
+                <duration>900000</duration>
+            </automaticLogouts>
+            <!--#node, this is the node defined in uddi.xml that the jUDDI-GUI will use for connections-->
+            <node>default-ssl</node>
+        </props>
+    </config>
 </uddi>

Modified: juddi/trunk/juddiv3-war/src/main/webapp/WEB-INF/config.properties
URL: http://svn.apache.org/viewvc/juddi/trunk/juddiv3-war/src/main/webapp/WEB-INF/config.properties?rev=1542441&r1=1542440&r2=1542441&view=diff
==============================================================================
--- juddi/trunk/juddiv3-war/src/main/webapp/WEB-INF/config.properties (original)
+++ juddi/trunk/juddiv3-war/src/main/webapp/WEB-INF/config.properties Sat Nov 16 01:22:44 2013
@@ -5,26 +5,3 @@
 
 # it's access by the StartupServlet and generates a new encryption key everytime the servlet container (i.e. Tomcat) starts up.
 # we must have write access to this file.
-
-securityurl=http://localhost:8080/juddiv3/services/security?wsdl
-
-juddipapi=http://localhost:8080/juddiv3/services/juddi-api?wsdl
-# note used subscriptionlistenerurl=http://localhost:8080/juddiv3/services/subscription-listener?wsdl
-authtype=UDDI_AUTH
-
-
-#javax.net.ssl.keyStore
-#javax.net.ssl.keyStorePassword
-#javax.net.ssl.trustStore
-#javax.net.ssl.trustStorePassword
-
-
-#
-# The type of file, such as JKS for most Java applications, or WINDOWS-MY
-# to use the Windows certificate store of the current user or KeychainStore
-# for MacOS
-
-#TRUSTSTORE_FILE = keyStorePath
-#TRUSTSTORE_FILETYPE = keyStoreType
-#TRUSTSTORE_FILE_PASSWORD = filePassword
-

Modified: juddi/trunk/juddiv3-war/src/main/webapp/admin/admin.jsp
URL: http://svn.apache.org/viewvc/juddi/trunk/juddiv3-war/src/main/webapp/admin/admin.jsp?rev=1542441&r1=1542440&r2=1542441&view=diff
==============================================================================
--- juddi/trunk/juddiv3-war/src/main/webapp/admin/admin.jsp (original)
+++ juddi/trunk/juddiv3-war/src/main/webapp/admin/admin.jsp Sat Nov 16 01:22:44 2013
@@ -39,7 +39,8 @@
             %>
             This page lets you access the jUDDI Web Service.
             Its functions are outside the scope of the UDDI specification and provide basic administrative functions
-            for managing your UDDI node. You'll need to be logged in order to do anything. Please select an item from the drop down menu.<br>
+            for managing your UDDI node. <br><br><b>You'll need to be logged (top right) in order to do anything.</b><br>
+            Please select an item from the drop down menu.<br>
             <select onchange="toggledivs();" id="divselector">
                 <option>adminDelete_tmodel</option>
                 <option>delete_ClientSubscriptionInfo</option>
@@ -80,7 +81,7 @@
                 <div id="save_publisher" style="display:none">
                     Name<input type="text" id="savePublisherNAME"  class="forminput" placeholder="Enter name"><br>
                     Email<input type="text" id="savePublisherEMAIL"  class="forminput" placeholder="Enter email"><br>
-                    Authorized Name <input type="text" id="savePublisherAuthorizedName"  class="forminput" placeholder="Enter Authorized Name"><br>
+                    Authorized Name (username) <input type="text" id="savePublisherAuthorizedName"  class="forminput" placeholder="Enter Authorized Name"><br>
                     Is Admin <input type="text" id="savePublisherIsAdmin"  class="forminput" ><br>
                     Is Enabled <input type="text" id="savePublisherIsEnabled"  class="forminput"><br>
                     Max bindings per service <input type="text" id="savePublisherMaxBindings" placeholder="100"  class="forminput"><br>
@@ -158,7 +159,7 @@
                 }
             </script>
             <br>
-            * For items that require an XML input, let the UDDI authentication token blank. It will be populated automatically.
+            * For items that require XML input, leave the UDDI authentication token blank. It will be populated automatically.
             <a href="javascript:submitform();" class="btn btn-primary">Go!</a>
             <div id="adminresults"></div>
         </div>

Modified: juddi/trunk/juddiv3-war/src/main/webapp/admin/configure.jsp
URL: http://svn.apache.org/viewvc/juddi/trunk/juddiv3-war/src/main/webapp/admin/configure.jsp?rev=1542441&r1=1542440&r2=1542441&view=diff
==============================================================================
--- juddi/trunk/juddiv3-war/src/main/webapp/admin/configure.jsp (original)
+++ juddi/trunk/juddiv3-war/src/main/webapp/admin/configure.jsp Sat Nov 16 01:22:44 2013
@@ -32,6 +32,7 @@
                     out.write("Loaded from: (location unknown)<br>");
                 }
             %>
+            <h2>Server Config</h2>
             <table class="table table-hover">
                 <tr><th>Field</th><th>Value</th></tr>
                         <%



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