JUDDI-956 fixed
diff --git a/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java b/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
index 2111ecf..6ec27f1 100644
--- a/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
+++ b/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
@@ -1955,6 +1955,7 @@
                                                 if (modelTModel == null) {

                                                         checked = false;

                                                 } else {

+                                                     if (modelTModel.getCategoryBag()!=null)

                                                         for (org.apache.juddi.model.KeyedReference ref : modelTModel.getCategoryBag().getKeyedReferences()) {

                                                                 if ("uddi-org:types:unchecked".equalsIgnoreCase(ref.getKeyName())) {

                                                                         checked = false;

diff --git a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_020_TmodelTest.java b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_020_TmodelTest.java
index 84af602..da65e4b 100644
--- a/juddi-core/src/test/java/org/apache/juddi/api/impl/API_020_TmodelTest.java
+++ b/juddi-core/src/test/java/org/apache/juddi/api/impl/API_020_TmodelTest.java
@@ -27,6 +27,10 @@
 import org.junit.Assert;

 import org.junit.BeforeClass;

 import org.junit.Test;

+import org.uddi.api_v3.CategoryBag;

+import org.uddi.api_v3.KeyedReference;

+import org.uddi.api_v3.Name;

+import org.uddi.api_v3.TModel;

 import org.uddi.api_v3.TModelDetail;

 import org.uddi.api_v3.TModelInfo;

 import org.uddi.api_v3.TModelList;

@@ -97,4 +101,25 @@
 		tckTModel.deleteSamSyndicatorTmodel(authInfoSam);

 	}	

 	

+     

+     @Test

+     public void testJUDDI956Test(){

+          tckTModel.saveJoePublisherTmodel(authInfoJoe, true);

+          TModel one = new TModel();

+          one.setTModelKey("uddi:uddi.joepublisher.com:juddi956");

+          one.setName(new Name("JUDDI-956 Test case", "EN"));

+          

+          tckTModel.saveTModel(authInfoJoe, one, false);

+          TModel two = new TModel();

+          two.setTModelKey("uddi:uddi.joepublisher.com:juddi956-2");

+          two.setName(new Name("JUDDI-956 Test case", "EN"));

+          two.setCategoryBag(new CategoryBag());

+          two.getCategoryBag().getKeyedReference().add(new KeyedReference("uddi:uddi.joepublisher.com:juddi956", "juddi956", "a value"));

+          tckTModel.saveTModel(authInfoJoe, one, false);

+          

+          tckTModel.deleteTModel(authInfoJoe, null, "uddi:uddi.joepublisher.com:juddi956-2");

+          tckTModel.deleteTModel(authInfoJoe, null, "uddi:uddi.joepublisher.com:juddi956");

+          tckTModel.deleteJoePublisherTmodel(authInfoJoe);

+          

+     }

 }

diff --git a/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckTModel.java b/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckTModel.java
index a689cf0..b338eaf 100644
--- a/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckTModel.java
+++ b/uddi-tck-base/src/main/java/org/apache/juddi/v3/tck/TckTModel.java
@@ -105,7 +105,7 @@
                 }
         }
 
-        private TModel saveTModel(String authInfo, TModel tmIn, boolean force) {
+        public TModel saveTModel(String authInfo, TModel tmIn, boolean force) {
                 boolean exists = false;
                 GetTModelDetail gt1 = new GetTModelDetail();
                 gt1.getTModelKey().add(tmIn.getTModelKey());