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/04/13 22:03:42 UTC

svn commit: r1467689 [1/2] - in /juddi/branches/juddi-3.2.x: ./ juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/ juddi-core/src/main/java/org/apache/juddi/api/impl/ juddi-gui/nbproject/ juddi-gui/src/java/org/apache/juddi/webconsole/ juddi...

Author: alexoree
Date: Sat Apr 13 20:03:41 2013
New Revision: 1467689

URL: http://svn.apache.org/r1467689
Log:
digital signature signing and verification works via client cpi. web gui supports verification of signatures on all elements, but only signing on business and services at this time.
adding fix for expired token exception from the trunk, all gui functions support expiring tokens now
many ui enhancements and bug fixes. binding template keys are now correctly persisted
operational info works on all elements, tmodel/deleted is now persisted correct

Modified:
    juddi/branches/juddi-3.2.x/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/DigSigUtil.java
    juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java
    juddi/branches/juddi-3.2.x/juddi-gui/nbproject/build-impl.xml
    juddi/branches/juddi-3.2.x/juddi-gui/nbproject/genfiles.properties
    juddi/branches/juddi-3.2.x/juddi-gui/nbproject/project.properties
    juddi/branches/juddi-3.2.x/juddi-gui/nbproject/project.xml
    juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/PostBackConstants.java
    juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/hub/UddiHub.java
    juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/hub/builders/Builders.java
    juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/resources/web.properties
    juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/resources/web_es.properties
    juddi/branches/juddi-3.2.x/juddi-gui/web/ajax/saveFromXML.jsp
    juddi/branches/juddi-3.2.x/juddi-gui/web/ajax/toXML.jsp
    juddi/branches/juddi-3.2.x/juddi-gui/web/businessEditor2.jsp
    juddi/branches/juddi-3.2.x/juddi-gui/web/header-bottom.jsp
    juddi/branches/juddi-3.2.x/juddi-gui/web/js/tmodeledit.js
    juddi/branches/juddi-3.2.x/juddi-gui/web/search.jsp
    juddi/branches/juddi-3.2.x/juddi-gui/web/serviceEditor.jsp
    juddi/branches/juddi-3.2.x/juddi-gui/web/signer.jsp
    juddi/branches/juddi-3.2.x/juddi-gui/web/tmodelEditor.jsp
    juddi/branches/juddi-3.2.x/readme.txt

Modified: juddi/branches/juddi-3.2.x/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/DigSigUtil.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/DigSigUtil.java?rev=1467689&r1=1467688&r2=1467689&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/DigSigUtil.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-client/src/main/java/org/apache/juddi/v3/client/crypto/DigSigUtil.java Sat Apr 13 20:03:41 2013
@@ -15,7 +15,6 @@
  */
 package org.apache.juddi.v3.client.crypto;
 
-import com.sun.xml.internal.messaging.saaj.util.JAXMStreamSource;
 import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.IOException;
@@ -53,7 +52,6 @@ import java.util.Properties;
 import java.util.concurrent.atomic.AtomicReference;
 import javax.security.auth.x500.X500Principal;
 import javax.xml.bind.JAXB;
-import javax.xml.bind.JAXBException;
 import javax.xml.crypto.dsig.CanonicalizationMethod;
 import javax.xml.crypto.dsig.DigestMethod;
 import javax.xml.crypto.dsig.Reference;
@@ -73,7 +71,6 @@ import javax.xml.transform.dom.DOMResult
 import javax.xml.transform.dom.DOMSource;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.juddi.jaxb.JAXBMarshaller;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -242,12 +239,12 @@ public final class DigSigUtil {
      * @return an enveloped signed UDDI element, do not modify this object after
      * signing
      */
-    public <T> T signUddiEntity(T jaxbObj) throws JAXBException {
-        //DOMResult domResult = new DOMResult();
-        //JAXB.marshal(jaxbObj, domResult);
-        Document doc = null;//((Document) domResult.getNode());//
-        Element docElement = null;//doc.getDocumentElement();
-       docElement= org.apache.juddi.jaxb.JAXBMarshaller.marshallToElement(jaxbObj, JAXBMarshaller.PACKAGE_UDDIAPI,docElement );
+    public <T> T signUddiEntity(T jaxbObj) {
+        DOMResult domResult = new DOMResult();
+        JAXB.marshal(jaxbObj, domResult);
+        Document doc = ((Document) domResult.getNode());
+        Element docElement = doc.getDocumentElement();
+
         try {
             KeyStore ks = KeyStore.getInstance(map.getProperty(SIGNATURE_KEYSTORE_FILETYPE));
             URL url = Thread.currentThread().getContextClassLoader().getResource(map.getProperty(SIGNATURE_KEYSTORE_FILE));
@@ -286,9 +283,8 @@ public final class DigSigUtil {
             //PublicKey validatingKey = origCert.getPublicKey();
             this.signDOM(docElement, privateKey, origCert);
 
-     //       DOMSource domSource = new DOMSource(doc);
-            T result = (T)  JAXBMarshaller.unmarshallFromElement(docElement, JAXBMarshaller.PACKAGE_UDDIAPI);
-           // T result = (T) JAXB.unmarshal(domSource, jaxbObj.getClass());
+            DOMSource domSource = new DOMSource(doc);
+            T result = (T) JAXB.unmarshal(domSource, jaxbObj.getClass());
             return result;
         } catch (Exception e) {
             throw new RuntimeException("Signature failure due to: " + e.getMessage(), e);
@@ -301,8 +297,9 @@ public final class DigSigUtil {
      * @param obj
      */
     public static void JAXB_ToStdOut(Object obj) {
-       
-        System.out.println( JAXBMarshaller.marshallToString(obj, JAXBMarshaller.PACKAGE_UDDIAPI));
+        StringWriter sw = new StringWriter();
+        JAXB.marshal(obj, sw);
+        System.out.println(sw.toString());
 
     }
 
@@ -411,14 +408,10 @@ public final class DigSigUtil {
         }
         try {
             DOMResult domResult = new DOMResult();
-           
-            Element e = null;
-            org.apache.juddi.jaxb.JAXBMarshaller.marshallToElement(obj, JAXBMarshaller.PACKAGE_UDDIAPI,e );
-            
-           // JAXB.marshal(obj, domResult);
+            JAXB.marshal(obj, domResult);
 
-          //  Document doc = ((Document) domResult.getNode());
-            Element docElement = e;  //this is our signed node
+            Document doc = ((Document) domResult.getNode());
+            Element docElement = doc.getDocumentElement();  //this is our signed node
 
             X509Certificate signingcert = getSigningCertificatePublicKey(obj, docElement);
 

Modified: juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java?rev=1467689&r1=1467688&r2=1467689&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-core/src/main/java/org/apache/juddi/api/impl/AuthenticatedService.java Sat Apr 13 20:03:41 2013
@@ -30,6 +30,7 @@ import org.apache.juddi.model.UddiEntity
 import org.apache.juddi.v3.auth.Authenticator;
 import org.apache.juddi.v3.auth.AuthenticatorFactory;
 import org.apache.juddi.v3.error.AuthTokenRequiredException;
+import org.apache.juddi.v3.error.AuthTokenExpiredException;
 import org.apache.juddi.v3.error.ErrorMessage;
 import org.uddi.v3_service.DispositionReportFaultMessage;
 
@@ -88,7 +89,7 @@ public abstract class AuthenticatedServi
 		}
 
 		if (modelAuthToken.getTokenState() == AUTHTOKEN_RETIRED)
-			throw new AuthTokenRequiredException(new ErrorMessage("errors.auth.AuthInvalid"));
+			throw new AuthTokenExpiredException(new ErrorMessage("errors.auth.AuthInvalid"));
 		
 		Authenticator authenticator = AuthenticatorFactory.getAuthenticator();
 		UddiEntityPublisher entityPublisher = authenticator.identify(authInfo, modelAuthToken.getAuthorizedName());

Modified: juddi/branches/juddi-3.2.x/juddi-gui/nbproject/build-impl.xml
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-gui/nbproject/build-impl.xml?rev=1467689&r1=1467688&r2=1467689&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-gui/nbproject/build-impl.xml (original)
+++ juddi/branches/juddi-3.2.x/juddi-gui/nbproject/build-impl.xml Sat Apr 13 20:03:41 2013
@@ -1004,8 +1004,8 @@ exists or setup the property manually. F
         <copyfiles files="${file.reference.geronimo-jpa_3.0_spec-1.0.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
         <copyfiles files="${file.reference.geronimo-jta_1.1_spec-1.1.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
         <copyfiles files="${file.reference.jaxb-impl-2.1.13.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
-        <copyfiles files="${file.reference.juddi-client-3.1.5-SNAPSHOT.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
         <copyfiles files="${file.reference.junit-3.8.2.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${file.reference.juddi-client-3.1.5-SNAPSHOT.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
         <copyfiles files="${file.reference.neethi-2.0.4.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
         <copyfiles files="${file.reference.openjpa-1.2.2.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
         <copyfiles files="${file.reference.persistence-api-1.0.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
@@ -1056,8 +1056,8 @@ exists or setup the property manually. F
         <copyfiles files="${file.reference.geronimo-jpa_3.0_spec-1.0.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
         <copyfiles files="${file.reference.geronimo-jta_1.1_spec-1.1.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
         <copyfiles files="${file.reference.jaxb-impl-2.1.13.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
-        <copyfiles files="${file.reference.juddi-client-3.1.5-SNAPSHOT.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
         <copyfiles files="${file.reference.junit-3.8.2.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
+        <copyfiles files="${file.reference.juddi-client-3.1.5-SNAPSHOT.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
         <copyfiles files="${file.reference.neethi-2.0.4.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
         <copyfiles files="${file.reference.openjpa-1.2.2.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
         <copyfiles files="${file.reference.persistence-api-1.0.jar}" todir="${build.web.dir}/WEB-INF/lib"/>

Modified: juddi/branches/juddi-3.2.x/juddi-gui/nbproject/genfiles.properties
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-gui/nbproject/genfiles.properties?rev=1467689&r1=1467688&r2=1467689&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-gui/nbproject/genfiles.properties (original)
+++ juddi/branches/juddi-3.2.x/juddi-gui/nbproject/genfiles.properties Sat Apr 13 20:03:41 2013
@@ -1,8 +1,8 @@
-build.xml.data.CRC32=e1d5b306
+build.xml.data.CRC32=ac6fe4bb
 build.xml.script.CRC32=f15a2af6
 build.xml.stylesheet.CRC32=651128d4@1.38.1.1
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=e1d5b306
-nbproject/build-impl.xml.script.CRC32=4fb29066
+nbproject/build-impl.xml.data.CRC32=ac6fe4bb
+nbproject/build-impl.xml.script.CRC32=8c971fbe
 nbproject/build-impl.xml.stylesheet.CRC32=4e9cae83@1.38.1.1

Modified: juddi/branches/juddi-3.2.x/juddi-gui/nbproject/project.properties
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-gui/nbproject/project.properties?rev=1467689&r1=1467688&r2=1467689&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-gui/nbproject/project.properties (original)
+++ juddi/branches/juddi-3.2.x/juddi-gui/nbproject/project.properties Sat Apr 13 20:03:41 2013
@@ -54,7 +54,7 @@ file.reference.geronimo-jms_1.1_spec-1.0
 file.reference.geronimo-jpa_3.0_spec-1.0.jar=..\\juddi-tomcat\\target\\tomcat\\apache-tomcat-6.0.26\\webapps\\juddiv3\\WEB-INF\\lib\\geronimo-jpa_3.0_spec-1.0.jar
 file.reference.geronimo-jta_1.1_spec-1.1.jar=..\\juddi-tomcat\\target\\tomcat\\apache-tomcat-6.0.26\\webapps\\juddiv3\\WEB-INF\\lib\\geronimo-jta_1.1_spec-1.1.jar
 file.reference.jaxb-impl-2.1.13.jar=..\\juddi-tomcat\\target\\tomcat\\apache-tomcat-6.0.26\\webapps\\juddiv3\\WEB-INF\\lib\\jaxb-impl-2.1.13.jar
-file.reference.juddi-client-3.1.5-SNAPSHOT.jar=..\\juddi-tomcat\\target\\tomcat\\apache-tomcat-6.0.26\\webapps\\juddiv3\\WEB-INF\\lib\\juddi-client-3.1.5-SNAPSHOT.jar
+file.reference.juddi-client-3.1.5-SNAPSHOT.jar=../juddi-client/target/juddi-client-3.1.5-SNAPSHOT.jar
 file.reference.junit-3.8.2.jar=junit-3.8.2.jar
 file.reference.neethi-2.0.4.jar=..\\juddi-tomcat\\target\\tomcat\\apache-tomcat-6.0.26\\webapps\\juddiv3\\WEB-INF\\lib\\neethi-2.0.4.jar
 file.reference.openjpa-1.2.2.jar=..\\juddi-tomcat\\target\\tomcat\\apache-tomcat-6.0.26\\webapps\\juddiv3\\WEB-INF\\lib\\openjpa-1.2.2.jar
@@ -76,9 +76,9 @@ file.reference.XmlSchema-1.4.7.jar=..\\j
 includes=**
 j2ee.compile.on.save=true
 j2ee.copy.static.files.on.save=true
-j2ee.deploy.on.save=false
+j2ee.deploy.on.save=true
 j2ee.platform=1.5
-j2ee.platform.classpath=${j2ee.server.home}/lib/annotations-api.jar:${j2ee.server.home}/lib/catalina-ant.jar:${j2ee.server.home}/lib/catalina-ha.jar:${j2ee.server.home}/lib/catalina-tribes.jar:${j2ee.server.home}/lib/catalina.jar:${j2ee.server.home}/lib/commons-discovery-0.2.jar:${j2ee.server.home}/lib/derby-10.4.2.0.jar:${j2ee.server.home}/lib/derbyclient-10.9.1.0.jar:${j2ee.server.home}/lib/el-api.jar:${j2ee.server.home}/lib/jasper-el.jar:${j2ee.server.home}/lib/jasper.jar:${j2ee.server.home}/lib/jsp-api.jar:${j2ee.server.home}/lib/log4j-1.2.13.jar:${j2ee.server.home}/lib/mysql-connector-java-5.1.6.jar:${j2ee.server.home}/lib/postgresql-9.2-1002.jdbc4.jar:${j2ee.server.home}/lib/servlet-api.jar:${j2ee.server.home}/lib/tomcat-coyote.jar:${j2ee.server.home}/lib/tomcat-dbcp.jar:${j2ee.server.home}/lib/tomcat-i18n-es.jar:${j2ee.server.home}/lib/tomcat-i18n-fr.jar:${j2ee.server.home}/lib/tomcat-i18n-ja.jar:${j2ee.server.home}/bin/tomcat-juli.jar
+j2ee.platform.classpath=${j2ee.server.home}/lib/annotations-api.jar:${j2ee.server.home}/lib/catalina-ant.jar:${j2ee.server.home}/lib/catalina-ha.jar:${j2ee.server.home}/lib/catalina-tribes.jar:${j2ee.server.home}/lib/catalina.jar:${j2ee.server.home}/lib/commons-discovery-0.2.jar:${j2ee.server.home}/lib/derby-10.4.2.0.jar:${j2ee.server.home}/lib/el-api.jar:${j2ee.server.home}/lib/jasper-el.jar:${j2ee.server.home}/lib/jasper.jar:${j2ee.server.home}/lib/jsp-api.jar:${j2ee.server.home}/lib/log4j-1.2.13.jar:${j2ee.server.home}/lib/mysql-connector-java-5.1.6.jar:${j2ee.server.home}/lib/servlet-api.jar:${j2ee.server.home}/lib/tomcat-coyote.jar:${j2ee.server.home}/lib/tomcat-dbcp.jar:${j2ee.server.home}/lib/tomcat-i18n-es.jar:${j2ee.server.home}/lib/tomcat-i18n-fr.jar:${j2ee.server.home}/lib/tomcat-i18n-ja.jar:${j2ee.server.home}/bin/tomcat-juli.jar
 j2ee.server.type=Tomcat
 jar.compress=false
 javac.classpath=\
@@ -112,8 +112,8 @@ javac.classpath=\
     ${file.reference.geronimo-jpa_3.0_spec-1.0.jar}:\
     ${file.reference.geronimo-jta_1.1_spec-1.1.jar}:\
     ${file.reference.jaxb-impl-2.1.13.jar}:\
-    ${file.reference.juddi-client-3.1.5-SNAPSHOT.jar}:\
     ${file.reference.junit-3.8.2.jar}:\
+    ${file.reference.juddi-client-3.1.5-SNAPSHOT.jar}:\
     ${file.reference.neethi-2.0.4.jar}:\
     ${file.reference.openjpa-1.2.2.jar}:\
     ${file.reference.persistence-api-1.0.jar}:\

Modified: juddi/branches/juddi-3.2.x/juddi-gui/nbproject/project.xml
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-gui/nbproject/project.xml?rev=1467689&r1=1467688&r2=1467689&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-gui/nbproject/project.xml (original)
+++ juddi/branches/juddi-3.2.x/juddi-gui/nbproject/project.xml Sat Apr 13 20:03:41 2013
@@ -127,11 +127,11 @@
                     <path-in-war>WEB-INF/lib</path-in-war>
                 </library>
                 <library dirs="200">
-                    <file>${file.reference.juddi-client-3.1.5-SNAPSHOT.jar}</file>
+                    <file>${file.reference.junit-3.8.2.jar}</file>
                     <path-in-war>WEB-INF/lib</path-in-war>
                 </library>
                 <library dirs="200">
-                    <file>${file.reference.junit-3.8.2.jar}</file>
+                    <file>${file.reference.juddi-client-3.1.5-SNAPSHOT.jar}</file>
                     <path-in-war>WEB-INF/lib</path-in-war>
                 </library>
                 <library dirs="200">

Modified: juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/PostBackConstants.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/PostBackConstants.java?rev=1467689&r1=1467688&r2=1467689&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/PostBackConstants.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/PostBackConstants.java Sat Apr 13 20:03:41 2013
@@ -44,4 +44,5 @@ public static final String HOSTINGREDIRE
     public static final String IDENT_KEY_REF = "identbagkeyref";
     public static final String CATBAG_KEY_REF_GRP = "catbaggrpkeyref";
     public static final String KEY_REF = "keyref";
+    public static final String TMODEL_DELETED="isDeleted";
 }

Modified: juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/hub/UddiHub.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/hub/UddiHub.java?rev=1467689&r1=1467688&r2=1467689&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/hub/UddiHub.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/hub/UddiHub.java Sat Apr 13 20:03:41 2013
@@ -31,6 +31,7 @@ import java.util.Properties;
 import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
+import javax.xml.bind.JAXB;
 import javax.xml.bind.JAXBElement;
 import javax.xml.ws.BindingProvider;
 import org.apache.commons.lang.StringEscapeUtils;
@@ -74,7 +75,7 @@ public class UddiHub {
     URL propertiesurl = null;
     Properties properties = null;
     AuthStyle style = null;
-    public static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger("org.apache.juddi");
+    public static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LOGGER_NAME);
 
     private UddiHub() {
     }
@@ -119,17 +120,14 @@ public class UddiHub {
     }
     String locale = "en";
 
-    public String GetRawConfigurationPath() throws URISyntaxException
-    {
+    public String GetRawConfigurationPath() throws URISyntaxException {
         return propertiesurl.toString();
     }
-    
-    public Properties GetRawConfiguration()
-    {
+
+    public Properties GetRawConfiguration() {
         return properties;
     }
-    
-    
+
     private UddiHub(ServletContext application, HttpSession _session) throws Exception {
         URL prop = application.getResource("/META-INF/config.properties");
         if (prop == null) {
@@ -157,7 +155,7 @@ public class UddiHub {
                 subscription = transport.getUDDISubscriptionService();
                 publish = transport.getUDDIPublishService();
                 custody = transport.getUDDICustodyTransferService();
-              //  juddi = transport.getJUDDIApiService();
+                //  juddi = transport.getJUDDIApiService();
 
                 BindingProvider bp = null;
                 Map<String, Object> context = null;
@@ -182,25 +180,25 @@ public class UddiHub {
 
 
                 /*bp = (BindingProvider) juddi;
-                context = bp.getRequestContext();
-                context.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, properties.getProperty("juddipapi"));*/
+                 context = bp.getRequestContext();
+                 context.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, properties.getProperty("juddipapi"));*/
             }
         } catch (Exception ex) {
             HandleException(ex);
         }
     }
     private HttpSession session;
-/*
-    public boolean IsJuddiRegistry() {
-        String type = properties.getProperty("registryType");
-        if (type == null) {
-            return false;
-        }
-        if (type.equalsIgnoreCase("juddi")) {
-            return true;
-        }
-        return false;
-    }*/
+    /*
+     public boolean IsJuddiRegistry() {
+     String type = properties.getProperty("registryType");
+     if (type == null) {
+     return false;
+     }
+     if (type.equalsIgnoreCase("juddi")) {
+     return true;
+     }
+     return false;
+     }*/
 
     private String GetToken() {
         if (style != AuthStyle.UDDI_AUTH) {
@@ -227,10 +225,10 @@ public class UddiHub {
             context.put(BindingProvider.USERNAME_PROPERTY, session.getAttribute(AES.Decrypt("password", (String) properties.get("key"))));
 
             /*
-            bp = (BindingProvider) juddi;
-            context = bp.getRequestContext();
-            context.put(BindingProvider.USERNAME_PROPERTY, session.getAttribute("username"));
-            context.put(BindingProvider.USERNAME_PROPERTY, session.getAttribute(AES.Decrypt("password", (String) properties.get("key"))));*/
+             bp = (BindingProvider) juddi;
+             context = bp.getRequestContext();
+             context.put(BindingProvider.USERNAME_PROPERTY, session.getAttribute("username"));
+             context.put(BindingProvider.USERNAME_PROPERTY, session.getAttribute(AES.Decrypt("password", (String) properties.get("key"))));*/
             return null;
         } else {
             if (token != null) {
@@ -283,30 +281,51 @@ public class UddiHub {
             searchname.setLang(lang);
             searchname.setValue(keyword);
             fb.getName().add(searchname);
-            BusinessList findBusiness = inquiry.findBusiness(fb);
+            //transport
+            BusinessList findBusiness = null;
+            try {
+                findBusiness = inquiry.findBusiness(fb);
+            } catch (Exception ex) {
+                if (ex instanceof DispositionReportFaultMessage) {
+                    DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                    if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                        token = null;
+                        fb.setAuthInfo(GetToken());
+                        findBusiness = inquiry.findBusiness(fb);
+                    }
+                }
+            }
             if (findBusiness == null || findBusiness.getBusinessInfos() == null) {
                 sb.append(ResourceLoader.GetResource(session, "errors.nodatareturned"));
             } else {
                 ret.displaycount = findBusiness.getListDescription().getIncludeCount();
                 ret.offset = findBusiness.getListDescription().getListHead();
                 ret.totalrecords = findBusiness.getListDescription().getActualCount();
-                sb.append("<table class=\"table\"<tr><th>" + ResourceLoader.GetResource(session, "items.name") + "</th><th>Details</th><th>Services</th></tr>");
+                sb.append("<table class=\"table table-hover\"<tr><th>").
+                        append(ResourceLoader.GetResource(session, "items.name")).
+                        append("</th><th>").
+                        append(ResourceLoader.GetResource(session, "items.service")).
+                        append("</th></tr>");
                 for (int i = 0; i < findBusiness.getBusinessInfos().getBusinessInfo().size(); i++) {
-                    sb.append("<tr><td><span title=\"").append(StringEscapeUtils.escapeHtml(findBusiness.getBusinessInfos().getBusinessInfo().get(i).getBusinessKey())).
-                            append("\">").append(StringEscapeUtils.escapeHtml(Printers.ListNamesToString(findBusiness.getBusinessInfos().getBusinessInfo().get(i).getName()))).
-                            append("</span></td><td><a class=\"btn btn-primary\" href=\"businessEditor2.jsp?id=").
-                            append(StringEscapeUtils.escapeHtml(findBusiness.getBusinessInfos().getBusinessInfo().get(i).getBusinessKey())).append("\">Details</a>").
-                            //  sb.append(StringEscapeUtils.escapeHtml(ListToDescString(findBusiness.getBusinessInfos().getBusinessInfo().get(i).getDescription()))).
-                            append("</td><td>").
-                            append("<a class=\"btn btn-primary\" href=\"javascript:ShowServicesByBusinessKey('").append(StringEscapeUtils.escapeJavaScript(findBusiness.getBusinessInfos().getBusinessInfo().get(i).getBusinessKey())).append("');\">");
+                    sb.append("<tr><td><a title=\"").
+                            append(StringEscapeUtils.escapeHtml(findBusiness.getBusinessInfos().getBusinessInfo().get(i).getBusinessKey())).
+                            append("\"  href=\"businessEditor2.jsp?id=").
+                            append(StringEscapeUtils.escapeHtml(findBusiness.getBusinessInfos().getBusinessInfo().get(i).getBusinessKey())).
+                            append("\">").
+                            append(StringEscapeUtils.escapeHtml(Printers.ListNamesToString(findBusiness.getBusinessInfos().getBusinessInfo().get(i).getName()))).
+                            append("</a></td><td>").
+                            append("<a class=\"btn btn-primary\" href=\"javascript:ShowServicesByBusinessKey('").
+                            append(StringEscapeUtils.escapeJavaScript(findBusiness.getBusinessInfos().getBusinessInfo().get(i).getBusinessKey())).
+                            append("');\">");
 
                     if (findBusiness.getBusinessInfos().getBusinessInfo().get(i).getServiceInfos() == null) {
                         sb.append("0");
                     } else {
-                        sb.append(findBusiness.getBusinessInfos().getBusinessInfo().get(i).getServiceInfos().getServiceInfo().size());
+                        sb.append("Show ").append(findBusiness.getBusinessInfos().getBusinessInfo().get(i).getServiceInfos().getServiceInfo().size());
                     }
-                    sb.append("</a><a class=\"btn btn-primary\" href=\"serviceEditor.jsp?bizid=").append(StringEscapeUtils.escapeHtml(findBusiness.getBusinessInfos().getBusinessInfo().get(i).getBusinessKey())).
-                            append("\">+</a></td></tr>");
+                    sb.append("</a><a class=\"btn btn-primary\" href=\"serviceEditor.jsp?bizid=").
+                            append(StringEscapeUtils.escapeHtml(findBusiness.getBusinessInfos().getBusinessInfo().get(i).getBusinessKey())).
+                            append("\"><i class=\"icon-plus-sign icon-white\"></i></a></td></tr>");
 
                     sb.append("<tr><td colspan=3><div id=\"").
                             append(StringEscapeUtils.escapeHtml(findBusiness.getBusinessInfos().getBusinessInfo().get(i).getBusinessKey())).
@@ -331,20 +350,38 @@ public class UddiHub {
             GetServiceDetail gbd = new GetServiceDetail();
             gbd.setAuthInfo(GetToken());
             gbd.getServiceKey().add(serviceid);
-            ServiceDetail get = inquiry.getServiceDetail(gbd);
-            for (int i = 0; i < get.getBusinessService().size(); i++) {
-                session.setAttribute(get.getBusinessService().get(i).getServiceKey(), get.getBusinessService().get(i));
-                sb.append("<b>").append(ResourceLoader.GetResource(session, "items.name")).append(":</b><div class=\"editable\" id=\"ServiceName\">").append(StringEscapeUtils.escapeHtml(Printers.ListNamesToString(get.getBusinessService().get(i).getName()))).append("</div><Br>");
-                sb.append("<b>").append(ResourceLoader.GetResource(session, "items.description")).append(":</b><div class=\"editable\" id=\"ServiceDescription\">").append(StringEscapeUtils.escapeHtml((Printers.ListToDescString(get.getBusinessService().get(i).getDescription())))).append("</div><Br>");
-                sb.append("<b>").append(ResourceLoader.GetResource(session, "items.key")).append(":</b><div class=\"editable\" id=\"ServiceKey\">").append(StringEscapeUtils.escapeHtml((get.getBusinessService().get(i).getServiceKey()))).append("</div><Br>");
-                sb.append("<b>").append(ResourceLoader.GetResource(session, "items.keyrefcat")).append(":</b> ").append(Printers.CatBagToString(get.getBusinessService().get(i).getCategoryBag(), (String) session.getAttribute("locale"))).append("<Br>");
-                if (!get.getBusinessService().get(i).getSignature().isEmpty()) {
-                    sb.append(ResourceLoader.GetResource(session, "items.signed")).append("<Br>");
+            ServiceDetail get = null;//inquiry.getServiceDetail(gbd);
+            try {
+                get = inquiry.getServiceDetail(gbd);
+            } catch (Exception ex) {
+                if (ex instanceof DispositionReportFaultMessage) {
+                    DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                    if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                        token = null;
+                        gbd.setAuthInfo(GetToken());
+                        get = inquiry.getServiceDetail(gbd);
+                    }
                 } else {
-                    sb.append(ResourceLoader.GetResource(session, "items.signed.not")).append("<Br>");
+                    throw ex;
                 }
+            }
+            if (get != null) {
+                for (int i = 0; i < get.getBusinessService().size(); i++) {
+                    session.setAttribute(get.getBusinessService().get(i).getServiceKey(), get.getBusinessService().get(i));
+                    sb.append("<b>").append(ResourceLoader.GetResource(session, "items.name")).append(":</b><div class=\"editable\" id=\"ServiceName\">").append(StringEscapeUtils.escapeHtml(Printers.ListNamesToString(get.getBusinessService().get(i).getName()))).append("</div><Br>");
+                    sb.append("<b>").append(ResourceLoader.GetResource(session, "items.description")).append(":</b><div class=\"editable\" id=\"ServiceDescription\">").append(StringEscapeUtils.escapeHtml((Printers.ListToDescString(get.getBusinessService().get(i).getDescription())))).append("</div><Br>");
+                    sb.append("<b>").append(ResourceLoader.GetResource(session, "items.key")).append(":</b><div class=\"editable\" id=\"ServiceKey\">").append(StringEscapeUtils.escapeHtml((get.getBusinessService().get(i).getServiceKey()))).append("</div><Br>");
+                    sb.append("<b>").append(ResourceLoader.GetResource(session, "items.keyrefcat")).append(":</b> ").append(Printers.CatBagToString(get.getBusinessService().get(i).getCategoryBag(), (String) session.getAttribute("locale"))).append("<Br>");
+                    if (!get.getBusinessService().get(i).getSignature().isEmpty()) {
+                        sb.append(ResourceLoader.GetResource(session, "items.signed")).append("<Br>");
+                    } else {
+                        sb.append(ResourceLoader.GetResource(session, "items.signed.not")).append("<Br>");
+                    }
 
-                sb.append(Printers.PrintBindingTemplates(get.getBusinessService().get(i).getBindingTemplates(), (String) session.getAttribute("locale"))).append("<Br>");
+                    sb.append(Printers.PrintBindingTemplates(get.getBusinessService().get(i).getBindingTemplates(), (String) session.getAttribute("locale"))).append("<Br>");
+                }
+            } else {
+                sb.append(ResourceLoader.GetResource(session, "errors.nodatareturned"));
             }
         } catch (Exception ex) {
             sb.append(HandleException(ex));
@@ -368,17 +405,35 @@ public class UddiHub {
             GetBusinessDetail gbd = new GetBusinessDetail();
             gbd.setAuthInfo(GetToken());
             gbd.getBusinessKey().add(bizid);
-            BusinessDetail businessDetail = inquiry.getBusinessDetail(gbd);
-            for (int i = 0; i < businessDetail.getBusinessEntity().size(); i++) {
-                if (businessDetail.getBusinessEntity().get(i).getBusinessServices() == null) {
-                    sb.append(ResourceLoader.GetResource(session, "errors.noservicesdefined"));
-                } else {
-                    for (int k = 0; k < businessDetail.getBusinessEntity().get(i).getBusinessServices().getBusinessService().size(); k++) {
-                        sb.append("<div><a href=\"serviceEditor.jsp?id=").
-                                append(StringEscapeUtils.escapeHtml(businessDetail.getBusinessEntity().get(i).getBusinessServices().getBusinessService().get(k).getServiceKey())).append("\">").
-                                append(StringEscapeUtils.escapeHtml(Printers.ListNamesToString(businessDetail.getBusinessEntity().get(i).getBusinessServices().getBusinessService().get(k).getName()))).append("</a></div>");
+            BusinessDetail businessDetail = null;
+            try {
+                businessDetail = inquiry.getBusinessDetail(gbd);
+            } catch (Exception ex) {
+                if (ex instanceof DispositionReportFaultMessage) {
+                    DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                    if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                        token = null;
+                        gbd.setAuthInfo(GetToken());
+                        businessDetail = inquiry.getBusinessDetail(gbd);
+                    }
+                } else {
+                    throw ex;
+                }
+            }
+            if (businessDetail != null) {
+                for (int i = 0; i < businessDetail.getBusinessEntity().size(); i++) {
+                    if (businessDetail.getBusinessEntity().get(i).getBusinessServices() == null) {
+                        sb.append(ResourceLoader.GetResource(session, "errors.noservicesdefined"));
+                    } else {
+                        for (int k = 0; k < businessDetail.getBusinessEntity().get(i).getBusinessServices().getBusinessService().size(); k++) {
+                            sb.append("<div><a href=\"serviceEditor.jsp?id=").
+                                    append(StringEscapeUtils.escapeHtml(businessDetail.getBusinessEntity().get(i).getBusinessServices().getBusinessService().get(k).getServiceKey())).append("\">").
+                                    append(StringEscapeUtils.escapeHtml(Printers.ListNamesToString(businessDetail.getBusinessEntity().get(i).getBusinessServices().getBusinessService().get(k).getName()))).append("</a></div>");
+                        }
                     }
                 }
+            } else {
+                sb.append(ResourceLoader.GetResource(session, "errors.nodatareturned"));
             }
         } catch (Exception ex) {
             sb.append(ResourceLoader.GetResource(session, "errors.generic")).append(ex.getMessage());
@@ -395,7 +450,22 @@ public class UddiHub {
             GetServiceDetail gbd = new GetServiceDetail();
             gbd.setAuthInfo(GetToken());
             gbd.getServiceKey().add(serviceid);
-            ServiceDetail get = inquiry.getServiceDetail(gbd);
+            ServiceDetail get = null;
+            try {
+                get = inquiry.getServiceDetail(gbd);
+            } catch (Exception ex) {
+                if (ex instanceof DispositionReportFaultMessage) {
+                    DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                    if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                        token = null;
+                        gbd.setAuthInfo(GetToken());
+                        get = inquiry.getServiceDetail(gbd);
+                    }
+                } else {
+                    throw ex;
+                }
+            }
+
             if (get == null || get.getBusinessService().isEmpty()) {
                 return null;
             }
@@ -412,8 +482,22 @@ public class UddiHub {
             SaveService sb = new SaveService();
             sb.setAuthInfo(GetToken());
             sb.getBusinessService().add(be);
-            publish.saveService(sb);
-            return "Saved!";
+            try {
+                publish.saveService(sb);
+            } catch (Exception ex) {
+                if (ex instanceof DispositionReportFaultMessage) {
+                    DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                    if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                        token = null;
+                        sb.setAuthInfo(GetToken());
+                        publish.saveService(sb);
+                    }
+                } else {
+                    throw ex;
+                }
+            }
+
+            return ResourceLoader.GetResource(session, "actions.saved");
         } catch (Exception ex) {
             return HandleException(ex);
         }
@@ -431,7 +515,20 @@ public class UddiHub {
             SaveBinding sb = new SaveBinding();
             sb.setAuthInfo(GetToken());
             sb.getBindingTemplate().add(be);
-            publish.saveBinding(sb);
+            try {
+                publish.saveBinding(sb);
+            } catch (Exception ex) {
+                if (ex instanceof DispositionReportFaultMessage) {
+                    DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                    if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                        token = null;
+                        sb.setAuthInfo(GetToken());
+                        publish.saveBinding(sb);
+                    }
+                } else {
+                    throw ex;
+                }
+            }
             return ResourceLoader.GetResource(session, "actions.save.bindingtemplate");
         } catch (Exception ex) {
             return HandleException(ex);
@@ -451,14 +548,14 @@ public class UddiHub {
             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")));
+        be.getName().addAll(Builders.BuildNames(Builders.MapFilter(request.getParameterMap(), PostBackConstants.NAME), PostBackConstants.NAME, ResourceLoader.GetResource(session, "items.clicktoedit")));
         BindingTemplates bt = new BindingTemplates();
-        bt.getBindingTemplate().addAll(Builders.BuildBindingTemplates(Builders.MapFilter(request.getParameterMap(), PostBackConstants.BINDINGTEMPLATE), PostBackConstants.BINDINGTEMPLATE,ResourceLoader.GetResource(session, "items.clicktoedit")));
+        bt.getBindingTemplate().addAll(Builders.BuildBindingTemplates(Builders.MapFilter(request.getParameterMap(), PostBackConstants.BINDINGTEMPLATE), PostBackConstants.BINDINGTEMPLATE, ResourceLoader.GetResource(session, "items.clicktoedit")));
         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")));
+        be.getDescription().addAll(Builders.BuildDescription(Builders.MapFilter(request.getParameterMap(), PostBackConstants.DESCRIPTION), PostBackConstants.DESCRIPTION, ResourceLoader.GetResource(session, "items.clicktoedit")));
 
         CategoryBag cb = new CategoryBag();
         cb.getKeyedReference().addAll(Builders.BuildKeyedReference(Builders.MapFilter(request.getParameterMap(), PostBackConstants.CATBAG_KEY_REF), PostBackConstants.CATBAG_KEY_REF));
@@ -476,20 +573,53 @@ public class UddiHub {
             SaveService sb = new SaveService();
             sb.setAuthInfo(GetToken());
             sb.getBusinessService().add(be);
-            publish.saveService(sb);
+            try {
+                publish.saveService(sb);
+            } catch (Exception ex) {
+                if (ex instanceof DispositionReportFaultMessage) {
+                    DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                    if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                        token = null;
+                        sb.setAuthInfo(GetToken());
+                        publish.saveService(sb);
+                    }
+                } else {
+                    throw ex;
+                }
+            }
             return ResourceLoader.GetResource(session, "actions.save.service");
         } catch (Exception ex) {
             return HandleException(ex);
         }
     }
 
+    /**
+     * Saves a business entity
+     *
+     * @param be
+     * @return
+     */
     public String SaveBusinessDetails(BusinessEntity be) {
         try {
             SaveBusiness sb = new SaveBusiness();
             sb.setAuthInfo(GetToken());
             sb.getBusinessEntity().add(be);
-            BusinessDetail saveBusiness = publish.saveBusiness(sb);
-            return "Saved!";
+            try {
+                publish.saveBusiness(sb);
+            } catch (Exception ex) {
+                if (ex instanceof DispositionReportFaultMessage) {
+                    DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                    if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                        token = null;
+                        sb.setAuthInfo(GetToken());
+                        publish.saveBusiness(sb);
+                    }
+                } else {
+                    throw ex;
+                }
+            }
+
+            return ResourceLoader.GetResource(session, "actions.saved");
         } catch (Exception ex) {
             return HandleException(ex);
         }
@@ -514,16 +644,16 @@ public class UddiHub {
         if (be.getBusinessKey().equalsIgnoreCase(ResourceLoader.GetResource(session, "items.clicktoedit"))) {
             be.setBusinessKey(null);
         }
-        be.getName().addAll(Builders.BuildNames(Builders.MapFilter(request.getParameterMap(), PostBackConstants.NAME), PostBackConstants.NAME,ResourceLoader.GetResource(session, "items.clicktoedit")));
+        be.getName().addAll(Builders.BuildNames(Builders.MapFilter(request.getParameterMap(), PostBackConstants.NAME), PostBackConstants.NAME, ResourceLoader.GetResource(session, "items.clicktoedit")));
         if (GetBusinessDetails == null) //this is a new business
         {
         } else {
             be.setBusinessServices(GetBusinessDetails.getBusinessServices());
         }
         //TODO signature
-        be.setContacts(Builders.BuildContacts(request.getParameterMap(),ResourceLoader.GetResource(session, "items.clicktoedit")));
+        be.setContacts(Builders.BuildContacts(request.getParameterMap(), ResourceLoader.GetResource(session, "items.clicktoedit")));
 
-        be.getDescription().addAll(Builders.BuildDescription(Builders.MapFilter(request.getParameterMap(), PostBackConstants.DESCRIPTION), PostBackConstants.DESCRIPTION,ResourceLoader.GetResource(session, "items.clicktoedit")));
+        be.getDescription().addAll(Builders.BuildDescription(Builders.MapFilter(request.getParameterMap(), PostBackConstants.DESCRIPTION), PostBackConstants.DESCRIPTION, ResourceLoader.GetResource(session, "items.clicktoedit")));
         be.setDiscoveryURLs(Builders.BuildDisco(Builders.MapFilter(request.getParameterMap(), PostBackConstants.DISCOVERYURL), PostBackConstants.DISCOVERYURL));
         CategoryBag cb = new CategoryBag();
         cb.getKeyedReference().addAll(Builders.BuildKeyedReference(Builders.MapFilter(request.getParameterMap(), PostBackConstants.CATBAG_KEY_REF), PostBackConstants.CATBAG_KEY_REF));
@@ -547,23 +677,43 @@ public class UddiHub {
 
             gbd.getBusinessKey().add(bizid);
 
-            BusinessDetail businessDetail = inquiry.getBusinessDetail(gbd);
-            for (int i = 0; i < businessDetail.getBusinessEntity().size(); i++) {
-                sb.append("Business Detail - key: ").append(businessDetail.getBusinessEntity().get(i).getBusinessKey()).append("<br>");
-                sb.append(ResourceLoader.GetResource(session, "items.name"));
-                sb.append(": ").append(Printers.ListNamesToString(businessDetail.getBusinessEntity().get(i).getName())).append("<br>");
-                sb.append(ResourceLoader.GetResource(session, "items.description"));
-                sb.append(": ").append(Printers.ListToDescString(businessDetail.getBusinessEntity().get(i).getDescription())).append("<br>");
-                sb.append(ResourceLoader.GetResource(session, "items.discoveryurl"));
-                sb.append(": ").append(Printers.ListDiscoToString(businessDetail.getBusinessEntity().get(i).getDiscoveryURLs())).append("<br>");
-                sb.append(ResourceLoader.GetResource(session, "items.identifiers"));
-                sb.append(": ").append(Printers.ListIdentBagToString(businessDetail.getBusinessEntity().get(i).getIdentifierBag(), (String) session.getAttribute("locale"))).append("<br>");
-                sb.append(ResourceLoader.GetResource(session, "items.keyrefcats"));
-                sb.append(": ").append(Printers.CatBagToString(businessDetail.getBusinessEntity().get(i).getCategoryBag(), (String) session.getAttribute("locale"))).append("<br>");
-                Printers.PrintContacts(businessDetail.getBusinessEntity().get(i).getContacts(), (String) session.getAttribute("locale"));
+            BusinessDetail businessDetail = null;
+
+            try {
+                businessDetail = inquiry.getBusinessDetail(gbd);
+            } catch (Exception ex) {
+                if (ex instanceof DispositionReportFaultMessage) {
+                    DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                    if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                        token = null;
+                        gbd.setAuthInfo(GetToken());
+                        businessDetail = inquiry.getBusinessDetail(gbd);
+                    }
+                } else {
+                    throw ex;
+                }
+            }
+            if (businessDetail != null) {
+                for (int i = 0; i < businessDetail.getBusinessEntity().size(); i++) {
+                    sb.append("Business Detail - key: ").append(businessDetail.getBusinessEntity().get(i).getBusinessKey()).append("<br>");
+                    sb.append(ResourceLoader.GetResource(session, "items.name"));
+                    sb.append(": ").append(Printers.ListNamesToString(businessDetail.getBusinessEntity().get(i).getName())).append("<br>");
+                    sb.append(ResourceLoader.GetResource(session, "items.description"));
+                    sb.append(": ").append(Printers.ListToDescString(businessDetail.getBusinessEntity().get(i).getDescription())).append("<br>");
+                    sb.append(ResourceLoader.GetResource(session, "items.discoveryurl"));
+                    sb.append(": ").append(Printers.ListDiscoToString(businessDetail.getBusinessEntity().get(i).getDiscoveryURLs())).append("<br>");
+                    sb.append(ResourceLoader.GetResource(session, "items.identifiers"));
+                    sb.append(": ").append(Printers.ListIdentBagToString(businessDetail.getBusinessEntity().get(i).getIdentifierBag(), (String) session.getAttribute("locale"))).append("<br>");
+                    sb.append(ResourceLoader.GetResource(session, "items.keyrefcats"));
+                    sb.append(": ").append(Printers.CatBagToString(businessDetail.getBusinessEntity().get(i).getCategoryBag(), (String) session.getAttribute("locale"))).append("<br>");
+                    Printers.PrintContacts(businessDetail.getBusinessEntity().get(i).getContacts(), (String) session.getAttribute("locale"));
+                }
+            } else {
+                sb.append(ResourceLoader.GetResource(session, "errors.nodatareturned"));
             }
         } catch (Exception ex) {
-            sb.append(ResourceLoader.GetResource(session, "errors.generic")).append(ex.getMessage());
+
+            sb.append(HandleException(ex));
         }
         return sb.toString();
     }
@@ -586,8 +736,22 @@ public class UddiHub {
 
             gbd.getBusinessKey().add(bizid);
 
-            BusinessDetail businessDetail = inquiry.getBusinessDetail(gbd);
-            if (businessDetail.getBusinessEntity().size() == 1) {
+            BusinessDetail businessDetail = null;
+            try {
+                businessDetail = inquiry.getBusinessDetail(gbd);
+            } catch (Exception ex) {
+                if (ex instanceof DispositionReportFaultMessage) {
+                    DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                    if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                        token = null;
+                        gbd.setAuthInfo(GetToken());
+                        businessDetail = inquiry.getBusinessDetail(gbd);
+                    }
+                } else {
+                    throw ex;
+                }
+            }
+            if (businessDetail != null && businessDetail.getBusinessEntity().size() == 1) {
                 return businessDetail.getBusinessEntity().get(0);
             }
         } catch (Exception ex) {
@@ -627,8 +791,23 @@ public class UddiHub {
             fs.getName().add(n);
             fs.setFindQualifiers(new org.uddi.api_v3.FindQualifiers());
             fs.getFindQualifiers().getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
-            ServiceList findService = inquiry.findService(fs);
-            if (findService.getServiceInfos() == null) {
+            ServiceList findService = null;//inquiry.findService(fs);
+            try {
+                findService = inquiry.findService(fs);
+            } catch (Exception ex) {
+                if (ex instanceof DispositionReportFaultMessage) {
+                    DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                    if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                        token = null;
+                        fs.setAuthInfo(GetToken());
+                        findService = inquiry.findService(fs);
+                    }
+                } else {
+                    throw ex;
+                }
+            }
+
+            if (findService == null || findService.getServiceInfos() == null) {
                 ret.renderedHtml = ResourceLoader.GetResource(session, "errors.norecordsfound");
                 return ret;
             }
@@ -668,61 +847,56 @@ public class UddiHub {
      *
      * @param request
      * @return
-     * @deprecated
-     
-    @Deprecated
-    public String AddPublisher(HttpServletRequest request) {
-        try {
-            SavePublisher sp = new SavePublisher();
-            sp.setAuthInfo(GetToken());
-            Publisher p = new Publisher();
-            //TODO code
-            sp.getPublisher().add(p);
-            PublisherDetail savePublisher = juddi.savePublisher(sp);
-            return "Success";
-            //TODO resource this
-        } catch (Exception ex) {
-            return HandleException(ex);
-        }
-
-
-    }
-*/
+     * @ deprecated
+     *
+     * @ Deprecated public String AddPublisher(HttpServletRequest request) { try
+     * { SavePublisher sp = new SavePublisher(); sp.setAuthInfo(GetToken());
+     * Publisher p = new Publisher(); //TODO code sp.getPublisher().add(p);
+     * PublisherDetail savePublisher = juddi.savePublisher(sp); return
+     * "Success"; //TODO resource this } catch (Exception ex) { return
+     * HandleException(ex); }
+     *
+     *
+     * }
+     */
     /**
      * returns an html listing of Juddi authorized publishers
      *
      * @return
-     
-    public String GetPublisherListAsHtml() {
-        if (!this.IsJuddiRegistry()) {
-            return "This function is only available on Juddi registries";
-        }
-        try {
-            GetAllPublisherDetail gpd = new GetAllPublisherDetail();
-            gpd.setAuthInfo(GetToken());
-            PublisherDetail allPublisherDetail = juddi.getAllPublisherDetail(gpd);
-            StringBuilder sb = new StringBuilder();
-            for (int i = 0; i < allPublisherDetail.getPublisher().size(); i++) {
-                sb.append(ResourceLoader.GetResource(session, "items.pubisher.name"))
-                        .append(" = ").append(allPublisherDetail.getPublisher().get(i).getPublisherName()).append("<br>");
-                sb.append(ResourceLoader.GetResource(session, "items.pubisher.authname")).append(" = ").append(allPublisherDetail.getPublisher().get(i).getAuthorizedName()).append("<br>");
-                sb.append(ResourceLoader.GetResource(session, "items.email"));
-                sb.append(" = ").append(allPublisherDetail.getPublisher().get(i).getEmailAddress()).append("<br>");
-                sb.append(ResourceLoader.GetResource(session, "items.publisher.admin"))
-                        .append(" = ").append(allPublisherDetail.getPublisher().get(i).getIsAdmin()).append("<br>");
-                sb.append("Is Enabled? = ").append(allPublisherDetail.getPublisher().get(i).getIsEnabled()).append("<br>");
-                sb.append("Max bindings per service = ").append(allPublisherDetail.getPublisher().get(i).getMaxBindingsPerService()).append("<br>");
-                sb.append("Max businesses = ").append(allPublisherDetail.getPublisher().get(i).getMaxBusinesses()).append("<br>");
-                sb.append("Max Services per Business = ").append(allPublisherDetail.getPublisher().get(i).getMaxServicePerBusiness()).append("<br>");
-                sb.append("Max tModels = ").append(allPublisherDetail.getPublisher().get(i).getMaxTModels()).append("<br><br>");
-
-            }
-            return sb.toString();
-        } catch (Exception ex) {
-            return HandleException(ex);
-        }
-    }
-*/
+     *
+     * public String GetPublisherListAsHtml() { if (!this.IsJuddiRegistry()) {
+     * return "This function is only available on Juddi registries"; } try {
+     * GetAllPublisherDetail gpd = new GetAllPublisherDetail();
+     * gpd.setAuthInfo(GetToken()); PublisherDetail allPublisherDetail =
+     * juddi.getAllPublisherDetail(gpd); StringBuilder sb = new StringBuilder();
+     * for (int i = 0; i < allPublisherDetail.getPublisher().size(); i++) {
+     * sb.append(ResourceLoader.GetResource(session, "items.pubisher.name"))
+     * .append(" =
+     * ").append(allPublisherDetail.getPublisher().get(i).getPublisherName()).append("<br>");
+     * sb.append(ResourceLoader.GetResource(session,
+     * "items.pubisher.authname")).append(" =
+     * ").append(allPublisherDetail.getPublisher().get(i).getAuthorizedName()).append("<br>");
+     * sb.append(ResourceLoader.GetResource(session, "items.email"));
+     * sb.append(" =
+     * ").append(allPublisherDetail.getPublisher().get(i).getEmailAddress()).append("<br>");
+     * sb.append(ResourceLoader.GetResource(session, "items.publisher.admin"))
+     * .append(" =
+     * ").append(allPublisherDetail.getPublisher().get(i).getIsAdmin()).append("<br>");
+     * sb.append("Is Enabled? =
+     * ").append(allPublisherDetail.getPublisher().get(i).getIsEnabled()).append("<br>");
+     * sb.append("Max bindings per service =
+     * ").append(allPublisherDetail.getPublisher().get(i).getMaxBindingsPerService()).append("<br>");
+     * sb.append("Max businesses =
+     * ").append(allPublisherDetail.getPublisher().get(i).getMaxBusinesses()).append("<br>");
+     * sb.append("Max Services per Business =
+     * ").append(allPublisherDetail.getPublisher().get(i).getMaxServicePerBusiness()).append("<br>");
+     * sb.append("Max tModels =
+     * ").append(allPublisherDetail.getPublisher().get(i).getMaxTModels()).append("<br><br>");
+     *
+     * }
+     * return sb.toString(); } catch (Exception ex) { return
+     * HandleException(ex); } }
+     */
     /**
      * Adds a special tModel key generator keyGenerator: Marking a tModel with
      * this categorization designates it as one whose tModelKey identifies a key
@@ -775,15 +949,15 @@ public class UddiHub {
         if (ex instanceof DispositionReportFaultMessage) {
             DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
             log.log(Level.ERROR, null, ex);
-            return ResourceLoader.GetResource(session, "errors.uddi") + ex.getMessage() + " " + f.detail.getMessage();
+            return ResourceLoader.GetResource(session, "errors.uddi") + " " + ex.getMessage() + " " + f.detail.getMessage();
         }
         if (ex instanceof RemoteException) {
             RemoteException f = (RemoteException) ex;
             log.log(Level.ERROR, null, ex);
-            return ResourceLoader.GetResource(session, "errors.generic") + ex.getMessage() + " " + f.detail.getMessage();
+            return ResourceLoader.GetResource(session, "errors.generic") + " " + ex.getMessage() + " " + f.detail.getMessage();
         }
         log.log(Level.ERROR, null, ex);
-        return ResourceLoader.GetResource(session, "errors.generic") + ex.getMessage();
+        return ResourceLoader.GetResource(session, "errors.generic") + " " + ex.getMessage();
     }
 
     /**
@@ -811,7 +985,21 @@ public class UddiHub {
             fm.getName().setValue(keyword);
             fm.setFindQualifiers(new org.uddi.api_v3.FindQualifiers());
             fm.getFindQualifiers().getFindQualifier().add(UDDIConstants.APPROXIMATE_MATCH);
-            TModelList findTModel = inquiry.findTModel(fm);
+            TModelList findTModel = null;
+            try {
+                findTModel = inquiry.findTModel(fm);
+            } catch (Exception ex) {
+                if (ex instanceof DispositionReportFaultMessage) {
+                    DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                    if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                        token = null;
+                        fm.setAuthInfo(GetToken());
+                        findTModel = inquiry.findTModel(fm);
+                    }
+                } else {
+                    throw ex;
+                }
+            }
 
             ret.offset = offset;
             ret.displaycount = findTModel.getListDescription().getIncludeCount();
@@ -821,21 +1009,27 @@ public class UddiHub {
             } else {
                 StringBuilder sb = new StringBuilder();
 
-                sb.append("<table class=\"table\">");
+                sb.append("<table class=\"table table-hover\"><tr><th>")
+                        .append(ResourceLoader.GetResource(session, "items.key"))
+                        .append("</th><th>")
+                        .append(ResourceLoader.GetResource(session, "items.name"))
+                        .append("</th><th>")
+                        .append(ResourceLoader.GetResource(session, "items.description"))
+                        .append("</th></tr>");
                 for (int i = 0; i < findTModel.getTModelInfos().getTModelInfo().size(); i++) {
                     sb.append("<tr><td><a href=\"tmodelEditor.jsp?id=")
                             .append(StringEscapeUtils.escapeHtml(findTModel.getTModelInfos().getTModelInfo().get(i).getTModelKey()))
-                            .append("\" class=\"btn btn-primary\">Edit</a></td><td>");
-                    sb.append("tModel Key = ").append(
-                            StringEscapeUtils.escapeHtml(findTModel.getTModelInfos().getTModelInfo().get(i).getTModelKey()))
-                            .append("<br>");
-                    sb.append(ResourceLoader.GetResource(session, "items.description")).append(" = ").append(
-                            StringEscapeUtils.escapeHtml(Printers.ListToDescString(findTModel.getTModelInfos().getTModelInfo().get(i).getDescription())))
-                            .append("<br>");
-                    sb.append(ResourceLoader.GetResource(session, "items.name")).append(" = ").append(StringEscapeUtils.escapeHtml(findTModel.getTModelInfos().getTModelInfo().get(i).getName().getValue()))
-                            .append(", ")
-                            .append(StringEscapeUtils.escapeHtml(findTModel.getTModelInfos().getTModelInfo().get(i).getName().getLang()));
-                    sb.append("</td></tr>");
+                            .append("\" >")
+                            .append(StringEscapeUtils.escapeHtml(findTModel.getTModelInfos().getTModelInfo().get(i).getTModelKey()))
+                            .append("</a></td><td>")
+                            .append(StringEscapeUtils.escapeHtml(findTModel.getTModelInfos().getTModelInfo().get(i).getName().getValue()));
+                    if (findTModel.getTModelInfos().getTModelInfo().get(i).getName().getLang() != null) {
+                        sb.append(", ")
+                                .append(StringEscapeUtils.escapeHtml(findTModel.getTModelInfos().getTModelInfo().get(i).getName().getLang()));
+                    }
+                    sb.append("</td><td>")
+                            .append(StringEscapeUtils.escapeHtml(Printers.ListToDescString(findTModel.getTModelInfos().getTModelInfo().get(i).getDescription())))
+                            .append("</td></tr>");
                 }
                 sb.append("</table>");
                 ret.renderedHtml = sb.toString();
@@ -862,10 +1056,26 @@ public class UddiHub {
             GetTModelDetail req = new GetTModelDetail();
             req.setAuthInfo(GetToken());
             req.getTModelKey().add(id);
-            TModelDetail tModelDetail = inquiry.getTModelDetail(req);
+            TModelDetail tModelDetail = null;
+            try {
+                tModelDetail = inquiry.getTModelDetail(req);
+
+            } catch (Exception ex) {
+                if (ex instanceof DispositionReportFaultMessage) {
+                    DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                    if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                        token = null;
+                        req.setAuthInfo(GetToken());
+                        tModelDetail = inquiry.getTModelDetail(req);
+
+                    }
+                } else {
+                    throw ex;
+                }
+            }
+
             if (tModelDetail != null && !tModelDetail.getTModel().isEmpty()) {
                 return tModelDetail.getTModel().get(0);
-
             }
 
         } catch (Exception ex) {
@@ -887,7 +1097,21 @@ public class UddiHub {
             GetBindingDetail r = new GetBindingDetail();
             r.setAuthInfo(GetToken());
             r.getBindingKey().add(key);
-            BindingDetail bindingDetail = inquiry.getBindingDetail(r);
+            BindingDetail bindingDetail = null;
+            try {
+                bindingDetail = inquiry.getBindingDetail(r);
+            } catch (Exception ex) {
+                if (ex instanceof DispositionReportFaultMessage) {
+                    DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                    if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                        token = null;
+                        r.setAuthInfo(GetToken());
+                        bindingDetail = inquiry.getBindingDetail(r);
+                    }
+                } else {
+                    throw ex;
+                }
+            }
             return bindingDetail.getBindingTemplate().get(0);
         } catch (Exception ex) {
             HandleException(ex);
@@ -900,7 +1124,22 @@ public class UddiHub {
             GetTModelDetail r = new GetTModelDetail();
             r.setAuthInfo(GetToken());
             r.getTModelKey().add(key);
-            TModelDetail tModelDetail = inquiry.getTModelDetail(r);
+            TModelDetail tModelDetail = null;
+            try {
+                tModelDetail = inquiry.getTModelDetail(r);
+            } catch (Exception ex) {
+                if (ex instanceof DispositionReportFaultMessage) {
+                    DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                    if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                        token = null;
+                        r.setAuthInfo(GetToken());
+                        tModelDetail = inquiry.getTModelDetail(r);
+                    }
+                } else {
+                    throw ex;
+                }
+            }
+
             return tModelDetail.getTModel().get(0);
         } catch (Exception ex) {
             HandleException(ex);
@@ -926,7 +1165,7 @@ public class UddiHub {
                 return FindBusiness(criteria, parameters, lang, findqualifier);
             case RelatedBusiness:
                 return FindRelatedBusiness(criteria, parameters, lang, findqualifier);
-     
+
             case Service:
                 return FindService(criteria, parameters, lang, findqualifier);
             case tModel:
@@ -971,9 +1210,23 @@ public class UddiHub {
 
             }
             if (findBusiness == null) {
-                findBusiness = inquiry.findBinding(fb);
+                try {
+                    findBusiness = inquiry.findBinding(fb);
+                } catch (Exception ex) {
+                    if (ex instanceof DispositionReportFaultMessage) {
+                        DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                        if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                            token = null;
+                            fb.setAuthInfo(GetToken());
+                            findBusiness = inquiry.findBinding(fb);
+                        }
+                    } else {
+                        throw ex;
+                    }
+                }
+
             }
-            if (findBusiness.getBindingTemplate() != null) {
+            if (findBusiness != null && findBusiness.getBindingTemplate() != null) {
                 StringBuilder sb = new StringBuilder();
                 sb.append("<table class=\"table\">");
                 for (int i = 0; i < findBusiness.getBindingTemplate().size(); i++) {
@@ -1042,9 +1295,23 @@ public class UddiHub {
 
             }
             if (findBusiness == null) {
-                findBusiness = inquiry.findBusiness(fb);
+
+                try {
+                    findBusiness = inquiry.findBusiness(fb);
+                } catch (Exception ex) {
+                    if (ex instanceof DispositionReportFaultMessage) {
+                        DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                        if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                            token = null;
+                            fb.setAuthInfo(GetToken());
+                            findBusiness = inquiry.findBusiness(fb);
+                        }
+                    } else {
+                        throw ex;
+                    }
+                }
             }
-            if (findBusiness.getBusinessInfos() != null) {
+            if (findBusiness != null && findBusiness.getBusinessInfos() != null) {
                 StringBuilder sb = new StringBuilder();
                 sb.append("<table class=\"table\">");
                 for (int i = 0; i < findBusiness.getBusinessInfos().getBusinessInfo().size(); i++) {
@@ -1063,7 +1330,7 @@ public class UddiHub {
                 sb.append("</table>");
                 return sb.toString();
             } else {
-                return  ResourceLoader.GetResource(session, "errors.norecordsfound");
+                return ResourceLoader.GetResource(session, "errors.norecordsfound");
             }
         } catch (Exception ex) {
             return HandleException(ex);
@@ -1087,9 +1354,23 @@ public class UddiHub {
                     break;
             }
 
-            findBusiness = inquiry.findRelatedBusinesses(fb);
+            try {
+                findBusiness = inquiry.findRelatedBusinesses(fb);
+            } catch (Exception ex) {
+                if (ex instanceof DispositionReportFaultMessage) {
+                    DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                    if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                        token = null;
+                        fb.setAuthInfo(GetToken());
+                        findBusiness = inquiry.findRelatedBusinesses(fb);
+                    }
+                } else {
+                    throw ex;
+                }
+            }
+
 
-            if (findBusiness.getRelatedBusinessInfos() != null) {
+            if (findBusiness != null && findBusiness.getRelatedBusinessInfos() != null) {
                 StringBuilder sb = new StringBuilder();
                 sb.append("<table class=\"table\">");
                 for (int i = 0; i < findBusiness.getRelatedBusinessInfos().getRelatedBusinessInfo().size(); i++) {
@@ -1108,14 +1389,13 @@ public class UddiHub {
                 sb.append("</table>");
                 return sb.toString();
             } else {
-                return  ResourceLoader.GetResource(session, "errors.norecordsfound");
+                return ResourceLoader.GetResource(session, "errors.norecordsfound");
             }
         } catch (Exception ex) {
             return HandleException(ex);
         }
     }
 
-
     private String FindService(CriteriaType criteria, String parameters, String lang, String[] fq) {
         try {
             FindService fb = new FindService();
@@ -1158,7 +1438,21 @@ public class UddiHub {
 
             }
             if (findBusiness == null) {
-                findBusiness = inquiry.findService(fb);
+                try {
+                    findBusiness = inquiry.findService(fb);
+                } catch (Exception ex) {
+                    if (ex instanceof DispositionReportFaultMessage) {
+                        DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                        if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                            token = null;
+                            fb.setAuthInfo(GetToken());
+                            findBusiness = inquiry.findService(fb);
+                        }
+                    } else {
+                        throw ex;
+                    }
+                }
+
             }
             if (findBusiness.getServiceInfos() != null) {
                 StringBuilder sb = new StringBuilder();
@@ -1179,7 +1473,7 @@ public class UddiHub {
                 sb.append("</table>");
                 return sb.toString();
             } else {
-                return  ResourceLoader.GetResource(session, "errors.norecordsfound");
+                return ResourceLoader.GetResource(session, "errors.norecordsfound");
             }
         } catch (Exception ex) {
             return HandleException(ex);
@@ -1213,7 +1507,7 @@ public class UddiHub {
                     fb.setName(n);
                     break;
                 case tmodel:
-                    
+
                     //TODO
                     break;
                 case uid:
@@ -1229,7 +1523,21 @@ public class UddiHub {
 
             }
             if (findBusiness == null) {
-                findBusiness = inquiry.findTModel(fb);
+                try {
+                    findBusiness = inquiry.findTModel(fb);
+                } catch (Exception ex) {
+                    if (ex instanceof DispositionReportFaultMessage) {
+                        DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                        if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                            token = null;
+                            fb.setAuthInfo(GetToken());
+                            findBusiness = inquiry.findTModel(fb);
+                        }
+                    } else {
+                        throw ex;
+                    }
+                }
+
             }
             if (findBusiness.getTModelInfos() != null) {
                 StringBuilder sb = new StringBuilder();
@@ -1250,7 +1558,7 @@ public class UddiHub {
                 sb.append("</table>");
                 return sb.toString();
             } else {
-                return  ResourceLoader.GetResource(session, "errors.norecordsfound");
+                return ResourceLoader.GetResource(session, "errors.norecordsfound");
             }
         } catch (Exception ex) {
             return HandleException(ex);
@@ -1289,7 +1597,20 @@ public class UddiHub {
         db.setAuthInfo(GetToken());
         db.getServiceKey().addAll(serviceId);
         try {
-            publish.deleteService(db);
+            try {
+                publish.deleteService(db);
+            } catch (Exception ex) {
+                if (ex instanceof DispositionReportFaultMessage) {
+                    DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                    if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                        token = null;
+                        db.setAuthInfo(GetToken());
+                        publish.deleteService(db);
+                    }
+                } else {
+                    throw ex;
+                }
+            }
         } catch (Exception ex) {
             return HandleException(ex);
         }
@@ -1310,7 +1631,20 @@ public class UddiHub {
         db.setAuthInfo(GetToken());
         db.getBusinessKey().addAll(bizid);
         try {
-            publish.deleteBusiness(db);
+            try {
+                publish.deleteBusiness(db);
+            } catch (Exception ex) {
+                if (ex instanceof DispositionReportFaultMessage) {
+                    DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                    if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                        token = null;
+                        db.setAuthInfo(GetToken());
+                        publish.deleteBusiness(db);
+                    }
+                } else {
+                    throw ex;
+                }
+            }
         } catch (Exception ex) {
             return HandleException(ex);
         }
@@ -1340,26 +1674,66 @@ public class UddiHub {
         db.setAuthInfo(GetToken());
         db.getTModelKey().addAll(bizid);
         try {
-            publish.deleteTModel(db);
+            try {
+                publish.deleteTModel(db);
+            } catch (Exception ex) {
+                if (ex instanceof DispositionReportFaultMessage) {
+                    DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                    if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                        token = null;
+                        db.setAuthInfo(GetToken());
+                        publish.deleteTModel(db);
+                    }
+                } else {
+                    throw ex;
+                }
+            }
         } catch (Exception ex) {
             return HandleException(ex);
         }
         return ResourceLoader.GetResource(session, "actions.delete.tmodel");
     }
 
+    /**
+     * saves a tmodel object
+     *
+     * @param be
+     * @return
+     */
     public String SaveTModel(TModel be) {
         try {
             SaveTModel sb = new SaveTModel();
             sb.setAuthInfo(GetToken());
 
             sb.getTModel().add(be);
-            TModelDetail saveTModel = publish.saveTModel(sb);
-            return ResourceLoader.GetResource(session, "tModel guardado correctamente!");
+            JAXB.marshal(be, System.out);
+            try {
+                publish.saveTModel(sb);
+            } catch (Exception ex) {
+                if (ex instanceof DispositionReportFaultMessage) {
+                    DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                    if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                        token = null;
+                        sb.setAuthInfo(GetToken());
+                        publish.saveTModel(sb);
+                    }
+                } else {
+                    throw ex;
+                }
+            }
+            return ResourceLoader.GetResource(session, "actions.saved");
         } catch (Exception ex) {
             return HandleException(ex);
         }
     }
 
+    /**
+     * This rebuild a tmodel from the http request, such as from the tmodel
+     * editor page
+     *
+     * @param request
+     * @return
+     */
     public String SaveTModel(HttpServletRequest request) {
 
         TModel be = new TModel();
@@ -1378,10 +1752,21 @@ public class UddiHub {
             be.getName().setLang(t);
         }
 
+        t = request.getParameter(PostBackConstants.TMODEL_DELETED);
+        if (t != null) {
+            if (t.equalsIgnoreCase("checked")) {
+                be.setDeleted(Boolean.TRUE);
+            }
+        }
+        if (!be.isDeleted()) {
+            be.setDeleted(Boolean.FALSE);
+        }
+
+
         //TODO signature
 
-        be.getDescription().addAll(Builders.BuildDescription(Builders.MapFilter(request.getParameterMap(), PostBackConstants.DESCRIPTION), PostBackConstants.DESCRIPTION,ResourceLoader.GetResource(session, "items.clicktoedit")));
-        be.getOverviewDoc().addAll(Builders.BuildOverviewDocs(Builders.MapFilter(request.getParameterMap(), PostBackConstants.OVERVIEW), PostBackConstants.OVERVIEW,ResourceLoader.GetResource(session, "items.clicktoedit")));
+        be.getDescription().addAll(Builders.BuildDescription(Builders.MapFilter(request.getParameterMap(), PostBackConstants.DESCRIPTION), PostBackConstants.DESCRIPTION, ResourceLoader.GetResource(session, "items.clicktoedit")));
+        be.getOverviewDoc().addAll(Builders.BuildOverviewDocs(Builders.MapFilter(request.getParameterMap(), PostBackConstants.OVERVIEW), PostBackConstants.OVERVIEW, ResourceLoader.GetResource(session, "items.clicktoedit")));
 
 //            be.setDiscoveryURLs(BuildDisco(MapFilter(request.getParameterMap(), PostBackConstants.DISCOVERYURL), PostBackConstants.DISCOVERYURL));
         CategoryBag cb = new CategoryBag();
@@ -1393,6 +1778,7 @@ public class UddiHub {
         }
         be.setIdentifierBag(Builders.BuildIdentBag(Builders.MapFilter(request.getParameterMap(), PostBackConstants.IDENT_KEY_REF), PostBackConstants.IDENT_KEY_REF));
 
+        JAXB.marshal(be, System.out);
         return SaveTModel(be);
 
     }
@@ -1402,7 +1788,7 @@ public class UddiHub {
         // X509Certificate signingcert = null;
         //sb.append("Signature Id: ").append(sig.getKeyInfo().getId());
         for (int i = 0; i < sig.getKeyInfo().getContent().size(); i++) {
-            sb.append("Signature #").append((i + 1)).append(": ");
+            //sb.append("Signature #").append((i + 1)).append(": ");
             JAXBElement get = (JAXBElement) sig.getKeyInfo().getContent().get(i);
 
             if (get.getValue() instanceof org.w3._2000._09.xmldsig_.X509DataType) {
@@ -1420,7 +1806,7 @@ public class UddiHub {
                             } catch (Exception ex) {
                             }
                         } else if (element.getValue() instanceof String) {
-                            sb.append((String) element.getValue());
+                            // sb.append((String) element.getValue());
                         }
                     }
                 }
@@ -1535,9 +1921,23 @@ public class UddiHub {
         GetOperationalInfo goi = new GetOperationalInfo();
         goi.setAuthInfo(id);
         goi.getEntityKey().add(id);
-        OperationalInfos operationalInfo;
+        OperationalInfos operationalInfo = null;
         try {
-            operationalInfo = inquiry.getOperationalInfo(goi);
+            try {
+                operationalInfo = inquiry.getOperationalInfo(goi);
+            } catch (Exception ex) {
+                if (ex instanceof DispositionReportFaultMessage) {
+                    DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                    if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                        token = null;
+                        goi.setAuthInfo(GetToken());
+                        operationalInfo = inquiry.getOperationalInfo(goi);
+                    }
+                } else {
+                    throw ex;
+                }
+            }
+
             return operationalInfo.getOperationalInfo();
         } catch (Exception ex) {
             HandleException(ex);
@@ -1555,7 +1955,7 @@ public class UddiHub {
         StringBuilder sb = new StringBuilder();
 
         if (info != null) {
-            sb.append("<table class=\"table\">");
+            sb.append("<table class=\"table table-hover\">");
             for (int i = 0; i < info.size(); i++) {
                 sb.append("<tr><th>").
                         append(ResourceLoader.GetResource(session, "items.nodeid")).
@@ -1595,7 +1995,23 @@ public class UddiHub {
             GetRegisteredInfo r = new GetRegisteredInfo();
             r.setAuthInfo(GetToken());
             r.setInfoSelection(InfoSelection.ALL);
-            RegisteredInfo registeredInfo = publish.getRegisteredInfo(r);
+            RegisteredInfo registeredInfo = null;
+            try {
+                registeredInfo = publish.getRegisteredInfo(r);
+            } catch (Exception ex) {
+                if (ex instanceof DispositionReportFaultMessage) {
+                    DispositionReportFaultMessage f = (DispositionReportFaultMessage) ex;
+                    if (f.getFaultInfo().countainsErrorCode(DispositionReport.E_AUTH_TOKEN_EXPIRED)) {
+                        token = null;
+                        r.setAuthInfo(GetToken());
+                        registeredInfo = publish.getRegisteredInfo(r);
+                    }
+                } else {
+                    throw ex;
+                }
+            }
+
+
             return registeredInfo;
         } catch (Exception ex) {
             HandleException(ex);
@@ -1614,7 +2030,20 @@ public class UddiHub {
     }
     //publisher assertion, relationship between two business entities
 
-    public String GetJUDDISubscriptions() {
+    public String GetUDDISubscriptions() {
+
+        return null;
+    }
+
+    /**
+     * @see FindRelatedBusinesses
+     * @return
+     */
+    public String SetPublisherAssertion() {
+        return null;
+    }
+
+    public String TransferCustody() {
         return null;
     }
 }

Modified: juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/hub/builders/Builders.java
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/hub/builders/Builders.java?rev=1467689&r1=1467688&r2=1467689&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/hub/builders/Builders.java (original)
+++ juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/hub/builders/Builders.java Sat Apr 13 20:03:41 2013
@@ -485,8 +485,8 @@ public class Builders {
                 String index = filteredkey.substring(0, match.start());
                 if (!processedIndexes.contains(index)) {
                     BindingTemplate pn = new BindingTemplate();
-
-                    String[] t = (String[]) map.get(prefix + index + PostBackConstants.BINDINGKEY);
+//bindingTemplate0Value
+                    String[] t = (String[]) map.get(prefix + index + PostBackConstants.VALUE);
                     if (t != null && t.length > 0) {
                         pn.setBindingKey(t[0]);
                     }

Modified: juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/resources/web.properties
URL: http://svn.apache.org/viewvc/juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/resources/web.properties?rev=1467689&r1=1467688&r2=1467689&view=diff
==============================================================================
--- juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/resources/web.properties (original)
+++ juddi/branches/juddi-3.2.x/juddi-gui/src/java/org/apache/juddi/webconsole/resources/web.properties Sat Apr 13 20:03:41 2013
@@ -240,3 +240,6 @@ items.signatures.invalid=Signature is in
 items.signatures.valid=Digital Signature is valid.
 items.unknown=Error, unable to identify which type of object you wanted.
 items.service.add=Add a Service
+items.publisherassertion.add=Add a Business Relationship (Publisher Assertion)
+actions.saved=Saved!
+items.details=Details



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