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 2017/11/11 17:29:49 UTC

[2/2] juddi git commit: JUDDI-987 no commit message

JUDDI-987 no commit message


Project: http://git-wip-us.apache.org/repos/asf/juddi/repo
Commit: http://git-wip-us.apache.org/repos/asf/juddi/commit/248b39c7
Tree: http://git-wip-us.apache.org/repos/asf/juddi/tree/248b39c7
Diff: http://git-wip-us.apache.org/repos/asf/juddi/diff/248b39c7

Branch: refs/heads/master
Commit: 248b39c73e0c7809c42a9accd35f354869f11666
Parents: 4541dee
Author: Alex O'Ree <al...@apache.org>
Authored: Sat Nov 11 12:29:48 2017 -0500
Committer: Alex O'Ree <al...@apache.org>
Committed: Sat Nov 11 12:29:48 2017 -0500

----------------------------------------------------------------------
 .../v3/client/cli/UddiDigitalSignatureFile.java |   3 +-
 .../juddi/v3/client/cryptor/XmlUtils.java       | 139 ++++
 .../juddi/v3/client/mapping/wadl/WADL2UDDI.java |   9 +-
 .../transport/wrapper/RequestHandler.java       |   4 +
 .../transport/wrapper/UDDIInquiryService.java   |   8 +-
 .../java/org/apache/juddi/config/Install.java   |  30 +-
 .../apache/juddi/mapping/MappingModelToApi.java |  11 +-
 .../org/apache/juddi/config/InstallTest.java    |   3 +-
 .../juddi/samples/UddiDigitalSignatureFile.java |   3 +-
 .../apache/juddi/gui/dsig/XmlSigApplet2.java    |   9 +-
 .../juddi/gui/dsig/XmlSignatureApplet.java      |  10 +-
 .../juddi/webconsole/hub/UDDIRequestsAsXML.java |  88 ++-
 .../apache/juddi/webconsole/hub/UddiHub.java    |  25 +-
 .../src/main/webapp/ajax/abortTransferToken.jsp |  20 +-
 juddi-gui/src/main/webapp/ajax/advanced.jsp     |  13 +-
 juddi-gui/src/main/webapp/ajax/getCert.jsp      |   8 +-
 juddi-gui/src/main/webapp/ajax/saveFromXML.jsp  |  11 +-
 juddi-gui/src/main/webapp/ajax/search.jsp       |   4 +-
 .../adminconsole/hub/JUDDIRequestsAsXML.java    |  15 +-
 .../juddi/adminconsole/hub/UddiAdminHub.java    |  15 +-
 .../adminconsole/hub/JUDDIRequestsAsXML.java    |  19 +-
 .../juddi/adminconsole/hub/UddiAdminHub.java    |  12 +-
 .../apache/juddi/v3/migration/tool/Import.java  |   7 +-
 .../org/apache/juddi/v3/tck/TckSigningUtil.java |   8 +-
 .../v3/tck/UDDI_160_RESTIntergrationTest.java   |   9 +-
 .../uddi/repl_v3/ReplicationConfiguration.java  | 726 +++++++++----------
 26 files changed, 721 insertions(+), 488 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/juddi-client-cli/src/main/java/org/apache/juddi/v3/client/cli/UddiDigitalSignatureFile.java
----------------------------------------------------------------------
diff --git a/juddi-client-cli/src/main/java/org/apache/juddi/v3/client/cli/UddiDigitalSignatureFile.java b/juddi-client-cli/src/main/java/org/apache/juddi/v3/client/cli/UddiDigitalSignatureFile.java
index 3803a46..90ab911 100644
--- a/juddi-client-cli/src/main/java/org/apache/juddi/v3/client/cli/UddiDigitalSignatureFile.java
+++ b/juddi-client-cli/src/main/java/org/apache/juddi/v3/client/cli/UddiDigitalSignatureFile.java
@@ -22,6 +22,7 @@ import java.util.concurrent.atomic.AtomicReference;
 import javax.xml.bind.JAXB;
 
 import org.apache.juddi.v3.client.cryptor.DigSigUtil;
+import org.apache.juddi.v3.client.cryptor.XmlUtils;
 import org.uddi.api_v3.*;
 
 /**
@@ -97,7 +98,7 @@ public class UddiDigitalSignatureFile {
                                         expectedType = TModel.class;
                                         break;
                         }
-                        Object be = JAXB.unmarshal(fis, expectedType);
+                        Object be = XmlUtils.unmarshal(fis, expectedType);
                         fis.close();
                         fis = null;
                         

http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/juddi-client/src/main/java/org/apache/juddi/v3/client/cryptor/XmlUtils.java
----------------------------------------------------------------------
diff --git a/juddi-client/src/main/java/org/apache/juddi/v3/client/cryptor/XmlUtils.java b/juddi-client/src/main/java/org/apache/juddi/v3/client/cryptor/XmlUtils.java
new file mode 100644
index 0000000..38cd501
--- /dev/null
+++ b/juddi-client/src/main/java/org/apache/juddi/v3/client/cryptor/XmlUtils.java
@@ -0,0 +1,139 @@
+/*
+ * Copyright 2017 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.juddi.v3.client.cryptor;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Reader;
+import java.net.URL;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.parsers.SAXParserFactory;
+import javax.xml.transform.Source;
+import javax.xml.transform.sax.SAXSource;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.xml.sax.InputSource;
+
+/**
+ *
+ * @since 3.3.5
+ * @author Alex O'Ree
+ */
+public class XmlUtils {
+
+        private static final Log log = LogFactory.getLog(XmlUtils.class);
+
+        public static Object unmarshal(Reader reader, Class...clazz) {
+
+                try {
+                        SAXParserFactory spf = SAXParserFactory.newInstance();
+                        spf.setFeature("http://xml.org/sax/features/external-general-entities", false);
+                        spf.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
+                        spf.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
+                        spf.setNamespaceAware(true);
+
+                        Source xmlSource = new SAXSource(spf.newSAXParser().getXMLReader(), new InputSource(reader));
+                        JAXBContext jc = JAXBContext.newInstance(clazz);
+                        Unmarshaller um = jc.createUnmarshaller();
+                        return um.unmarshal(xmlSource);
+                } catch (Exception ex) {
+                        log.warn("Failed to unmarshall object. Increase logging to debug for additional information. 1" + ex.getMessage());
+                        log.debug(ex.getMessage(), ex);
+                }
+                return null;
+
+        }
+
+        public static Object unmarshal(InputStream reader, Class clazz) {
+                try {
+                        SAXParserFactory spf = SAXParserFactory.newInstance();
+                        spf.setFeature("http://xml.org/sax/features/external-general-entities", false);
+                        spf.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
+                        spf.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
+                        spf.setNamespaceAware(true);
+                        Source xmlSource = new SAXSource(spf.newSAXParser().getXMLReader(), new InputSource(reader));
+                        JAXBContext jc = JAXBContext.newInstance(clazz);
+                        Unmarshaller um = jc.createUnmarshaller();
+                        return um.unmarshal(xmlSource);
+                } catch (Exception ex) {
+                        log.warn("Failed to unmarshall object. Increase logging to debug for additional information. 2" + ex.getMessage());
+                        log.debug(ex.getMessage(), ex);
+                }
+                return null;
+
+        }
+
+        public static Object unmarshal(Reader reader, String packageName) {
+                try {
+                        SAXParserFactory spf = SAXParserFactory.newInstance();
+                        spf.setFeature("http://xml.org/sax/features/external-general-entities", false);
+                        spf.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
+                        spf.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
+                        spf.setNamespaceAware(true);
+                        Source xmlSource = new SAXSource(spf.newSAXParser().getXMLReader(), new InputSource(reader));
+                        JAXBContext jc = JAXBContext.newInstance(packageName);
+                        
+                        Unmarshaller um = jc.createUnmarshaller();
+                        return ((javax.xml.bind.JAXBElement)um.unmarshal(xmlSource)).getValue();
+                } catch (Exception ex) {
+                        log.warn("Failed to unmarshall object. Increase logging to debug for additional information. 3" + ex.getMessage());
+                        log.debug(ex.getMessage(), ex);
+                }
+                return null;
+
+        }
+
+        public static Object unmarshal(URL url, Class clazz) {
+                InputStream openStream = null;
+                Object obj = null;
+                try {
+                        SAXParserFactory spf = SAXParserFactory.newInstance();
+                        spf.setFeature("http://xml.org/sax/features/external-general-entities", false);
+                        spf.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
+                        spf.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
+                        spf.setNamespaceAware(true);
+                        openStream = url.openStream();
+                        Source xmlSource = new SAXSource(spf.newSAXParser().getXMLReader(), new InputSource(openStream));
+                        JAXBContext jc = JAXBContext.newInstance(clazz);
+                        Unmarshaller um = jc.createUnmarshaller();
+                        obj = um.unmarshal(xmlSource);
+                } catch (Exception ex) {
+                        log.warn("Failed to unmarshall object. Increase logging to debug for additional information. 4" + ex.getMessage());
+                        log.debug(ex.getMessage(), ex);
+                } finally {
+                        if (openStream != null) {
+                                try {
+                                        openStream.close();
+                                } catch (IOException ex) {
+                                        log.debug(ex.getMessage(), ex);
+                                }
+                        }
+                }
+                return obj;
+        }
+
+        public static Object unmarshal(File file, Class clazz)  {
+                try {
+                        return unmarshal(file.toURI().toURL(), clazz);
+                } catch (Exception ex) {
+                        log.warn("Failed to unmarshall object. Increase logging to debug for additional information. 5" + ex.getMessage());
+                        log.debug(ex.getMessage(), ex);
+                }
+                return null;
+        }
+}

http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/wadl/WADL2UDDI.java
----------------------------------------------------------------------
diff --git a/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/wadl/WADL2UDDI.java b/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/wadl/WADL2UDDI.java
index d0c37b6..58d6da3 100644
--- a/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/wadl/WADL2UDDI.java
+++ b/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/wadl/WADL2UDDI.java
@@ -50,6 +50,7 @@ import org.apache.juddi.v3.client.UDDIConstants;
 import org.apache.juddi.v3.client.config.Property;
 import org.apache.juddi.v3.client.config.UDDIClerk;
 import org.apache.juddi.v3.client.config.UDDIKeyConvention;
+import org.apache.juddi.v3.client.cryptor.XmlUtils;
 import org.apache.juddi.v3.client.mapping.Common2UDDI;
 import org.apache.juddi.v3.client.mapping.MockSSLSocketFactory;
 import org.apache.juddi.v3.client.mapping.URLLocalizer;
@@ -408,7 +409,7 @@ public class WADL2UDDI {
      * @return Application instance (WADL FILE)
      */
     public static Application parseWadl(InputStream stream) {
-        Application unmarshal = JAXB.unmarshal(stream, Application.class);
+        Application unmarshal = (Application) XmlUtils.unmarshal(stream, Application.class);
         return unmarshal;
     }
     public static final String PACKAGE = "org.apache.juddi.v3.client.mapping.wadl";
@@ -484,8 +485,8 @@ public class WADL2UDDI {
                 ResponseHandler<String> responseHandler = new BasicResponseHandler();
                 String handleResponse = responseHandler.handleResponse(response1);
                 StringReader sr = new StringReader(handleResponse);
-                unmarshal = JAXB.unmarshal(sr, Application.class);
-                
+                unmarshal = (Application) XmlUtils.unmarshal(sr, Application.class);
+                sr.close();
 
             } finally {
                 httpGet.releaseConnection();
@@ -503,7 +504,7 @@ public class WADL2UDDI {
     }
 
     public static Application parseWadl(File file) throws FileNotFoundException, IOException {
-        Application unmarshal = JAXB.unmarshal(file, Application.class);
+        Application unmarshal = (Application) XmlUtils.unmarshal(file, Application.class);
         return unmarshal;
     }
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/juddi-client/src/main/java/org/apache/juddi/v3/client/transport/wrapper/RequestHandler.java
----------------------------------------------------------------------
diff --git a/juddi-client/src/main/java/org/apache/juddi/v3/client/transport/wrapper/RequestHandler.java b/juddi-client/src/main/java/org/apache/juddi/v3/client/transport/wrapper/RequestHandler.java
index fb6384e..5173112 100644
--- a/juddi-client/src/main/java/org/apache/juddi/v3/client/transport/wrapper/RequestHandler.java
+++ b/juddi-client/src/main/java/org/apache/juddi/v3/client/transport/wrapper/RequestHandler.java
@@ -19,6 +19,7 @@ import java.io.StringWriter;
 import java.lang.reflect.Method;
 import java.rmi.Remote;
 import java.util.List;
+import javax.xml.XMLConstants;
 
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
@@ -115,6 +116,8 @@ public class RequestHandler {
         public static synchronized String getText(Element element) throws TransformerException {
                 if (transFactory == null) {
                         transFactory = TransformerFactory.newInstance();
+                        transFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
+                        transFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");
                 }
                 Transformer trans = transFactory.newTransformer();
                 StringWriter sw = new StringWriter();
@@ -225,6 +228,7 @@ public class RequestHandler {
 
                 try {
                         DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+                        factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
                         factory.setNamespaceAware(true);
                         //factory.setValidating(true);
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/juddi-client/src/main/java/org/apache/juddi/v3/client/transport/wrapper/UDDIInquiryService.java
----------------------------------------------------------------------
diff --git a/juddi-client/src/main/java/org/apache/juddi/v3/client/transport/wrapper/UDDIInquiryService.java b/juddi-client/src/main/java/org/apache/juddi/v3/client/transport/wrapper/UDDIInquiryService.java
index f0cf125..673c849 100644
--- a/juddi-client/src/main/java/org/apache/juddi/v3/client/transport/wrapper/UDDIInquiryService.java
+++ b/juddi-client/src/main/java/org/apache/juddi/v3/client/transport/wrapper/UDDIInquiryService.java
@@ -19,6 +19,7 @@ package org.apache.juddi.v3.client.transport.wrapper;
 import java.io.ByteArrayInputStream;
 import java.io.StringWriter;
 import java.util.HashMap;
+import javax.xml.XMLConstants;
 
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.transform.Transformer;
@@ -117,6 +118,7 @@ public class UDDIInquiryService {
 	public String inquire(UDDIInquiryPortType inquiry, String request) throws Exception {
 	    java.io.InputStream sbis = new ByteArrayInputStream(request.getBytes());
 	    javax.xml.parsers.DocumentBuilderFactory dbf = javax.xml.parsers.DocumentBuilderFactory.newInstance();
+            dbf.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
 	    dbf.setNamespaceAware(true);
 	    dbf.setValidating(false);
 	    DocumentBuilder db = dbf.newDocumentBuilder();
@@ -138,7 +140,11 @@ public class UDDIInquiryService {
 	    Node n = requestHandler.invoke(reqElem);
 
 	    StringWriter sw = new StringWriter();
-            Transformer t = TransformerFactory.newInstance().newTransformer();
+            TransformerFactory factory = TransformerFactory.newInstance();
+            factory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
+            factory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");
+            Transformer t = factory.newTransformer();
+            
 	    t.transform(new DOMSource(n), new StreamResult(sw));
 	    return sw.toString();
 	}

http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/juddi-core/src/main/java/org/apache/juddi/config/Install.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/config/Install.java b/juddi-core/src/main/java/org/apache/juddi/config/Install.java
index f8cfef0..363f26b 100644
--- a/juddi-core/src/main/java/org/apache/juddi/config/Install.java
+++ b/juddi-core/src/main/java/org/apache/juddi/config/Install.java
@@ -32,6 +32,8 @@ import java.util.StringTokenizer;
 import java.util.UUID;
 import java.util.jar.JarEntry;
 import java.util.jar.JarFile;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 import javax.persistence.EntityManager;
 import javax.persistence.EntityTransaction;
@@ -40,6 +42,9 @@ import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBElement;
 import javax.xml.bind.JAXBException;
 import javax.xml.bind.Unmarshaller;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
 import javax.xml.transform.stream.StreamSource;
 
 import org.apache.commons.configuration.Configuration;
@@ -56,6 +61,7 @@ import org.apache.juddi.mapping.MappingModelToApi;
 import org.apache.juddi.model.ReplicationConfiguration;
 import org.apache.juddi.model.UddiEntityPublisher;
 import org.apache.juddi.replication.ReplicationNotifier;
+import org.apache.juddi.v3.client.cryptor.XmlUtils;
 import org.apache.juddi.v3.error.ErrorMessage;
 import org.apache.juddi.v3.error.FatalErrorException;
 import org.apache.juddi.v3.error.InvalidKeyPassedException;
@@ -90,7 +96,7 @@ public class Install {
         public static final String FILE_REPLICATION_CONFIG = "_replicationConfiguration.xml";
         public static final Log log = LogFactory.getLog(Install.class);
 
-        protected static void install(Configuration config) throws JAXBException, DispositionReportFaultMessage, IOException, ConfigurationException {
+        protected static void install(Configuration config) throws JAXBException, DispositionReportFaultMessage, IOException, ConfigurationException, XMLStreamException {
 
                 EntityManager em = PersistenceManager.getEntityManager();
                 EntityTransaction tx = em.getTransaction();
@@ -166,7 +172,11 @@ public class Install {
                         log.error(ie.getMessage(), ie);
                         tx.rollback();
                         throw ie;
-                } finally {
+                } catch (XMLStreamException ex) {
+                        log.error(ex.getMessage(), ex);
+                        tx.rollback();
+                        throw ex;
+            } finally {
                         if (tx.isActive()) {
                                 tx.rollback();
                         }
@@ -650,10 +660,13 @@ public class Install {
                 }
                 log.debug("inserting: " + xml.toString());
                 StringReader reader = new StringReader(xml.toString());
-                return JAXB.unmarshal(reader, outputtype);
+             
+               Object obj= XmlUtils.unmarshal(reader, outputtype);
+               reader.close();
+               return obj;
         }
 
-        private static Object buildInstallEntity(final String fileName, String packageName, Configuration config) throws JAXBException, IOException, ConfigurationException {
+        private static Object buildInstallEntity(final String fileName, String packageName, Configuration config) throws JAXBException, IOException, ConfigurationException, XMLStreamException {
                 InputStream resourceStream = null;
 
                 // First try the custom install directory
@@ -687,9 +700,8 @@ public class Install {
                 log.debug("inserting: " + xml.toString());
                 StringReader reader = new StringReader(xml.toString());
 
-                JAXBContext jc = JAXBContext.newInstance(packageName);
-                Unmarshaller unmarshaller = jc.createUnmarshaller();
-                Object obj = ((JAXBElement<?>) unmarshaller.unmarshal(new StreamSource(reader))).getValue();
+                Object obj= XmlUtils.unmarshal(reader, packageName);
+                reader.close();
                 return obj;
         }
 
@@ -733,7 +745,7 @@ public class Install {
          * @throws ConfigurationException
          */
         public static void installSaveTModel(EntityManager em, String fileName, UddiEntityPublisher publisher, String nodeId, Configuration config)
-                throws JAXBException, DispositionReportFaultMessage, IOException, ConfigurationException {
+                throws JAXBException, DispositionReportFaultMessage, IOException, ConfigurationException, XMLStreamException {
 
                 SaveTModel apiSaveTModel = (SaveTModel) buildInstallEntity(fileName, "org.uddi.api_v3", config);
                 if (apiSaveTModel != null) {
@@ -754,7 +766,7 @@ public class Install {
          * @throws ConfigurationException
          */
         public static UddiEntityPublisher installPublisher(EntityManager em, String fileName, Configuration config)
-                throws JAXBException, DispositionReportFaultMessage, IOException, ConfigurationException {
+                throws JAXBException, DispositionReportFaultMessage, IOException, ConfigurationException, XMLStreamException {
 
                 org.apache.juddi.api_v3.Publisher apiPub = (org.apache.juddi.api_v3.Publisher) buildInstallEntity(fileName, "org.apache.juddi.api_v3", config);
                 if (apiPub == null) {

http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/juddi-core/src/main/java/org/apache/juddi/mapping/MappingModelToApi.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/main/java/org/apache/juddi/mapping/MappingModelToApi.java b/juddi-core/src/main/java/org/apache/juddi/mapping/MappingModelToApi.java
index ef5e3b5..24bb674 100644
--- a/juddi-core/src/main/java/org/apache/juddi/mapping/MappingModelToApi.java
+++ b/juddi-core/src/main/java/org/apache/juddi/mapping/MappingModelToApi.java
@@ -63,6 +63,7 @@ import org.apache.juddi.model.ReplicationConfigurationNode;
 import org.apache.juddi.model.Signature;
 import org.apache.juddi.model.SignatureTransformDataValue;
 import org.apache.juddi.subscription.TypeConvertor;
+import org.apache.juddi.v3.client.cryptor.XmlUtils;
 import org.apache.juddi.v3.error.ErrorMessage;
 import org.apache.juddi.v3.error.FatalErrorException;
 import org.uddi.api_v3.BusinessEntity;
@@ -1205,9 +1206,11 @@ public class MappingModelToApi {
                         transformObject = xformBytes;
                 } else if (type.equals(Element.class.getCanonicalName())) {
                         DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-                        dbf.setNamespaceAware(true);
-                        dbf.setXIncludeAware(true);
-                        try {
+                         try {
+                                dbf.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
+                                dbf.setNamespaceAware(true);
+                                dbf.setXIncludeAware(true);
+
                                 DocumentBuilder db = dbf.newDocumentBuilder();
                                 Document doc = db.parse(new ByteArrayInputStream(xformBytes));
                                 transformObject = doc.getDocumentElement();
@@ -1348,7 +1351,7 @@ public class MappingModelToApi {
                 } catch (UnsupportedEncodingException ex) {
                         Logger.getLogger(MappingModelToApi.class.getName()).log(Level.SEVERE, null, ex);
                 }
-                ret = JAXB.unmarshal(sr, ChangeRecord.class);
+                ret = (ChangeRecord) XmlUtils.unmarshal(sr, ChangeRecord.class);
                 //secret sauce here, if this is -1, that means that the record originated at this node and needs to be populated with the databases record id
                 if (cr.getOriginatingUSN() == null || cr.getOriginatingUSN() == -1L) {
                         ret.setChangeID(new ChangeRecordIDType(cr.getNodeID(), cr.getId()));

http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/juddi-core/src/test/java/org/apache/juddi/config/InstallTest.java
----------------------------------------------------------------------
diff --git a/juddi-core/src/test/java/org/apache/juddi/config/InstallTest.java b/juddi-core/src/test/java/org/apache/juddi/config/InstallTest.java
index 02aa340..33ac1e9 100644
--- a/juddi-core/src/test/java/org/apache/juddi/config/InstallTest.java
+++ b/juddi-core/src/test/java/org/apache/juddi/config/InstallTest.java
@@ -24,6 +24,7 @@ import javax.xml.bind.JAXB;
 import java.io.InputStream;
 import java.io.StringWriter;
 import java.util.Properties;
+import org.apache.juddi.v3.client.cryptor.XmlUtils;
 
 /**
  *
@@ -58,7 +59,7 @@ public class InstallTest {
                 System.out.println("applyReplicationTokenChanges");
                 InputStream fis = getClass().getClassLoader().getResourceAsStream("juddi_install_data/root_replicationConfiguration.xml");
                 
-                ReplicationConfiguration replicationCfg = JAXB.unmarshal(fis, ReplicationConfiguration.class);
+                ReplicationConfiguration replicationCfg = (ReplicationConfiguration) XmlUtils.unmarshal(fis, ReplicationConfiguration.class);
                 Properties props = new Properties();
                 props.put(Property.JUDDI_NODE_ID, "uddi:a_custom_node");
                 props.put(Property.JUDDI_BASE_URL, "http://juddi.apache.org");

http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/UddiDigitalSignatureFile.java
----------------------------------------------------------------------
diff --git a/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/UddiDigitalSignatureFile.java b/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/UddiDigitalSignatureFile.java
index 265ab1c..1908a21 100644
--- a/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/UddiDigitalSignatureFile.java
+++ b/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/UddiDigitalSignatureFile.java
@@ -23,6 +23,7 @@ import javax.xml.bind.JAXB;
 
 import org.apache.juddi.v3.client.config.UDDIClient;
 import org.apache.juddi.v3.client.cryptor.DigSigUtil;
+import org.apache.juddi.v3.client.cryptor.XmlUtils;
 import org.uddi.api_v3.*;
 
 /**
@@ -96,7 +97,7 @@ public class UddiDigitalSignatureFile {
                                         expectedType = TModel.class;
                                         break;
                         }
-                        Object be = JAXB.unmarshal(fis, expectedType);
+                        Object be = XmlUtils.unmarshal(fis, expectedType);
                         fis.close();
                         fis = null;
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/juddi-gui-dsig/src/main/java/org/apache/juddi/gui/dsig/XmlSigApplet2.java
----------------------------------------------------------------------
diff --git a/juddi-gui-dsig/src/main/java/org/apache/juddi/gui/dsig/XmlSigApplet2.java b/juddi-gui-dsig/src/main/java/org/apache/juddi/gui/dsig/XmlSigApplet2.java
index cab4817..be6980d 100644
--- a/juddi-gui-dsig/src/main/java/org/apache/juddi/gui/dsig/XmlSigApplet2.java
+++ b/juddi-gui-dsig/src/main/java/org/apache/juddi/gui/dsig/XmlSigApplet2.java
@@ -32,6 +32,7 @@ import javax.swing.JOptionPane;
 import javax.xml.bind.JAXB;
 import netscape.javascript.JSObject;
 import org.apache.juddi.v3.client.cryptor.DigSigUtil;
+import org.apache.juddi.v3.client.cryptor.XmlUtils;
 import org.uddi.api_v3.BindingTemplate;
 import org.uddi.api_v3.BusinessEntity;
 import org.uddi.api_v3.BusinessService;
@@ -490,28 +491,28 @@ public class XmlSigApplet2 extends java.applet.Applet {
        if (objecttype.equalsIgnoreCase("business")) {
           try {
              StringReader sr = new StringReader(xml.trim());
-             j = (BusinessEntity) JAXB.unmarshal(sr, BusinessEntity.class);
+             j = (BusinessEntity) XmlUtils.unmarshal(sr, BusinessEntity.class);
           } catch (Exception ex) {
           }
        }
        if (objecttype.equalsIgnoreCase("service")) {
           try {
              StringReader sr = new StringReader(xml.trim());
-             j = (BusinessService) JAXB.unmarshal(sr, BusinessService.class);
+             j = (BusinessService) XmlUtils.unmarshal(sr, BusinessService.class);
           } catch (Exception ex) {
           }
        }
        if (objecttype.equalsIgnoreCase("bindingTemplate")) {
           try {
              StringReader sr = new StringReader(xml.trim());
-             j = (BindingTemplate) JAXB.unmarshal(sr, BindingTemplate.class);
+             j = (BindingTemplate) XmlUtils.unmarshal(sr, BindingTemplate.class);
           } catch (Exception ex) {
           }
        }
        if (objecttype.equalsIgnoreCase("tmodel")) {
           try {
              StringReader sr = new StringReader(xml.trim());
-             j = (TModel) JAXB.unmarshal(sr, TModel.class);
+             j = (TModel) XmlUtils.unmarshal(sr, TModel.class);
           } catch (Exception ex) {
           }
        }

http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/juddi-gui-dsig/src/main/java/org/apache/juddi/gui/dsig/XmlSignatureApplet.java
----------------------------------------------------------------------
diff --git a/juddi-gui-dsig/src/main/java/org/apache/juddi/gui/dsig/XmlSignatureApplet.java b/juddi-gui-dsig/src/main/java/org/apache/juddi/gui/dsig/XmlSignatureApplet.java
index f374e6f..a0fd99e 100644
--- a/juddi-gui-dsig/src/main/java/org/apache/juddi/gui/dsig/XmlSignatureApplet.java
+++ b/juddi-gui-dsig/src/main/java/org/apache/juddi/gui/dsig/XmlSignatureApplet.java
@@ -58,6 +58,7 @@ import netscape.javascript.JSObject;
 //import netscape.javascript.JSObject;
 
 import org.apache.juddi.v3.client.cryptor.DigSigUtil;
+import org.apache.juddi.v3.client.cryptor.XmlUtils;
 import org.uddi.api_v3.BindingTemplate;
 import org.uddi.api_v3.BusinessEntity;
 import org.uddi.api_v3.BusinessService;
@@ -127,6 +128,7 @@ public class XmlSignatureApplet extends java.applet.Applet {
     private static Document stringToDom(String xmlSource)
             throws SAXException, ParserConfigurationException, IOException {
         DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+        factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
         DocumentBuilder builder = factory.newDocumentBuilder();
         return builder.parse(new InputSource(new StringReader(xmlSource)));
     }
@@ -341,25 +343,25 @@ public class XmlSignatureApplet extends java.applet.Applet {
         StringReader sr = new StringReader(xml);
         if (objecttype.equalsIgnoreCase("business")) {
             try {
-                j = (BusinessEntity) JAXB.unmarshal(sr, BusinessEntity.class);
+                j = (BusinessEntity) XmlUtils.unmarshal(sr, BusinessEntity.class);
             } catch (Exception ex) {
             }
         }
         if (objecttype.equalsIgnoreCase("service")) {
             try {
-                j = (BusinessService) JAXB.unmarshal(sr, BusinessService.class);
+                j = (BusinessService) XmlUtils.unmarshal(sr, BusinessService.class);
             } catch (Exception ex) {
             }
         }
         if (objecttype.equalsIgnoreCase("binding")) {
             try {
-                j = (BindingTemplate) JAXB.unmarshal(sr, BindingTemplate.class);
+                j = (BindingTemplate) XmlUtils.unmarshal(sr, BindingTemplate.class);
             } catch (Exception ex) {
             }
         }
         if (objecttype.equalsIgnoreCase("tmodel")) {
             try {
-                j = (TModel) JAXB.unmarshal(sr, TModel.class);
+                j = (TModel) XmlUtils.unmarshal(sr, TModel.class);
             } catch (Exception ex) {
             }
         }

http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/juddi-gui/src/main/java/org/apache/juddi/webconsole/hub/UDDIRequestsAsXML.java
----------------------------------------------------------------------
diff --git a/juddi-gui/src/main/java/org/apache/juddi/webconsole/hub/UDDIRequestsAsXML.java b/juddi-gui/src/main/java/org/apache/juddi/webconsole/hub/UDDIRequestsAsXML.java
index 5e46cc6..5301d29 100644
--- a/juddi-gui/src/main/java/org/apache/juddi/webconsole/hub/UDDIRequestsAsXML.java
+++ b/juddi-gui/src/main/java/org/apache/juddi/webconsole/hub/UDDIRequestsAsXML.java
@@ -17,12 +17,16 @@ package org.apache.juddi.webconsole.hub;
 
 import java.io.StringReader;
 import java.io.StringWriter;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.xml.XMLConstants;
 import javax.xml.bind.JAXB;
 import javax.xml.transform.OutputKeys;
 import javax.xml.transform.Transformer;
 import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.stream.StreamResult;
 import javax.xml.transform.stream.StreamSource;
+import org.apache.juddi.v3.client.cryptor.XmlUtils;
 import org.uddi.api_v3.AddPublisherAssertions;
 import org.uddi.api_v3.DeleteBinding;
 import org.uddi.api_v3.DeleteBusiness;
@@ -63,21 +67,25 @@ import org.uddi.sub_v3.SaveSubscription;
  */
 public class UDDIRequestsAsXML {
 
-    private static String PrettyPrintXML(String input) {
+    private static String prettyPrintXML(String input) {
         if (input == null || input.length() == 0) {
             return "";
         }
         try {
-            Transformer transformer = TransformerFactory.newInstance().newTransformer();
+            TransformerFactory transFactory = TransformerFactory.newInstance();
+            transFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
+            transFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");
+            Transformer transformer = transFactory.newTransformer();
+            
             transformer.setOutputProperty(OutputKeys.INDENT, "yes");
             transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
-            //initialize StreamResult with File object to save to file
             StreamResult result = new StreamResult(new StringWriter());
             StreamSource source = new StreamSource(new StringReader(input.trim()));
             transformer.transform(source, result);
             String xmlString = result.getWriter().toString();
             return (xmlString);
         } catch (Exception ex) {
+            Logger.getLogger(UDDIRequestsAsXML.class.getName()).log(Level.WARNING, null, ex);
         }
         return null;
     }
@@ -114,7 +122,7 @@ public class UDDIRequestsAsXML {
         if (method.equalsIgnoreCase("getTModelDetail")) {
             JAXB.marshal(new GetTModelDetail(), sw);
         }
-        return PrettyPrintXML(sw.toString());
+        return prettyPrintXML(sw.toString());
     }
 
     public static String getPublish(String method) {
@@ -161,7 +169,7 @@ public class UDDIRequestsAsXML {
         if (method.equalsIgnoreCase("setPublisherAssertions")) {
             JAXB.marshal(new SetPublisherAssertions(), sw);
         }
-        return PrettyPrintXML(sw.toString());
+        return prettyPrintXML(sw.toString());
     }
 
     public static String getCustody(String method) {
@@ -175,7 +183,7 @@ public class UDDIRequestsAsXML {
         if (method.equalsIgnoreCase("transferEntities")) {
             JAXB.marshal(new TransferEntities(), sw);
         }
-        return PrettyPrintXML(sw.toString());
+        return prettyPrintXML(sw.toString());
     }
 
     public static String getSubscription(String method) {
@@ -192,7 +200,7 @@ public class UDDIRequestsAsXML {
         if (method.equalsIgnoreCase("saveSubscription")) {
             JAXB.marshal(new SaveSubscription(), sw);
         }
-        return PrettyPrintXML(sw.toString());
+        return prettyPrintXML(sw.toString());
     }
     public static final String custody = "custody";
     public static final String inquiry = "inquiry";
@@ -219,34 +227,34 @@ public class UDDIRequestsAsXML {
     private static Object getObjectInquiry(String method, String content) {
         StringReader sr = new StringReader(content);
         if (method.equalsIgnoreCase("findBinding")) {
-            return JAXB.unmarshal(sr, FindBinding.class);
+            return JAXBunmarshal(sr, FindBinding.class);
         }
         if (method.equalsIgnoreCase("findBusiness")) {
-            return JAXB.unmarshal(sr, FindBusiness.class);
+            return JAXBunmarshal(sr, FindBusiness.class);
         }
         if (method.equalsIgnoreCase("findService")) {
-            return JAXB.unmarshal(sr, FindService.class);
+            return JAXBunmarshal(sr, FindService.class);
         }
         if (method.equalsIgnoreCase("findRelatedBusines")) {
-            return JAXB.unmarshal(sr, FindRelatedBusinesses.class);
+            return JAXBunmarshal(sr, FindRelatedBusinesses.class);
         }
         if (method.equalsIgnoreCase("findTModel")) {
-            return JAXB.unmarshal(sr, FindTModel.class);
+            return JAXBunmarshal(sr, FindTModel.class);
         }
         if (method.equalsIgnoreCase("getBindingDetail")) {
-            return JAXB.unmarshal(sr, GetBindingDetail.class);
+            return JAXBunmarshal(sr, GetBindingDetail.class);
         }
         if (method.equalsIgnoreCase("getBusinessDetail")) {
-            return JAXB.unmarshal(sr, GetBusinessDetail.class);
+            return JAXBunmarshal(sr, GetBusinessDetail.class);
         }
         if (method.equalsIgnoreCase("getServiceDetail")) {
-            return JAXB.unmarshal(sr, GetServiceDetail.class);
+            return JAXBunmarshal(sr, GetServiceDetail.class);
         }
         if (method.equalsIgnoreCase("getOperationalInfo")) {
-            return JAXB.unmarshal(sr, GetOperationalInfo.class);
+            return JAXBunmarshal(sr, GetOperationalInfo.class);
         }
         if (method.equalsIgnoreCase("getTModelDetail")) {
-            return JAXB.unmarshal(sr, GetTModelDetail.class);
+            return JAXBunmarshal(sr, GetTModelDetail.class);
         }
         return null;
     }
@@ -254,60 +262,64 @@ public class UDDIRequestsAsXML {
     private static Object getObjectPublish(String method, String content) {
         StringReader sr = new StringReader(content);
         if (method.equalsIgnoreCase("addPublisherAssertions")) {
-            return JAXB.unmarshal(sr, AddPublisherAssertions.class);
+            return JAXBunmarshal(sr, AddPublisherAssertions.class);
         }
         if (method.equalsIgnoreCase("deleteBinding")) {
-            return JAXB.unmarshal(sr, DeleteBinding.class);
+            return JAXBunmarshal(sr, DeleteBinding.class);
         }
         if (method.equalsIgnoreCase("deleteBusiness")) {
-            return JAXB.unmarshal(sr, DeleteBusiness.class);
+            return JAXBunmarshal(sr, DeleteBusiness.class);
         }
         if (method.equalsIgnoreCase("deletePublisherAssertions")) {
-            return JAXB.unmarshal(sr, DeletePublisherAssertions.class);
+            return JAXBunmarshal(sr, DeletePublisherAssertions.class);
         }
         if (method.equalsIgnoreCase("deleteService")) {
-            return JAXB.unmarshal(sr, DeleteService.class);
+            return JAXBunmarshal(sr, DeleteService.class);
         }
         if (method.equalsIgnoreCase("deleteTModel")) {
-            return JAXB.unmarshal(sr, DeleteTModel.class);
+            return JAXBunmarshal(sr, DeleteTModel.class);
         }
         if (method.equalsIgnoreCase("getAssertionStatusReport")) {
-            return JAXB.unmarshal(sr, GetAssertionStatusReport.class);
+            return JAXBunmarshal(sr, GetAssertionStatusReport.class);
         }
         if (method.equalsIgnoreCase("getPublisherAssertions")) {
-            return JAXB.unmarshal(sr, GetPublisherAssertions.class);
+            return JAXBunmarshal(sr, GetPublisherAssertions.class);
         }
         if (method.equalsIgnoreCase("getRegisteredInfo")) {
-            return JAXB.unmarshal(sr, GetRegisteredInfo.class);
+            return JAXBunmarshal(sr, GetRegisteredInfo.class);
         }
         if (method.equalsIgnoreCase("saveBinding")) {
-            return JAXB.unmarshal(sr, SaveBinding.class);
+            return JAXBunmarshal(sr, SaveBinding.class);
         }
         if (method.equalsIgnoreCase("saveBusiness")) {
-            return JAXB.unmarshal(sr, SaveBusiness.class);
+            return JAXBunmarshal(sr, SaveBusiness.class);
         }
         if (method.equalsIgnoreCase("saveTModel")) {
-            return JAXB.unmarshal(sr, SaveTModel.class);
+            return JAXBunmarshal(sr, SaveTModel.class);
         }
         if (method.equalsIgnoreCase("saveService")) {
-            return JAXB.unmarshal(sr, SaveService.class);
+            return JAXBunmarshal(sr, SaveService.class);
         }
         if (method.equalsIgnoreCase("setPublisherAssertions")) {
-            return JAXB.unmarshal(sr, SetPublisherAssertions.class);
+            return JAXBunmarshal(sr, SetPublisherAssertions.class);
         }
         return null;
     }
+    
+    private static Object JAXBunmarshal(StringReader content, Class clazz) {
+        return XmlUtils.unmarshal(content, clazz);
+    }
 
     private static Object getObjectCustody(String method, String content) {
         StringReader sr = new StringReader(content);
         if (method.equalsIgnoreCase("discardTransferToken")) {
-            return JAXB.unmarshal(sr, SetPublisherAssertions.class);
+            return JAXBunmarshal(sr, SetPublisherAssertions.class);
         }
         if (method.equalsIgnoreCase("getTransferToken")) {
-            return JAXB.unmarshal(sr, SetPublisherAssertions.class);
+            return JAXBunmarshal(sr, SetPublisherAssertions.class);
         }
         if (method.equalsIgnoreCase("transferEntities")) {
-            return JAXB.unmarshal(sr, SetPublisherAssertions.class);
+            return JAXBunmarshal(sr, SetPublisherAssertions.class);
         }
         return null;
     }
@@ -315,16 +327,16 @@ public class UDDIRequestsAsXML {
     private static Object getObjectSubscription(String method, String content) {
         StringReader sr = new StringReader(content);
         if (method.equalsIgnoreCase("deleteSubscription")) {
-            return JAXB.unmarshal(sr, DeleteSubscription.class);
+            return JAXBunmarshal(sr, DeleteSubscription.class);
         }
         if (method.equalsIgnoreCase("getSubscriptionResults")) {
-            return JAXB.unmarshal(sr, GetSubscriptionResults.class);
+            return JAXBunmarshal(sr, GetSubscriptionResults.class);
         }
         if (method.equalsIgnoreCase("getSubscriptions")) {
-            return JAXB.unmarshal(sr, GetSubscriptions.class);
+            return JAXBunmarshal(sr, GetSubscriptions.class);
         }
         if (method.equalsIgnoreCase("saveSubscription")) {
-            return JAXB.unmarshal(sr, SaveSubscription.class);
+            return JAXBunmarshal(sr, SaveSubscription.class);
         }
         return null;
     }

http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/juddi-gui/src/main/java/org/apache/juddi/webconsole/hub/UddiHub.java
----------------------------------------------------------------------
diff --git a/juddi-gui/src/main/java/org/apache/juddi/webconsole/hub/UddiHub.java b/juddi-gui/src/main/java/org/apache/juddi/webconsole/hub/UddiHub.java
index c76a7d1..3c62af5 100644
--- a/juddi-gui/src/main/java/org/apache/juddi/webconsole/hub/UddiHub.java
+++ b/juddi-gui/src/main/java/org/apache/juddi/webconsole/hub/UddiHub.java
@@ -56,6 +56,7 @@ import org.apache.juddi.v3.client.UDDIConstants;
 import org.apache.juddi.v3.client.config.ClientConfig;
 import org.apache.juddi.v3.client.config.UDDIClient;
 import org.apache.juddi.v3.client.config.UDDINode;
+import org.apache.juddi.v3.client.cryptor.XmlUtils;
 import org.apache.juddi.v3.client.transport.Transport;
 import org.apache.juddi.webconsole.AES;
 import org.apache.juddi.webconsole.PostBackConstants;
@@ -3186,7 +3187,7 @@ public class UddiHub implements Serializable {
         public String DiscardToken(String tokenxml) {
                 DiscardTransferToken r = new DiscardTransferToken();
                 r.setAuthInfo(GetToken());
-                r.setTransferToken(JAXB.unmarshal(new StringReader(tokenxml), TransferToken.class));
+                r.setTransferToken((TransferToken) XmlUtils.unmarshal(new StringReader(tokenxml), TransferToken.class));
 
                 try {
                         try {
@@ -3220,9 +3221,9 @@ public class UddiHub implements Serializable {
                         TransferEntities te = new TransferEntities();
                         te.setAuthInfo(GetToken());
                         StringReader sr = new StringReader(tokenXML.trim());
-                        te.setTransferToken(JAXB.unmarshal(sr, TransferToken.class));
+                        te.setTransferToken((TransferToken) XmlUtils.unmarshal(sr, TransferToken.class));
                         sr = new StringReader(keyBagXML.trim());
-                        te.setKeyBag(JAXB.unmarshal(sr, org.uddi.custody_v3.KeyBag.class));
+                        te.setKeyBag((org.uddi.custody_v3.KeyBag) XmlUtils.unmarshal(sr, org.uddi.custody_v3.KeyBag.class));
 
                         try {
                                 custody.transferEntities(te);
@@ -3869,13 +3870,14 @@ public class UddiHub implements Serializable {
          * @return duration
          */
         public long GetAutoLogoutDuration() {
-                String val = clientConfig.getConfiguration().getString(PROP_AUTO_LOGOUT_TIMER);
-                if (val == null) {
-                        return 15 * 60 * 1000;
-                }
+                
                 try {
-                        return Long.parseLong(val);
-                } catch (Exception ex) {
+                    String val = clientConfig.getConfiguration().getString(PROP_AUTO_LOGOUT_TIMER);
+                    if (val == null) {
+                            return 15 * 60 * 1000;
+                    }
+                    return Long.parseLong(val);
+                } catch (Throwable ex) {
                         log.warn("unable to parse the value for " + PROP_AUTO_LOGOUT_TIMER + " in uddi.xml, defaulting to 15 minutes", ex);
                 }
                 return 15 * 60 * 1000;
@@ -3889,7 +3891,12 @@ public class UddiHub implements Serializable {
          * @return true/false
          */
         public boolean isAdminLocalhostOnly() {
+            try{
                 return clientConfig.getConfiguration().getBoolean(PROP_ADMIN_LOCALHOST_ONLY, true);
+            }catch (Throwable ex) {
+                log.warn("unable to parse the value for " + PROP_ADMIN_LOCALHOST_ONLY + " in uddi.xml, defaulting to 15 minutes", ex);
+            }
+            return true;
         }
 
         public String SaveBindingTemplate(HttpServletRequest request) {

http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/juddi-gui/src/main/webapp/ajax/abortTransferToken.jsp
----------------------------------------------------------------------
diff --git a/juddi-gui/src/main/webapp/ajax/abortTransferToken.jsp b/juddi-gui/src/main/webapp/ajax/abortTransferToken.jsp
index b29f145..2c03c30 100644
--- a/juddi-gui/src/main/webapp/ajax/abortTransferToken.jsp
+++ b/juddi-gui/src/main/webapp/ajax/abortTransferToken.jsp
@@ -38,15 +38,19 @@
  
 
         UddiHub x = UddiHub.getInstance(application, session);
+        try{
+            String msg = x.DiscardToken(tokenxml);
+            if (msg != null) {
+                if (msg.contains(ResourceLoader.GetResource(session, "errors.generic")))
+                    response.setStatus(406);
+                out.write(msg);
+            } else {
+                out.write(ResourceLoader.GetResource(session, "actions.canceled"));
 
-        String msg = x.DiscardToken(tokenxml);
-        if (msg != null) {
-            if (msg.contains(ResourceLoader.GetResource(session, "errors.generic")))
-                response.setStatus(406);
-            out.write(msg);
-        } else {
-            out.write(ResourceLoader.GetResource(session, "actions.canceled"));
-
+            }
+        } catch (Exception ex) {
+            response.sendError(400);
+            return;
         }
     }
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/juddi-gui/src/main/webapp/ajax/advanced.jsp
----------------------------------------------------------------------
diff --git a/juddi-gui/src/main/webapp/ajax/advanced.jsp b/juddi-gui/src/main/webapp/ajax/advanced.jsp
index d870c55..ffd6e9d 100644
--- a/juddi-gui/src/main/webapp/ajax/advanced.jsp
+++ b/juddi-gui/src/main/webapp/ajax/advanced.jsp
@@ -49,10 +49,15 @@
                 }
             } else if (action.equalsIgnoreCase("senddata")) {
                 Object j=UDDIRequestsAsXML.getObject(service, method, request.getParameter("content"));
-                String msg=(x.SendAdvancedQuery(j, service, method));
-                if (msg.contains(ResourceLoader.GetResource(session, "errors.generic")))
-                        response.setStatus(406);
-                out.write(msg);
+                if (j!=null){
+                    String msg=(x.SendAdvancedQuery(j, service, method));
+                    if (msg.contains(ResourceLoader.GetResource(session, "errors.generic")))
+                            response.setStatus(406);
+                    out.write(msg);
+                } else {
+                    out.write("Unrecognized xml");
+                    response.setStatus(406);
+                }
             }
         }
 

http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/juddi-gui/src/main/webapp/ajax/getCert.jsp
----------------------------------------------------------------------
diff --git a/juddi-gui/src/main/webapp/ajax/getCert.jsp b/juddi-gui/src/main/webapp/ajax/getCert.jsp
index 75f1665..1fc8daf 100644
--- a/juddi-gui/src/main/webapp/ajax/getCert.jsp
+++ b/juddi-gui/src/main/webapp/ajax/getCert.jsp
@@ -29,13 +29,13 @@
 
     UddiHub x = UddiHub.getInstance(application, session);
     String data = null;
-    if (type.equalsIgnoreCase("business")) {
+    if ("business".equalsIgnoreCase(type)) {
         data = (x.GetCertificate(UddiHub.FindType.Business, id, index));
-    } else if (type.equalsIgnoreCase("service")) {
+    } else if ("service".equalsIgnoreCase(type)) {
         data = (x.GetCertificate(UddiHub.FindType.Service, id, index));
-    } else if (type.equalsIgnoreCase("bindingTemplate")) {
+    } else if ("bindingTemplate".equalsIgnoreCase(type)) {
         data = (x.GetCertificate(UddiHub.FindType.BindingTemplate, id, index));
-    } else if (type.equalsIgnoreCase("tModel")) {
+    } else if ("tModel".equalsIgnoreCase(type)) {
         data = (x.GetCertificate(UddiHub.FindType.tModel, id, index));
     }
     if (data != null && !data.startsWith("Error")) {

http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/juddi-gui/src/main/webapp/ajax/saveFromXML.jsp
----------------------------------------------------------------------
diff --git a/juddi-gui/src/main/webapp/ajax/saveFromXML.jsp b/juddi-gui/src/main/webapp/ajax/saveFromXML.jsp
index 9a05eb9..15de229 100644
--- a/juddi-gui/src/main/webapp/ajax/saveFromXML.jsp
+++ b/juddi-gui/src/main/webapp/ajax/saveFromXML.jsp
@@ -17,7 +17,8 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
---%><%@page import="java.util.concurrent.atomic.AtomicReference"%>
+--%><%@page import="org.apache.juddi.v3.client.cryptor.XmlUtils"%>
+<%@page import="java.util.concurrent.atomic.AtomicReference"%>
 <%@page import="java.util.Iterator"%>
 <%@page import="java.util.Set"%>
 <%@page import="java.util.Set"%>
@@ -59,16 +60,16 @@
                 StringReader sr = new StringReader(signedxml);
                 String msg = null;
                 if (type.equalsIgnoreCase("business")) {
-                    BusinessEntity be = (BusinessEntity) JAXB.unmarshal(sr, BusinessEntity.class);
+                    BusinessEntity be = (BusinessEntity) XmlUtils.unmarshal(sr, BusinessEntity.class);
                     msg = (x.SaveBusinessDetails(be));
                 } else if (type.equalsIgnoreCase("service")) {
-                    BusinessService be = (BusinessService) JAXB.unmarshal(sr, BusinessService.class);
+                    BusinessService be = (BusinessService) XmlUtils.unmarshal(sr, BusinessService.class);
                     msg = (x.SaveServiceDetails(be));
                 } else if (type.equalsIgnoreCase("bindingTemplate")) {
-                    BindingTemplate be = (BindingTemplate) JAXB.unmarshal(sr, BindingTemplate.class);
+                    BindingTemplate be = (BindingTemplate) XmlUtils.unmarshal(sr, BindingTemplate.class);
                     msg = (x.SaveBindingTemplate(be));
                 } else if (type.equalsIgnoreCase("tModel")) {
-                    TModel be = (TModel) JAXB.unmarshal(sr, TModel.class);
+                    TModel be = (TModel) XmlUtils.unmarshal(sr, TModel.class);
                     msg = (x.SaveTModel(be));
                 } else {
                     msg = (ResourceLoader.GetResource(session, "errors.unknownentity"));

http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/juddi-gui/src/main/webapp/ajax/search.jsp
----------------------------------------------------------------------
diff --git a/juddi-gui/src/main/webapp/ajax/search.jsp b/juddi-gui/src/main/webapp/ajax/search.jsp
index eed035d..790837a 100644
--- a/juddi-gui/src/main/webapp/ajax/search.jsp
+++ b/juddi-gui/src/main/webapp/ajax/search.jsp
@@ -85,7 +85,7 @@
             ok = false;
         }
         if (!ok) {
-            response.sendRedirect("../index.jsp");
+            response.sendError(400);
         }
 
         UddiHub x = UddiHub.getInstance(application, session);
@@ -94,7 +94,7 @@
                 response.setStatus(406);
         out.write(msg);
     } else {
-        response.sendRedirect("../index.jsp");
+        response.sendError(400);
     }
 
 %>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/juddiv3-war-repl/src/main/java/org/apache/juddi/adminconsole/hub/JUDDIRequestsAsXML.java
----------------------------------------------------------------------
diff --git a/juddiv3-war-repl/src/main/java/org/apache/juddi/adminconsole/hub/JUDDIRequestsAsXML.java b/juddiv3-war-repl/src/main/java/org/apache/juddi/adminconsole/hub/JUDDIRequestsAsXML.java
index acfa03c..3b4083b 100644
--- a/juddiv3-war-repl/src/main/java/org/apache/juddi/adminconsole/hub/JUDDIRequestsAsXML.java
+++ b/juddiv3-war-repl/src/main/java/org/apache/juddi/adminconsole/hub/JUDDIRequestsAsXML.java
@@ -20,6 +20,7 @@ import java.io.StringWriter;
 import java.util.GregorianCalendar;
 import java.util.logging.Level;
 import java.util.logging.Logger;
+import javax.xml.XMLConstants;
 import javax.xml.bind.JAXB;
 import javax.xml.datatype.DatatypeConfigurationException;
 import javax.xml.datatype.DatatypeFactory;
@@ -41,6 +42,7 @@ import org.apache.juddi.api_v3.SyncSubscription;
 import org.apache.juddi.config.AppConfig;
 import org.apache.juddi.config.Property;
 import org.apache.juddi.v3.client.UDDIConstants;
+import org.apache.juddi.v3.client.cryptor.XmlUtils;
 import org.uddi.api_v3.BusinessEntity;
 import org.uddi.api_v3.Contact;
 import org.uddi.api_v3.FindBusiness;
@@ -70,7 +72,10 @@ public class JUDDIRequestsAsXML {
                         return "";
                 }
                 try {
-                        Transformer transformer = TransformerFactory.newInstance().newTransformer();
+                        TransformerFactory transFactory = TransformerFactory.newInstance();
+                        transFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
+                        transFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");
+                        Transformer transformer = transFactory.newTransformer();
                         transformer.setOutputProperty(OutputKeys.INDENT, "yes");
                         transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
                         //initialize StreamResult with File object to save to file
@@ -182,17 +187,17 @@ public class JUDDIRequestsAsXML {
                 StringReader sr = new StringReader(content);
 
                 if (method.equalsIgnoreCase("save_ClientSubscriptionInfo")) {
-                        return JAXB.unmarshal(sr, SaveClientSubscriptionInfo.class);
+                        return XmlUtils.unmarshal(sr, SaveClientSubscriptionInfo.class);
                 }
                 if (method.equalsIgnoreCase("invoke_SyncSubscription")) {
-                        return JAXB.unmarshal(sr, SyncSubscription.class);
+                        return XmlUtils.unmarshal(sr, SyncSubscription.class);
                 }
                 if (method.equalsIgnoreCase("admin_SaveBusiness")) {
-                        return JAXB.unmarshal(sr, AdminSaveBusiness.class);
+                        return XmlUtils.unmarshal(sr, AdminSaveBusiness.class);
                 }
                 if (method.equalsIgnoreCase("admin_SaveTModel")) {
                         //System.out.println(content);
-                        return JAXB.unmarshal(sr, AdminSaveTModel.class);
+                        return XmlUtils.unmarshal(sr, AdminSaveTModel.class);
                 }
 
                 if (method.equalsIgnoreCase("admin_SaveSubscription")) {

http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/juddiv3-war-repl/src/main/java/org/apache/juddi/adminconsole/hub/UddiAdminHub.java
----------------------------------------------------------------------
diff --git a/juddiv3-war-repl/src/main/java/org/apache/juddi/adminconsole/hub/UddiAdminHub.java b/juddiv3-war-repl/src/main/java/org/apache/juddi/adminconsole/hub/UddiAdminHub.java
index 7edd3a6..0b4180b 100644
--- a/juddiv3-war-repl/src/main/java/org/apache/juddi/adminconsole/hub/UddiAdminHub.java
+++ b/juddiv3-war-repl/src/main/java/org/apache/juddi/adminconsole/hub/UddiAdminHub.java
@@ -34,6 +34,7 @@ import javax.persistence.Query;
 import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
+import javax.xml.XMLConstants;
 import javax.xml.bind.JAXB;
 import javax.xml.datatype.DatatypeConfigurationException;
 import javax.xml.parsers.DocumentBuilder;
@@ -97,6 +98,7 @@ import org.apache.juddi.config.PersistenceManager;
 import org.apache.juddi.config.Property;
 import org.apache.juddi.model.BindingTemplate;
 import org.apache.juddi.subscription.notify.SMTPNotifier;
+import org.apache.juddi.v3.client.cryptor.XmlUtils;
 import org.uddi.api_v3.AuthToken;
 import org.uddi.api_v3.BusinessDetail;
 import org.uddi.api_v3.BusinessEntity;
@@ -973,12 +975,16 @@ public class UddiAdminHub {
          */
         private String PrettyPrintJaxbObject(Object jaxb) throws Exception {
                 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+                dbf.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
                 DocumentBuilder db = dbf.newDocumentBuilder();
                 StringWriter sw = new StringWriter();
                 JAXB.marshal(jaxb, sw);
                 InputSource is = new InputSource(new StringReader(sw.toString()));
 
-                Transformer transformer = TransformerFactory.newInstance().newTransformer();
+                TransformerFactory transFactory = TransformerFactory.newInstance();
+                transFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
+                transFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");
+                Transformer transformer = transFactory.newTransformer();
                 transformer.setOutputProperty(OutputKeys.INDENT, "yes");
                 //initialize StreamResult with File object to save to file
                 StreamResult result = new StreamResult(new StringWriter());
@@ -1200,7 +1206,7 @@ public class UddiAdminHub {
                 SyncSubscriptionDetail d = null;
                 try {
                         StringReader sr = new StringReader(parameters.getParameter("invoke_SyncSubscriptionXML").trim());
-                        sb = (JAXB.unmarshal(sr, SyncSubscription.class));
+                        sb = (SyncSubscription) (XmlUtils.unmarshal(sr, SyncSubscription.class));
                         sb.setAuthInfo(GetToken());
                         d = juddi.invokeSyncSubscription(sb);
                 } catch (Exception ex) {
@@ -1232,7 +1238,10 @@ public class UddiAdminHub {
 
         private static String PrettyPrintXML(String input) {
                 try {
-                        Transformer transformer = TransformerFactory.newInstance().newTransformer();
+                        TransformerFactory transFactory = TransformerFactory.newInstance();
+                        transFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
+                        transFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");
+                        Transformer transformer = transFactory.newTransformer();
                         transformer.setOutputProperty(OutputKeys.INDENT, "yes");
 //initialize StreamResult with File object to save to file
                         StreamResult result = new StreamResult(new StringWriter());

http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/juddiv3-war/src/main/java/org/apache/juddi/adminconsole/hub/JUDDIRequestsAsXML.java
----------------------------------------------------------------------
diff --git a/juddiv3-war/src/main/java/org/apache/juddi/adminconsole/hub/JUDDIRequestsAsXML.java b/juddiv3-war/src/main/java/org/apache/juddi/adminconsole/hub/JUDDIRequestsAsXML.java
index d05565b..e1eeb3e 100644
--- a/juddiv3-war/src/main/java/org/apache/juddi/adminconsole/hub/JUDDIRequestsAsXML.java
+++ b/juddiv3-war/src/main/java/org/apache/juddi/adminconsole/hub/JUDDIRequestsAsXML.java
@@ -20,6 +20,7 @@ import java.io.StringWriter;
 import java.util.GregorianCalendar;
 import java.util.logging.Level;
 import java.util.logging.Logger;
+import javax.xml.XMLConstants;
 import javax.xml.bind.JAXB;
 import javax.xml.datatype.DatatypeConfigurationException;
 import javax.xml.datatype.DatatypeFactory;
@@ -41,6 +42,7 @@ import org.apache.juddi.api_v3.SyncSubscription;
 import org.apache.juddi.config.AppConfig;
 import org.apache.juddi.config.Property;
 import org.apache.juddi.v3.client.UDDIConstants;
+import org.apache.juddi.v3.client.cryptor.XmlUtils;
 import org.uddi.api_v3.BusinessEntity;
 import org.uddi.api_v3.Contact;
 import org.uddi.api_v3.FindBusiness;
@@ -70,7 +72,10 @@ public class JUDDIRequestsAsXML {
                         return "";
                 }
                 try {
-                        Transformer transformer = TransformerFactory.newInstance().newTransformer();
+                        TransformerFactory transFactory = TransformerFactory.newInstance();
+                        transFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
+                        transFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");
+                        Transformer transformer = transFactory.newTransformer();
                         transformer.setOutputProperty(OutputKeys.INDENT, "yes");
                         transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
                         //initialize StreamResult with File object to save to file
@@ -182,25 +187,25 @@ public class JUDDIRequestsAsXML {
                 StringReader sr = new StringReader(content);
 
                 if (method.equalsIgnoreCase("save_ClientSubscriptionInfo")) {
-                        return JAXB.unmarshal(sr, SaveClientSubscriptionInfo.class);
+                        return XmlUtils.unmarshal(sr, SaveClientSubscriptionInfo.class);
                 }
                 if (method.equalsIgnoreCase("invoke_SyncSubscription")) {
-                        return JAXB.unmarshal(sr, SyncSubscription.class);
+                        return XmlUtils.unmarshal(sr, SyncSubscription.class);
                 }
                 if (method.equalsIgnoreCase("admin_SaveBusiness")) {
-                        return JAXB.unmarshal(sr, AdminSaveBusiness.class);
+                        return XmlUtils.unmarshal(sr, AdminSaveBusiness.class);
                 }
                 if (method.equalsIgnoreCase("admin_SaveTModel")) {
                         //System.out.println(content);
-                        return JAXB.unmarshal(sr, AdminSaveTModel.class);
+                        return XmlUtils.unmarshal(sr, AdminSaveTModel.class);
                 }
 
                 if (method.equalsIgnoreCase("admin_SaveSubscription")) {
-                        return JAXB.unmarshal(sr, AdminSaveSubscriptionRequest.class);
+                        return XmlUtils.unmarshal(sr, AdminSaveSubscriptionRequest.class);
                 }
 
                 if (method.equalsIgnoreCase("set_ReplicationNodes")) {
-                        return JAXB.unmarshal(sr, ReplicationConfiguration.class);
+                        return XmlUtils.unmarshal(sr, ReplicationConfiguration.class);
                 }
 
                 return null;

http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/juddiv3-war/src/main/java/org/apache/juddi/adminconsole/hub/UddiAdminHub.java
----------------------------------------------------------------------
diff --git a/juddiv3-war/src/main/java/org/apache/juddi/adminconsole/hub/UddiAdminHub.java b/juddiv3-war/src/main/java/org/apache/juddi/adminconsole/hub/UddiAdminHub.java
index 9a578e4..aea74a5 100644
--- a/juddiv3-war/src/main/java/org/apache/juddi/adminconsole/hub/UddiAdminHub.java
+++ b/juddiv3-war/src/main/java/org/apache/juddi/adminconsole/hub/UddiAdminHub.java
@@ -32,6 +32,7 @@ import javax.persistence.Query;
 import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
+import javax.xml.XMLConstants;
 import javax.xml.bind.JAXB;
 import javax.xml.datatype.DatatypeConfigurationException;
 import javax.xml.parsers.DocumentBuilder;
@@ -971,12 +972,16 @@ public class UddiAdminHub {
          */
         private String PrettyPrintJaxbObject(Object jaxb) throws Exception {
                 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+                dbf.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);
                 DocumentBuilder db = dbf.newDocumentBuilder();
                 StringWriter sw = new StringWriter();
                 JAXB.marshal(jaxb, sw);
                 InputSource is = new InputSource(new StringReader(sw.toString()));
 
-                Transformer transformer = TransformerFactory.newInstance().newTransformer();
+                TransformerFactory transFactory = TransformerFactory.newInstance();
+                transFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
+                transFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");
+                Transformer transformer = transFactory.newTransformer();
                 transformer.setOutputProperty(OutputKeys.INDENT, "yes");
                 //initialize StreamResult with File object to save to file
                 StreamResult result = new StreamResult(new StringWriter());
@@ -1230,7 +1235,10 @@ public class UddiAdminHub {
 
         private static String PrettyPrintXML(String input) {
                 try {
-                        Transformer transformer = TransformerFactory.newInstance().newTransformer();
+                        TransformerFactory transFactory = TransformerFactory.newInstance();
+                        transFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
+                        transFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");
+                        Transformer transformer = transFactory.newTransformer(); 
                         transformer.setOutputProperty(OutputKeys.INDENT, "yes");
 //initialize StreamResult with File object to save to file
                         StreamResult result = new StreamResult(new StringWriter());

http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/uddi-migration-tool/src/main/java/org/apache/juddi/v3/migration/tool/Import.java
----------------------------------------------------------------------
diff --git a/uddi-migration-tool/src/main/java/org/apache/juddi/v3/migration/tool/Import.java b/uddi-migration-tool/src/main/java/org/apache/juddi/v3/migration/tool/Import.java
index 718576f..f78a1ac 100644
--- a/uddi-migration-tool/src/main/java/org/apache/juddi/v3/migration/tool/Import.java
+++ b/uddi-migration-tool/src/main/java/org/apache/juddi/v3/migration/tool/Import.java
@@ -28,6 +28,7 @@ import org.apache.juddi.api_v3.SavePublisher;
 import org.apache.juddi.v3.client.config.UDDIClerk;
 import org.apache.juddi.v3.client.config.UDDIClient;
 import org.apache.juddi.v3.client.config.UDDIClientContainer;
+import org.apache.juddi.v3.client.cryptor.XmlUtils;
 import org.apache.juddi.v3.client.transport.Transport;
 import org.apache.juddi.v3_service.JUDDIApiPortType;
 import org.uddi.api_v3.BusinessDetail;
@@ -149,7 +150,7 @@ public class Import {
 
         private void ImportTmodels() throws Exception {
                 
-                SaveTModel stm = JAXB.unmarshal(new File(tmodelfile), SaveTModel.class);
+                SaveTModel stm = (SaveTModel) XmlUtils.unmarshal(new File(tmodelfile), SaveTModel.class);
                 System.out.println();
                 System.out.println("Attempting to save " + stm.getTModel().size() + " tModels");
                 if (stripSig) {
@@ -193,7 +194,7 @@ public class Import {
         }
 
         private void ImportBusiness() throws Exception {
-                SaveBusiness stm = JAXB.unmarshal(new File(businessfile), SaveBusiness.class);
+                SaveBusiness stm = (SaveBusiness) XmlUtils.unmarshal(new File(businessfile), SaveBusiness.class);
                 if (stripSig) {
                         int x=0;
                         for (int i = 0; i < stm.getBusinessEntity().size(); i++) {
@@ -272,7 +273,7 @@ public class Import {
 
         private void ImportPublishers() throws Exception {
 
-                SavePublisher stm = JAXB.unmarshal(new File(publishersfile), SavePublisher.class);
+                SavePublisher stm = (SavePublisher) XmlUtils.unmarshal(new File(publishersfile), SavePublisher.class);
                 if (safemode) {
                         for (int i = 0; i < stm.getPublisher().size(); i++) {
                                 if (!PublisherExists(stm.getPublisher().get(i).getAuthorizedName(), token)) {

http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSigningUtil.java
----------------------------------------------------------------------
diff --git a/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSigningUtil.java b/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSigningUtil.java
index e4a8804..a70d520 100644
--- a/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSigningUtil.java
+++ b/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckSigningUtil.java
@@ -30,6 +30,7 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
+import javax.xml.XMLConstants;
 
 import javax.xml.crypto.dsig.CanonicalizationMethod;
 import javax.xml.crypto.dsig.DigestMethod;
@@ -168,11 +169,14 @@ public class TckSigningUtil {
     
     public static void serializeNode(Node node, String filename) {
         try {
-            Transformer xform = TransformerFactory.newInstance().newTransformer();
+            TransformerFactory transFactory = TransformerFactory.newInstance();
+            transFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
+            transFactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");
+            Transformer transformer = transFactory.newTransformer();
             DOMSource domSrc = new DOMSource(node);
             FileOutputStream fos = new FileOutputStream(filename);
             StreamResult streamResult = new StreamResult(fos);
-            xform.transform(domSrc, streamResult);
+            transformer.transform(domSrc, streamResult);
             fos.close();
         } catch (Exception e) {
             throw new RuntimeException(e);

http://git-wip-us.apache.org/repos/asf/juddi/blob/248b39c7/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_160_RESTIntergrationTest.java
----------------------------------------------------------------------
diff --git a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_160_RESTIntergrationTest.java b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_160_RESTIntergrationTest.java
index 2c01601..7c15263 100644
--- a/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_160_RESTIntergrationTest.java
+++ b/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_160_RESTIntergrationTest.java
@@ -28,6 +28,7 @@ import org.apache.http.client.methods.HttpGet;
 import org.apache.http.impl.client.DefaultHttpClient;
 import org.apache.juddi.v3.client.UDDIConstants;
 import org.apache.juddi.v3.client.config.UDDIClient;
+import org.apache.juddi.v3.client.cryptor.XmlUtils;
 import org.apache.juddi.v3.client.transport.Transport;
 import org.junit.AfterClass;
 import org.junit.Assert;
@@ -126,7 +127,7 @@ public class UDDI_160_RESTIntergrationTest {
 
                 Assert.assertTrue(response.getStatusLine().getStatusCode() == 200);
                 logger.info("Response content: " + response.getEntity().getContent());
-                BusinessEntity unmarshal = JAXB.unmarshal(response.getEntity().getContent(), BusinessEntity.class);
+                BusinessEntity unmarshal = (BusinessEntity) XmlUtils.unmarshal(response.getEntity().getContent(), BusinessEntity.class);
                 client.getConnectionManager().shutdown();
                 Assert.assertNotNull(unmarshal);
                 Assert.assertEquals(unmarshal.getBusinessKey(), findBusiness.getBusinessInfos().getBusinessInfo().get(0).getBusinessKey());
@@ -159,7 +160,7 @@ public class UDDI_160_RESTIntergrationTest {
 
                 Assert.assertTrue(response.getStatusLine().getStatusCode() == 200);
                 logger.info("Response content: " + response.getEntity().getContent());
-                TModel unmarshal = JAXB.unmarshal(response.getEntity().getContent(), TModel.class);
+                TModel unmarshal = (TModel) XmlUtils.unmarshal(response.getEntity().getContent(), TModel.class);
                 client.getConnectionManager().shutdown();
                 Assert.assertNotNull(unmarshal);
                 Assert.assertEquals(unmarshal.getTModelKey(), findTModel.getTModelInfos().getTModelInfo().get(0).getTModelKey());
@@ -193,7 +194,7 @@ public class UDDI_160_RESTIntergrationTest {
 
                 Assert.assertTrue(response.getStatusLine().getStatusCode() == 200);
                 logger.info("Response content: " + response.getEntity().getContent());
-                BusinessService unmarshal = JAXB.unmarshal(response.getEntity().getContent(), BusinessService.class);
+                BusinessService unmarshal = (BusinessService) XmlUtils.unmarshal(response.getEntity().getContent(), BusinessService.class);
                 client.getConnectionManager().shutdown();
                 Assert.assertNotNull(unmarshal);
                 Assert.assertEquals(unmarshal.getServiceKey(), findService.getServiceInfos().getServiceInfo().get(0).getServiceKey());
@@ -261,7 +262,7 @@ public class UDDI_160_RESTIntergrationTest {
 
                 Assert.assertTrue(response.getStatusLine().getStatusCode() == 200);
                 logger.info("Response content: " + response.getEntity().getContent());
-                BindingTemplate unmarshal = JAXB.unmarshal(response.getEntity().getContent(), BindingTemplate.class);
+                BindingTemplate unmarshal = (BindingTemplate) XmlUtils.unmarshal(response.getEntity().getContent(), BindingTemplate.class);
                 client.getConnectionManager().shutdown();
                 Assert.assertNotNull(unmarshal);
                 Assert.assertEquals(unmarshal.getServiceKey(), bt.getServiceKey());


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