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 2014/01/19 20:13:35 UTC

svn commit: r1559558 - in /juddi/trunk: juddi-core/src/main/java/org/apache/juddi/api/impl/ juddi-core/src/main/java/org/apache/juddi/subscription/ juddi-core/src/main/java/org/apache/juddi/subscription/notify/ juddi-tomcat/ juddiv3-war/src/main/java/o...

Author: alexoree
Date: Sun Jan 19 19:13:34 2014
New Revision: 1559558

URL: http://svn.apache.org/r1559558
Log:
JUDDI-725 adding some scripts to help setup the environment for two nodes, adding javadoc and TODO docs

Added:
    juddi/trunk/juddi-tomcat/juddiv3Node2.xml
    juddi/trunk/juddi-tomcat/serverNode2.xml
    juddi/trunk/juddi-tomcat/twonodes.bat
    juddi/trunk/juddi-tomcat/uddiNode2.xml
Modified:
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/notify/Notifier.java
    juddi/trunk/juddiv3-war/src/main/java/org/apache/juddi/adminconsole/hub/UddiAdminHub.java
    juddi/trunk/juddiv3-war/src/main/webapp/admin/admin.jsp

Modified: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java?rev=1559558&r1=1559557&r2=1559558&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java (original)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java Sun Jan 19 19:13:34 2014
@@ -73,7 +73,8 @@ import org.uddi.v3_service.DispositionRe
 import org.uddi.v3_service.UDDISubscriptionPortType;
 
 /**
- * Implements the jUDDI API service
+ * Implements the jUDDI API service. These methods are outside of the UDDI spec
+ * and are specific to jUDDI. They are primarily used for administrative functions.
  *
  * @author <a href="mailto:jfaath@apache.org">Jeff Faath</a>
  * @author <a href="mailto:kstam@apache.org">Kurt T Stam</a>

Modified: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java?rev=1559558&r1=1559557&r2=1559558&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java (original)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/SubscriptionNotifier.java Sun Jan 19 19:13:34 2014
@@ -348,6 +348,10 @@ public class SubscriptionNotifier extend
 //				resultList.getServiceList().setServiceInfos(null);
 //			}
 			body.setSubscriptionResultsList(resultList);
+                        
+                         //TODO if the endpoint requires an auth token, look up the security endpoint of the remote registry
+                        //via ClientSubscriptionInfo
+                        
                         if (sendToken)
                         {
                             String authorizedName = modelSubscription.getAuthorizedName();

Modified: juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/notify/Notifier.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/notify/Notifier.java?rev=1559558&r1=1559557&r2=1559558&view=diff
==============================================================================
--- juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/notify/Notifier.java (original)
+++ juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/notify/Notifier.java Sun Jan 19 19:13:34 2014
@@ -6,6 +6,22 @@ import org.uddi.api_v3.DispositionReport
 import org.uddi.subr_v3.NotifySubscriptionListener;
 import org.uddi.v3_service.DispositionReportFaultMessage;
 
+/**
+ * This is an interface class used when the jUDDI server notifies subscription listeners
+ * asynchronously.
+ * 
+ * You must implement a constructor that accepts a single parameter of type
+ * "org.apache.juddi.model.BindingTemplate".
+ * 
+ * In addition, implementing classes must be within the same package name as this class
+ * and must be named after the following pattern:<br>
+ * PROTOCOLNotifier<br>
+ * Example: When the binding Template's access point is http://myserver:9999/endpoint, 
+ * then the class HTTPNotifier is called. Endpoints must start with protocol: in 
+ * order for this to work and they will be made uppercase when searching for the 
+ * class to trigger.
+ * 
+ */
 public interface Notifier {
 
 	public DispositionReport notifySubscriptionListener(NotifySubscriptionListener body) 

Added: juddi/trunk/juddi-tomcat/juddiv3Node2.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-tomcat/juddiv3Node2.xml?rev=1559558&view=auto
==============================================================================
--- juddi/trunk/juddi-tomcat/juddiv3Node2.xml (added)
+++ juddi/trunk/juddi-tomcat/juddiv3Node2.xml Sun Jan 19 19:13:34 2014
@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="UTF-8"  ?>
+<!--
+################################################################
+#                 jUDDI-v3.0 configuration.                    #
+################################################################
+# Note that the property settings in this                      #
+# file can be overriden by system parameters                   #
+#                                                              #
+################################################################
+-->
+<config>
+	<juddi>
+		<!-- The ${juddi.server.baseurl} token can be referenced in accessPoints and will be resolved at runtime. -->
+		<server>
+			<baseurl>http://localhost:9080/juddiv3</baseurl>
+			<baseurlsecure>https://localhost:9443/juddiv3</baseurlsecure>
+		</server>
+		<!-- The node Id must be unique when setup in a cluster of UDDI servers implementing the replication API
+			don't worry, jUDDI doesn't implement it right now, but it may come in the future -->
+		<nodeId>uddi:juddi.apache.org:node2</nodeId>
+		<!-- The key of the root business that all of the UDDI services are registered in, as defined in the install_data -->
+		<root>
+			<!-- this is the 'root' username, or owner of the node -->
+			<publisher>root</publisher>
+			<!-- The key of the root business that all of the UDDI services are registered in, as defined in the install_data -->
+			<businessId>uddi:juddi.apache.org:businesses-asf</businessId>
+			<partition>uddi:juddi.apache.org</partition>
+		</root>
+		<seed>
+			<always>false</always>
+		</seed>
+
+		<!-- Name of the persistence unit to use (the default, "juddiDatabase" refers to the unit compiled into the juddi library)-->
+		<persistenceunit>
+			<name>juddiDatabase</name>
+		</persistenceunit>
+
+		<!-- Check-the-time-stamp-on-this-file Interval in milli seconds  -->
+		<configuration>
+			<reload>
+				<delay>2000</delay>
+			</reload>
+		</configuration>
+		<!--Default locale-->
+		<locale>en_US</locale>
+
+		<!--The UDDI Operator Contact Email Address-->
+		<operatorEmailAddress>admin@local.localhost</operatorEmailAddress>
+
+		<!-- The maximum name size and maximum number of name elements allows in several of the FindXxxx and SaveXxxx UDDI functions.-->
+		<maxNameLength>255</maxNameLength>
+		<maxNameElementsAllowed>5</maxNameElementsAllowed>
+
+
+		<!-- The maximum number of rows returned in a find_* operation.  Each call can set this independently, but this property defines a global maximum.-->
+		<maxRows>1000</maxRows>
+		<!-- The maximum number of "IN" clause parameters.  Some RDMBS limit the number of parameters allowed in a SQL "IN" clause.-->
+		<maxInClause>1000</maxInClause>
+
+		<!-- The maximum number of UDDI artifacts allowed per publisher. A value of '-1' indicates any  number of artifacts is valid (These values can be overridden at the individual publisher level).-->
+		<maxBusinessesPerPublisher>-1</maxBusinessesPerPublisher>
+		<maxServicesPerBusiness>-1</maxServicesPerBusiness>
+		<maxBindingsPerService>-1</maxBindingsPerService>
+		<maxTModelsPerPublisher>-1</maxTModelsPerPublisher>
+
+		<!-- Days before a transfer request expires-->
+		<transfer>
+			<expiration>
+				<days>3</days>
+			</expiration>
+		</transfer>
+
+		<!-- Days before a subscription expires-->
+		<subscription>
+			<expiration>
+				<days>30</days>
+			</expiration>
+
+			<!-- Minutes before a "chunked" subscription call expires-->
+			<chunkexpiration>
+				<minutes>5</minutes>
+			</chunkexpiration>
+
+			<!--Since 3.1.5 the maxium ammount of returned subscription entities allowed-->
+			<maxentities>1000</maxentities>
+		</subscription>
+
+		<!-- jUDDI UUIDGen implementation to use-->
+		<uuidgen>org.apache.juddi.uuidgen.DefaultUUIDGen</uuidgen>
+
+		<!-- jUDDI Cryptor implementation to use-->
+		<cryptor>org.apache.juddi.cryptor.DefaultCryptor</cryptor>
+
+		<!-- jUDDI Key Generator to use-->
+		<keygenerator>org.apache.juddi.keygen.DefaultKeyGenerator</keygenerator>
+
+		<notification>
+			<!-- Specifies the interval at which the notification timer triggers-->
+			<interval>5000</interval>
+			<!-- Specifies the amount of time to wait before the notification timer initially fires-->
+			<start>
+				<buffer>0</buffer>
+			</start>
+			<acceptableLagtime>1000</acceptableLagtime>
+			<maxTries>3</maxTries>
+			<!-- 10 minutes -->
+			<maxTriesResetInterval>600000</maxTriesResetInterval>
+			<sendAuthTokenWithResultList>false</sendAuthTokenWithResultList>
+		</notification>
+		<!-- All Authentication related settings -->
+		<auth>
+			<!-- Specifies whether the inquiry API requires authentication, all other APIs require authN-->
+			<Inquiry>false</Inquiry>
+			
+			<!-- When using file based authentication, this is the filename to use 
+			<usersfile>juddi-users.xml</usersfile>-->
+			<!-- jUDDI Authentication module to use-->
+			<authenticator>
+				<!-- build in Authenticators:
+				org.apache.juddi.v3.auth.JUDDIAuthenticator - no authentication
+				LDAP Based
+				org.apache.juddi.v3.auth.LdapSimpleAuthenticator - use LDAP
+				org.apache.juddi.v3.auth.LdapExpandedAuthenticator - use LDAP
+				
+				File based, see usersfile
+				org.apache.juddi.v3.auth.XMLDocAuthenticator - XML doc, clear text
+				org.apache.juddi.v3.auth.CryptedXMLDocAuthenticator - XML doc, encrypted
+				org.apache.juddi.v3.auth.MD5XMLDocAuthenticator - XML doc, Hashed
+				-->
+				<class>org.apache.juddi.v3.auth.JUDDIAuthenticator</class>
+				<!-- other settings
+				url
+				initialcontext
+				style
+				ldapexp
+				
+				-->
+			</authenticator>
+
+			<token>
+				<!-- Time in minutes to expire tokes after inactivity-->
+				<Timeout>15</Timeout>
+				<!-- As of 3.1.5 Duration of time for tokens to expire, regardless of inactivity -->
+				<Expiration>15</Expiration>
+			</token>
+		</auth>
+
+
+
+
+		<validation>
+			<!-- As of 3.1.5 This setting will force referential integrity for all tModels (except keyGenerators), category bags, bindingTemplate/AccessPoint/hostingRedirector (referencing another host), tModelinstanceparms and anything else that references a KeyName default value is true.  set to false for backwards compatibility or for a more lax registry-->
+			<enforceReferentialIntegrity>true</enforceReferentialIntegrity>
+		</validation>
+
+		<!--As of 3.1.5 Email delivery options for subscription API functions-->
+		<mail>
+			<smtp>
+				<!--The Operator’s Email address
+				<from>admin@local.localhost</from>-->
+
+				<!--the hostname of the SMTP server
+				<host>localhost</host>-->
+
+				<!--The portname of the SMTP server
+				<port>25</port>-->
+
+				<!--If set, specifies the name of a class that implements the javax.net.SocketFactory interface. This class will be used to create SMTP sockets.-->
+				<socketFactory>
+					<!--<class></class>-->
+
+					<!--If set to true, failure to create a socket using the specified socket factory class will cause the socket to be created using the java.net.Socket class. Defaults to true.
+					<fallback>true</fallback>-->
+					<!--Specifies the port to connect to when using the specified socket factory. If not set, the default port will be used.
+					<port>25</port>-->
+				</socketFactory>
+				<!--if true, enables the use of the STARTTLS command (if supported by the server) to switch the connection to a TLS-protected connection before issuing any login commands. Note that an appropriate trust store must configured so that the client will trust the server’s certificate. Defaults to false.
+				<starttls>
+					<enabled>false</enabled>
+				</starttls>-->
+
+				<!--If true, attempt to authenticate the user using the AUTH command. Defaults to false.
+				<auth>false</auth>-->
+
+				<!--Username used to authenticate to the SMTP server used only if mail.smtp.auth is true
+				<user>user</user>-->
+
+				<!--Password used to authenticate to the SMTP server, used only if mail.smtp.auth is true
+				<password encrypted="false">pass</password>-->
+			</smtp>
+		</mail>
+	</juddi>
+</config>
\ No newline at end of file

Added: juddi/trunk/juddi-tomcat/serverNode2.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-tomcat/serverNode2.xml?rev=1559558&view=auto
==============================================================================
--- juddi/trunk/juddi-tomcat/serverNode2.xml (added)
+++ juddi/trunk/juddi-tomcat/serverNode2.xml Sun Jan 19 19:13:34 2014
@@ -0,0 +1,145 @@
+<?xml version='1.0' encoding='utf-8'?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+-->
+<!-- Note:  A "Server" is not itself a "Container", so you may not
+     define subcomponents such as "Valves" at this level.
+     Documentation at /docs/config/server.html
+ -->
+<Server port="9005" shutdown="SHUTDOWN">
+
+  <!--APR library loader. Documentation at /docs/apr.html -->
+  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
+  <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
+  <Listener className="org.apache.catalina.core.JasperListener" />
+  <!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html -->
+  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
+  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
+
+  <!-- Global JNDI resources
+       Documentation at /docs/jndi-resources-howto.html
+  -->
+  <GlobalNamingResources>
+    <!-- Editable user database that can also be used by
+         UserDatabaseRealm to authenticate users
+    -->
+    <Resource name="UserDatabase" auth="Container"
+              type="org.apache.catalina.UserDatabase"
+              description="User database that can be updated and saved"
+              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
+              pathname="conf/tomcat-users.xml" />
+  </GlobalNamingResources>
+
+  <!-- A "Service" is a collection of one or more "Connectors" that share
+       a single "Container" Note:  A "Service" is not itself a "Container", 
+       so you may not define subcomponents such as "Valves" at this level.
+       Documentation at /docs/config/service.html
+   -->
+  <Service name="Catalina">
+  
+    <!--The connectors can use a shared executor, you can define one or more named thread pools-->
+    <!--
+    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" 
+        maxThreads="150" minSpareThreads="4"/>
+    -->
+    
+    
+    <!-- A "Connector" represents an endpoint by which requests are received
+         and responses are returned. Documentation at :
+         Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
+         Java AJP  Connector: /docs/config/ajp.html
+         APR (HTTP/AJP) Connector: /docs/apr.html
+         Define a non-SSL HTTP/1.1 Connector on port 8080
+    -->
+    <Connector port="9080" protocol="HTTP/1.1" 
+               connectionTimeout="20000" 
+               redirectPort="9443" />
+    <!-- A "Connector" using the shared thread pool-->
+    <!--
+    <Connector executor="tomcatThreadPool"
+               port="8080" protocol="HTTP/1.1" 
+               connectionTimeout="20000" 
+               redirectPort="8443" />
+    -->           
+    <!-- Define a SSL HTTP/1.1 Connector on port 8443
+         This connector uses the JSSE configuration, when using APR, the 
+         connector should be using the OpenSSL style configuration
+         described in the APR documentation -->
+    
+    <Connector port="9443" protocol="HTTP/1.1" SSLEnabled="true"
+               maxThreads="150" scheme="https" secure="true"
+               clientAuth="false" sslProtocol="TLS" 
+			   keystoreFile="conf/keystore.jks" keystorePass="password"
+			   />
+    
+    <!-- Define an AJP 1.3 Connector on port 8009 -->
+    <Connector port="9009" protocol="AJP/1.3" redirectPort="8443" />
+
+
+    <!-- An Engine represents the entry point (within Catalina) that processes
+         every request.  The Engine implementation for Tomcat stand alone
+         analyzes the HTTP headers included with the request, and passes them
+         on to the appropriate Host (virtual host).
+         Documentation at /docs/config/engine.html -->
+
+    <!-- You should set jvmRoute to support load-balancing via AJP ie :
+    <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">         
+    --> 
+    <Engine name="Catalina" defaultHost="localhost">
+
+      <!--For clustering, please take a look at documentation at:
+          /docs/cluster-howto.html  (simple how to)
+          /docs/config/cluster.html (reference documentation) -->
+      <!--
+      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
+      -->        
+
+      <!-- The request dumper valve dumps useful debugging information about
+           the request and response data received and sent by Tomcat.
+           Documentation at: /docs/config/valve.html -->
+      <!--
+      <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
+      -->
+
+      <!-- This Realm uses the UserDatabase configured in the global JNDI
+           resources under the key "UserDatabase".  Any edits
+           that are performed against this UserDatabase are immediately
+           available for use by the Realm.  -->
+      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
+             resourceName="UserDatabase"/>
+
+      <!-- Define the default virtual host
+           Note: XML Schema validation will not work with Xerces 2.2.
+       -->
+      <Host name="localhost"  appBase="webapps"
+            unpackWARs="true" autoDeploy="true"
+            xmlValidation="false" xmlNamespaceAware="false">
+
+        <!-- SingleSignOn valve, share authentication between web applications
+             Documentation at: /docs/config/valve.html -->
+        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
+
+        <!-- Access log processes all example.
+             Documentation at: /docs/config/valve.html -->
+        <!--
+        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  
+               prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
+        -->
+
+      </Host>
+    </Engine>
+  </Service>
+</Server>

Added: juddi/trunk/juddi-tomcat/twonodes.bat
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-tomcat/twonodes.bat?rev=1559558&view=auto
==============================================================================
--- juddi/trunk/juddi-tomcat/twonodes.bat (added)
+++ juddi/trunk/juddi-tomcat/twonodes.bat Sun Jan 19 19:13:34 2014
@@ -0,0 +1,12 @@
+rem This script will setup a two node example using two tomcat instances with independent databases and containers
+rem windows only
+rd /q /s .\target\tomcat\apache-tomcat-6.0.26Node2\
+rd /q /s .\target\tomcat\apache-tomcat-6.0.26\bin\target
+xcopy /E /Y .\target\tomcat\apache-tomcat-6.0.26 .\target\tomcat\apache-tomcat-6.0.26Node2\
+copy /Y juddiv3Node2.xml target\tomcat\apache-tomcat-6.0.26Node2\webapps\juddiv3\WEB-INF\classes\juddiv3.xml
+copy /Y serverNode2.xml target\tomcat\apache-tomcat-6.0.26Node2\conf\server.xml
+copy /Y uddiNode2.xml target\tomcat\apache-tomcat-6.0.26Node2\webapps\juddi-gui\WEB-INF\classes\META-INF\uddi.xml
+cd target\tomcat\apache-tomcat-6.0.26\bin
+call startup.bat
+cd ..\..\apache-tomcat-6.0.26Node2\bin
+call startup.bat

Added: juddi/trunk/juddi-tomcat/uddiNode2.xml
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-tomcat/uddiNode2.xml?rev=1559558&view=auto
==============================================================================
--- juddi/trunk/juddi-tomcat/uddiNode2.xml (added)
+++ juddi/trunk/juddi-tomcat/uddiNode2.xml Sun Jan 19 19:13:34 2014
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!-- 
+This config is for the juddi-gui.
+
+It currently does not use the ValueSet, jUDDI, Replication, or REST APIs
+-->
+<uddi>
+    <reloadDelay>5000</reloadDelay>
+    <client name="juddigui">
+        <nodes>
+            <node>
+                <!-- required 'default' node -->
+                <name>default</name> 
+                <description>Main UDDI Node</description>
+                <!-- JAX-WS Transport -->
+                <proxyTransport>org.apache.juddi.v3.client.transport.JAXWSTransport</proxyTransport>
+                <custodyTransferUrl>http://localhost:9080/juddiv3/services/custody-transfer</custodyTransferUrl>
+                <inquiryUrl>http://localhost:9080/juddiv3/services/inquiry</inquiryUrl>
+                <publishUrl>http://localhost:9080/juddiv3/services/publish</publishUrl>
+                <securityUrl>http://localhost:9080/juddiv3/services/security</securityUrl>
+                <subscriptionUrl>http://localhost:9080/juddiv3/services/subscription</subscriptionUrl>
+            </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:9443/juddiv3/services/custody-transfer</custodyTransferUrl>
+                <inquiryUrl>https://localhost:9443/juddiv3/services/inquiry</inquiryUrl>
+                <publishUrl>https://localhost:9443/juddiv3/services/publish</publishUrl>
+                <securityUrl>https://localhost:9443/juddiv3/services/security</securityUrl>
+                <subscriptionUrl>https://localhost:9443/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 NOT used by juddi-gui -->
+			<signingKeyStorePath>(not used)</signingKeyStorePath>
+			<signingKeyStoreType>(not used)</signingKeyStoreType>
+			<signingKeyStoreFilePassword 
+				isPasswordEncrypted="false" 
+				cryptoProvider="org.apache.juddi.v3.client.crypto.AES128Cryptor">(not used)</signingKeyStoreFilePassword>
+			<signingKeyPassword
+				isPasswordEncrypted="false" 
+				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
+                        -->
+			<!-- 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
+                        -->
+			<trustStorePath></trustStorePath>
+			<trustStoreType>JKS</trustStoreType>
+			<trustStorePassword
+				isPasswordEncrypted="false" 
+				cryptoProvider="org.apache.juddi.v3.client.crypto.AES128Cryptor"></trustStorePassword>
+			
+			<checkTimestamps>true</checkTimestamps>
+			<checkTrust>true</checkTrust>
+			<checkRevocationCRL>true</checkRevocationCRL>
+			<keyInfoInclusionSubjectDN>false</keyInfoInclusionSubjectDN>
+			<keyInfoInclusionSerial>false</keyInfoInclusionSerial>
+			<keyInfoInclusionBase64PublicKey>true</keyInfoInclusionBase64PublicKey>
+			<digestMethod>http://www.w3.org/2000/09/xmldsig#sha1</digestMethod>
+		</signature>
+                <!-- not used by juddi-gui-->
+		<subscriptionCallbacks>
+			<keyDomain>(not used)</keyDomain>
+			<listenUrl>(not used)</listenUrl>
+			<autoRegisterBindingTemplate>false</autoRegisterBindingTemplate>
+			<autoRegisterBusinessServiceKey>(not used)</autoRegisterBusinessServiceKey>
+			<signatureBehavior>DoNothing</signatureBehavior>
+			<!--valid values are AbortIfSigned,Sign,DoNothing,SignOnlyIfParentIsntSigned, default is DoNothing-->
+		</subscriptionCallbacks>
+                <!-- juddi-gui, used in the Create, Import from Wadl/Wsdl -->
+		<XtoWsdl>
+			<IgnoreSSLErrors>false</IgnoreSSLErrors>
+		</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</node>
+            <!-- controls remote access to the settings/configuration page -->
+            <configLocalHostOnly>true</configLocalHostOnly>
+        </props>
+    </config>
+</uddi>

Modified: juddi/trunk/juddiv3-war/src/main/java/org/apache/juddi/adminconsole/hub/UddiAdminHub.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddiv3-war/src/main/java/org/apache/juddi/adminconsole/hub/UddiAdminHub.java?rev=1559558&r1=1559557&r2=1559558&view=diff
==============================================================================
--- juddi/trunk/juddiv3-war/src/main/java/org/apache/juddi/adminconsole/hub/UddiAdminHub.java (original)
+++ juddi/trunk/juddiv3-war/src/main/java/org/apache/juddi/adminconsole/hub/UddiAdminHub.java Sun Jan 19 19:13:34 2014
@@ -64,6 +64,7 @@ import org.apache.juddi.v3.client.transp
 import org.apache.juddi.v3_service.JUDDIApiPortType;
 import org.apache.juddi.adminconsole.AES;
 import org.apache.juddi.adminconsole.resources.ResourceLoader;
+import org.apache.juddi.api_v3.ClientSubscriptionInfo;
 import org.uddi.api_v3.AuthToken;
 import org.uddi.api_v3.DeleteTModel;
 import org.uddi.api_v3.DiscardAuthToken;
@@ -656,13 +657,57 @@ public class UddiAdminHub {
                 return null;
         }
 
+        public static String getSampleSave_ClientSubscriptionInfo(){
+                SaveClientSubscriptionInfo x = new SaveClientSubscriptionInfo();
+                x.setAuthInfo("");
+                x.getClientSubscriptionInfo().add(new ClientSubscriptionInfo());
+                x.getClientSubscriptionInfo().get(0).setFromClerk(new Clerk());
+                x.getClientSubscriptionInfo().get(0).setToClerk(new Clerk());
+                x.getClientSubscriptionInfo().get(0).setSubscriptionKey("subscription key");
+                x.getClientSubscriptionInfo().get(0).setLastModified(null);
+                x.getClientSubscriptionInfo().get(0).setLastNotified(null);
+                x.getClientSubscriptionInfo().get(0).getFromClerk().setName("ClerkName");
+                x.getClientSubscriptionInfo().get(0).getFromClerk().setPublisher("username");
+                x.getClientSubscriptionInfo().get(0).getFromClerk().setPassword("password");
+                x.getClientSubscriptionInfo().get(0).getFromClerk().setNode(new Node());
+                x.getClientSubscriptionInfo().get(0).getFromClerk().getNode().setClientName("clientname");
+                x.getClientSubscriptionInfo().get(0).getFromClerk().getNode().setName("nodename");
+                x.getClientSubscriptionInfo().get(0).getFromClerk().getNode().setDescription("description");
+                x.getClientSubscriptionInfo().get(0).getFromClerk().getNode().setInquiryUrl("http://localhost:8080/juddiv3/services/inquiry");
+                x.getClientSubscriptionInfo().get(0).getFromClerk().getNode().setPublishUrl("http://localhost:8080/juddiv3/services/publish");
+                x.getClientSubscriptionInfo().get(0).getFromClerk().getNode().setCustodyTransferUrl("http://localhost:8080/juddiv3/services/custody-transfer");
+                x.getClientSubscriptionInfo().get(0).getFromClerk().getNode().setSubscriptionUrl("http://localhost:8080/juddiv3/services/subscription");
+                x.getClientSubscriptionInfo().get(0).getFromClerk().getNode().setSubscriptionListenerUrl("http://localhost:8080/juddiv3/services/subscription-listener");
+                x.getClientSubscriptionInfo().get(0).getFromClerk().getNode().setJuddiApiUrl("http://localhost:8080/juddiv3/services/juddi-api");
+                x.getClientSubscriptionInfo().get(0).getFromClerk().getNode().setReplicationUrl("http://localhost:8080/juddiv3/services/replication");
+                
+                x.getClientSubscriptionInfo().get(0).getToClerk().setName("ClerkName");
+                x.getClientSubscriptionInfo().get(0).getToClerk().setPublisher("username");
+                x.getClientSubscriptionInfo().get(0).getToClerk().setPassword("password");
+                x.getClientSubscriptionInfo().get(0).getToClerk().setNode(new Node());
+                x.getClientSubscriptionInfo().get(0).getToClerk().getNode().setClientName("clientname");
+                x.getClientSubscriptionInfo().get(0).getToClerk().getNode().setName("nodename");
+                x.getClientSubscriptionInfo().get(0).getToClerk().getNode().setDescription("description");
+                x.getClientSubscriptionInfo().get(0).getToClerk().getNode().setInquiryUrl("http://localhost:8080/juddiv3/services/inquiry");
+                x.getClientSubscriptionInfo().get(0).getToClerk().getNode().setPublishUrl("http://localhost:8080/juddiv3/services/publish");
+                x.getClientSubscriptionInfo().get(0).getToClerk().getNode().setCustodyTransferUrl("http://localhost:8080/juddiv3/services/custody-transfer");
+                x.getClientSubscriptionInfo().get(0).getToClerk().getNode().setSubscriptionUrl("http://localhost:8080/juddiv3/services/subscription");
+                x.getClientSubscriptionInfo().get(0).getToClerk().getNode().setSubscriptionListenerUrl("http://localhost:8080/juddiv3/services/subscription-listener");
+                x.getClientSubscriptionInfo().get(0).getToClerk().getNode().setJuddiApiUrl("http://localhost:8080/juddiv3/services/juddi-api");
+                x.getClientSubscriptionInfo().get(0).getToClerk().getNode().setReplicationUrl("http://localhost:8080/juddiv3/services/replication");
+                StringWriter sw = new StringWriter();
+                JAXB.marshal(x, sw);
+                return sw.toString();
+        }
         private String save_ClientSubscriptionInfo(HttpServletRequest parameters) {
                 StringBuilder ret = new StringBuilder();
                 SaveClientSubscriptionInfo sb = new SaveClientSubscriptionInfo();
 
+                if (parameters.getParameter("ClientSubscriptionInfoDetailXML")==null)
+                        return "No input!";
                 ClientSubscriptionInfoDetail d = null;
                 try {
-                        StringReader sr = new StringReader(parameters.getParameter("invokeSyncSubscriptionXML").trim());
+                        StringReader sr = new StringReader(parameters.getParameter("ClientSubscriptionInfoDetailXML").trim());
                         sb = (JAXB.unmarshal(sr, SaveClientSubscriptionInfo.class));
                         sb.setAuthInfo(GetToken());
                         d = juddi.saveClientSubscriptionInfo(sb);

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=1559558&r1=1559557&r2=1559558&view=diff
==============================================================================
--- juddi/trunk/juddiv3-war/src/main/webapp/admin/admin.jsp (original)
+++ juddi/trunk/juddiv3-war/src/main/webapp/admin/admin.jsp Sun Jan 19 19:13:34 2014
@@ -59,6 +59,7 @@
                                 <div id="invoke_SyncSubscription" style="display:none">
                                         <%=ResourceLoader.GetResource(session, "items.noauthtoken")%>  <br>
                                         <textarea rows="4" cols="80" id="invokeSyncSubscriptionXML" class="forminput" placeholder="Enter subscription XML"></textarea>
+                                       
                                 </div>
                                 <div id="delete_publisher" style="display:none">
                                         <input type="text"  class="forminput" id="delete_publisherKEY" placeholder="Enter publisher id">
@@ -71,7 +72,7 @@
                                 </div>
                                 <div id="save_ClientSubscriptionInfo" style="display:none">
                                         <%=ResourceLoader.GetResource(session, "items.noauthtoken")%><br>
-                                        <textarea rows="4" cols="80" id="ClientSubscriptionInfoDetailXML" class="forminput" placeholder="Enter subscription XML"></textarea>
+                                        <textarea rows="4" cols="80" id="ClientSubscriptionInfoDetailXML" class="forminput" placeholder="Enter subscription XML"><%=StringEscapeUtils.escapeHtml(UddiAdminHub.getSampleSave_ClientSubscriptionInfo())%></textarea>
                                 </div>
                                 <div id="save_publisher" style="display:none">
                                         <%=ResourceLoader.GetResource(session, "items.name")%> <input type="text" id="savePublisherNAME"  class="forminput" placeholder="Enter name"><br>



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