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/03/25 03:37:01 UTC

svn commit: r1460511 [6/7] - in /juddi/trunk: juddi-core-openjpa/src/test/resources/ juddi-core/src/main/java/org/apache/juddi/config/ juddi-core/src/main/java/org/apache/juddi/mapping/ juddi-core/src/main/java/org/apache/juddi/model/ juddi-core/src/ma...

Added: juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_131_NegativePublicationIntegrationTest.java
URL: http://svn.apache.org/viewvc/juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_131_NegativePublicationIntegrationTest.java?rev=1460511&view=auto
==============================================================================
--- juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_131_NegativePublicationIntegrationTest.java (added)
+++ juddi/trunk/uddi-tck/src/test/java/org/apache/juddi/v3/tck/UDDI_131_NegativePublicationIntegrationTest.java Mon Mar 25 02:37:00 2013
@@ -0,0 +1,2614 @@
+/*
+ * Copyright 2001-2009 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.tck;
+
+import java.util.List;
+import java.util.UUID;
+import javax.xml.soap.SOAPFault;
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.juddi.api_v3.AccessPointType;
+import org.apache.juddi.v3.client.config.UDDIClerkManager;
+import org.apache.juddi.v3.client.transport.Transport;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.uddi.api_v3.AccessPoint;
+import org.uddi.api_v3.Address;
+import org.uddi.api_v3.AddressLine;
+import org.uddi.api_v3.BindingTemplate;
+import org.uddi.api_v3.BindingTemplates;
+import org.uddi.api_v3.BusinessDetail;
+import org.uddi.api_v3.BusinessEntity;
+import org.uddi.api_v3.BusinessInfos;
+import org.uddi.api_v3.BusinessService;
+import org.uddi.api_v3.BusinessServices;
+import org.uddi.api_v3.CategoryBag;
+import org.uddi.api_v3.Contact;
+import org.uddi.api_v3.Contacts;
+import org.uddi.api_v3.DeleteBusiness;
+import org.uddi.api_v3.DeleteTModel;
+import org.uddi.api_v3.Description;
+import org.uddi.api_v3.DiscoveryURL;
+import org.uddi.api_v3.DiscoveryURLs;
+import org.uddi.api_v3.Email;
+import org.uddi.api_v3.GetBusinessDetail;
+import org.uddi.api_v3.GetServiceDetail;
+import org.uddi.api_v3.HostingRedirector;
+import org.uddi.api_v3.KeyedReference;
+import org.uddi.api_v3.Name;
+import org.uddi.api_v3.PersonName;
+import org.uddi.api_v3.Phone;
+import org.uddi.api_v3.SaveBusiness;
+import org.uddi.api_v3.SaveTModel;
+import org.uddi.api_v3.ServiceDetail;
+import org.uddi.api_v3.ServiceInfos;
+import org.uddi.api_v3.TModel;
+import org.uddi.api_v3.TModelDetail;
+import org.uddi.v3_service.UDDIInquiryPortType;
+import org.uddi.v3_service.UDDIPublicationPortType;
+import org.uddi.v3_service.UDDISecurityPortType;
+
+/**
+ * The Negative Publication tests validates adherence to UDDI's string
+ * validations, max lengths, null values (and more) by sending bogus requests to
+ * a Publication endpoint. Tests that succeed or return stack traces are
+ * actually failing test cases
+ *
+ * This is incomplete. items left to test: all service related entries,
+ * including binding templates business/contact/useType business/contact/address
+ * amd addressLine business/catgag, ident bag
+ *
+ * @author Alex O'Ree
+ */
+public class UDDI_131_NegativePublicationIntegrationTest {
+
+    private static Log logger = LogFactory.getLog(UDDI_131_NegativePublicationIntegrationTest.class);
+    static UDDISecurityPortType security = null;
+    static UDDIInquiryPortType inquiry = null;
+    static UDDIPublicationPortType publication = null;
+    protected static String authInfoJoe = null;
+    protected static String authInfoSam = null;
+    private static UDDIClerkManager manager;
+    static final String str256 = "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111";
+    static final String str255 = "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111";
+    static final String strkey256 = "uddi:11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111";
+    static final String strkey256_1 = "uddi:org.apache:omething.something.something.something.something.something.something.something.something.something.something.something.something.something.something.something.something.something.something.something.something.something.something.somethi.com";
+    static final String str26 = "11111111111111111111111111";
+    static final String str27 = "111111111111111111111111110";
+    static final String str10 = "0123456789";
+    static final String str11 = "01234567890";
+    static final String str80 = "01234567890123456789012345678901234567890123456789012345678901234567890123456789";
+    static final String str81 = "012345678901234567890123456789012345678901234567890123456789012345678901234567891";
+    static final String TRANS = "The transaction has been rolled back";
+    static final String str4096 = "123456700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012345670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
 00000000000000000000000000000000000000000000000000000000000000000000123456700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012345670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012345670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012345670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000XXXXXXXX";
+    static final String str4097 = "123456700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012345670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
 00000000000000000000000000000000000000000000000000000000000000000000123456700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012345670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012345670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123456700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012345670000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000XXXXXXXXZ";
+    static final String str51 = "111111111111111111111111111111111111111111111111111";
+    static final String str50 = "11111111111111111111111111111111111111111111111111";
+    static final String MISSING_RESOURCE = "Can't find resource for bundle";
+
+    @After
+    public void stopManager() throws ConfigurationException {
+        manager.stop();
+    }
+
+    @Before
+    public void startManager() throws ConfigurationException {
+        manager = new UDDIClerkManager();
+        manager.start();
+
+        logger.debug("Getting auth tokens..");
+        try {
+            Transport transport = manager.getTransport();
+            security = transport.getUDDISecurityService();
+            authInfoJoe = TckSecurity.getAuthToken(security, TckPublisher.getJoePublisherId(), TckPublisher.getJoePassword());
+            authInfoSam = TckSecurity.getAuthToken(security, TckPublisher.getSamPublisherId(), TckPublisher.getSamPassword());
+            Assert.assertNotNull(authInfoJoe);
+            Assert.assertNotNull(authInfoSam);
+
+            publication = transport.getUDDIPublishService();
+            inquiry = transport.getUDDIInquiryService();
+
+
+        } catch (Exception e) {
+            logger.error(e.getMessage(), e);
+            Assert.fail("Could not obtain authInfo token.");
+        }
+    }
+
+    static void HandleException(Exception ex) {
+        System.err.println("Error caught of type " + ex.getClass().getCanonicalName());
+        ex.printStackTrace();
+        Assert.assertFalse(ex.getMessage().contains(TRANS));
+        Assert.assertFalse(ex.getMessage().contains(MISSING_RESOURCE));
+        if (ex instanceof SOAPFault) {
+            SOAPFault sf = (SOAPFault) ex;
+            if (!sf.getTextContent().contains("org.apache.juddi.v3.error.ValueNotAllowedException")) {
+                Assert.fail();
+            }
+        }
+    }
+
+    //<editor-fold defaultstate="collapsed" desc="Business Name tests">
+    @Test
+    public void BusinessNameSanityTest() {
+        System.out.println("BusinessNameSanityTest");
+    }
+
+    @Test
+    public void BusinessKeyTooLongTest() {
+        System.out.println("BusinessKeyTooLongTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("Hello Nurse");
+        be.getName().add(n);
+        be.setBusinessKey(strkey256_1);
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+        } catch (Exception ex) {
+            HandleException(ex);
+        }
+    }
+
+    @Test
+    public void BusinessNameTooShortTest() {
+        System.out.println("BusinessNameTooShortTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("");
+        be.getName().add(n);
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+        } catch (Exception ex) {
+            HandleException(ex);
+        }
+    }
+
+    @Test
+    public void BusinessNameMinLengthTest() {
+        System.out.println("BusinessNameMinLengthTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("1");
+        be.getName().add(n);
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            Assert.fail();
+        }
+    }
+
+    @Test
+    public void BusinessNameTooLongTest() {
+        System.out.println("BusinessNameTooLongTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        //256 chars
+        n.setValue(str256);
+        be.getName().add(n);
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+        }
+
+    }
+
+    @Test
+    public void BusinessNameMaxLengthTest() {
+        System.out.println("BusinessNameMaxLengthTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        //255 chars
+        n.setValue(str255);
+        be.getName().add(n);
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            //Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            Assert.fail();
+        }
+
+    }
+
+    @Test
+    public void BusinessNameLangTooLongTest() {
+        System.out.println("BusinessNameLangTooLongTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+
+        n.setValue("A Test business");
+        //27
+        n.setLang(str27);
+        be.getName().add(n);
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+        }
+
+    }
+
+    @Test
+    public void BusinessNameLangMaxLengthTest() {
+        System.out.println("BusinessNameLangMaxLengthTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+
+        n.setValue("A Test business");
+        n.setLang(str26);
+
+        be.getName().add(n);
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            //Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            Assert.fail();
+        }
+
+    }
+    //</editor-fold>
+
+    //<editor-fold defaultstate="collapsed" desc="business description tests">
+    @Test
+    public void BusinessDescriptionLangTooLongTest() {
+        System.out.println("BusinessDescriptionLangTooLongTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+
+        n.setValue("A Test business");
+        Description d = new Description();
+        d.setValue("a description");
+        //27
+        d.setLang(str27);
+        be.getName().add(n);
+        be.getDescription().add(d);
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+        }
+
+    }
+
+    @Test
+    public void BusinessDescriptionLangMaxLengthTest() {
+        System.out.println("BusinessDescriptionLangMaxLengthTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+
+        n.setValue("A Test business");
+        Description d = new Description();
+        d.setValue("a description");
+        //26
+        d.setLang(str26);
+        be.getDescription().add(d);
+        be.getName().add(n);
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            //Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            Assert.fail();
+        }
+
+    }
+
+    @Test
+    public void BusinessDescriptionMaxLengthTest() {
+        System.out.println("BusinessDescriptionMaxLengthTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+
+        n.setValue("A Test business");
+        Description d = new Description();
+        d.setValue(str255);
+        be.getDescription().add(d);
+        be.getName().add(n);
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            //Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            Assert.fail();
+        }
+
+    }
+
+    @Test
+    public void BusinessDescriptionTooLongLengthTest() {
+        System.out.println("BusinessDescriptionTooLongLengthTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+
+        n.setValue("A Test business");
+        Description d = new Description();
+        d.setValue(str256);
+        be.getDescription().add(d);
+        be.getName().add(n);
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+
+    }
+    //</editor-fold>
+
+    //<editor-fold defaultstate="collapsed" desc="discovery url tests">
+    @Test
+    public void BusinessDiscoveryURLTooLongTest() {
+        System.out.println("BusinessDiscoveryURLTooLongTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setDiscoveryURLs(new DiscoveryURLs());
+        DiscoveryURL d = new DiscoveryURL();
+        d.setValue(str4097);
+        be.getDiscoveryURLs().getDiscoveryURL().add(d);
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+
+    }
+
+    @Test
+    public void BusinessDiscoveryURLMaxLengthTest() {
+        System.out.println("BusinessDiscoveryURLMaxLengthTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setDiscoveryURLs(new DiscoveryURLs());
+        DiscoveryURL d = new DiscoveryURL();
+        d.setValue(str4096);
+        be.getDiscoveryURLs().getDiscoveryURL().add(d);
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            //Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            Assert.fail();
+        }
+    }
+
+    @Test
+    public void BusinessDiscoveryURLMaxLengthMaxUseTypeTest() {
+        System.out.println("BusinessDiscoveryURLMaxLengthMaxUseTypeTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setDiscoveryURLs(new DiscoveryURLs());
+        DiscoveryURL d = new DiscoveryURL();
+        d.setValue(str4096);
+        d.setUseType(str255);
+        be.getDiscoveryURLs().getDiscoveryURL().add(d);
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            //Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            Assert.fail();
+        }
+    }
+
+    @Test
+    public void BusinessDiscoveryURLMaxLengthToolongUseTypeTest() {
+        System.out.println("BusinessDiscoveryURLMaxLengthToolongUseTypeTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setDiscoveryURLs(new DiscoveryURLs());
+        DiscoveryURL d = new DiscoveryURL();
+        d.setValue(str4096);
+        d.setUseType(str256);
+        be.getDiscoveryURLs().getDiscoveryURL().add(d);
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+    //</editor-fold>
+
+    //<editor-fold defaultstate="collapsed" desc="Business Contacts tests">
+    @Test
+    public void ContactMaxEmailMaxUseTypeTest() {
+        System.out.println("ContactMaxEmailMaxUseTypeTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+
+
+        be.setContacts(ContactMaxEmailMaxUseType());
+
+
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            //Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            Assert.fail();
+        }
+    }
+
+    private Contacts ContactMaxEmailMaxUseType() {
+        Contacts cc = new Contacts();
+        Contact c = new Contact();
+        PersonName n = new PersonName();
+        n.setValue("Bob");
+        c.getPersonName().add(n);
+        Email m = new Email();
+        m.setValue(str255);
+        m.setUseType(str255);
+        c.getEmail().add(m);
+        cc.getContact().add(c);;
+        return cc;
+    }
+
+    private Contacts ContactTooLongEmailMaxUseType() {
+        Contacts cc = new Contacts();
+        Contact c = new Contact();
+        PersonName n = new PersonName();
+        n.setValue("Bob");
+        c.getPersonName().add(n);
+        Email m = new Email();
+        m.setValue(str256);
+        m.setUseType(str255);
+        c.getEmail().add(m);
+        cc.getContact().add(c);;
+        return cc;
+    }
+
+    private Contacts ContactEmailUseTypeToolong() {
+        Contacts cc = new Contacts();
+        Contact c = new Contact();
+        PersonName n = new PersonName();
+        n.setValue("Bob");
+        c.getPersonName().add(n);
+        Email m = new Email();
+        m.setValue(str255);
+        m.setUseType(str256);
+        c.getEmail().add(m);
+        cc.getContact().add(c);;
+        return cc;
+    }
+
+    private Contacts ContactMaxDescription() {
+        Contacts cc = new Contacts();
+        Contact c = new Contact();
+        PersonName n = new PersonName();
+        n.setValue("Bob");
+        c.getPersonName().add(n);
+        Email m = new Email();
+        m.setValue(str255);
+        m.setUseType(str255);
+        c.getEmail().add(m);
+        Description d = new Description();
+        d.setLang(str26);
+        d.setValue(str255);
+        c.getDescription().add(d);
+        cc.getContact().add(c);;
+        return cc;
+    }
+
+    private Contacts ContactDescriptionTooLong() {
+        Contacts cc = new Contacts();
+        Contact c = new Contact();
+        PersonName n = new PersonName();
+        n.setValue("Bob");
+        c.getPersonName().add(n);
+        Email m = new Email();
+        m.setValue(str255);
+        m.setUseType(str255);
+        c.getEmail().add(m);
+        Description d = new Description();
+        d.setLang(str256);
+        d.setValue(str26);
+        c.getDescription().add(d);
+        cc.getContact().add(c);;
+        return cc;
+    }
+
+    private Contacts ContactPhoneTooLong() {
+        Contacts cc = new Contacts();
+        Contact c = new Contact();
+        PersonName n = new PersonName();
+        n.setValue("Bob");
+        c.getPersonName().add(n);
+        Phone p = new Phone();
+        p.setValue(str51);
+        c.getPhone().add(p);
+        cc.getContact().add(c);;
+        return cc;
+    }
+
+    private Contacts ContactPhoneUseTypeTooLong() {
+        Contacts cc = new Contacts();
+        Contact c = new Contact();
+        PersonName n = new PersonName();
+        n.setValue("Bob");
+        c.getPersonName().add(n);
+        Phone p = new Phone();
+        p.setValue(str50);
+        p.setUseType(str256);
+        c.getPhone().add(p);
+        cc.getContact().add(c);;
+        return cc;
+    }
+
+    private Contacts ContactPhoneUseTypeMaxLen() {
+        Contacts cc = new Contacts();
+        Contact c = new Contact();
+        PersonName n = new PersonName();
+        n.setValue("Bob");
+        c.getPersonName().add(n);
+        Phone p = new Phone();
+        p.setValue(str50);
+        p.setUseType(str255);
+        c.getPhone().add(p);
+        cc.getContact().add(c);;
+        return cc;
+    }
+
+    private Contacts ContactPhoneMaxLength() {
+        Contacts cc = new Contacts();
+        Contact c = new Contact();
+        PersonName n = new PersonName();
+        n.setValue("Bob");
+        c.getPersonName().add(n);
+        Phone p = new Phone();
+        p.setValue(str50);
+        c.getPhone().add(p);
+        cc.getContact().add(c);;
+        return cc;
+    }
+
+    private Contacts ContactAddressAllMax(boolean oversizedLang, boolean oversizedTmodel, boolean oversizedSortCode, boolean oversizedUseType,
+            boolean oversizedAddressLineValue, boolean oversizedAddressKN, boolean oversizedAddressKV) {
+        Contacts cc = new Contacts();
+        Contact c = new Contact();
+        PersonName n = new PersonName();
+        n.setValue("Bob");
+        c.getPersonName().add(n);
+
+        cc.getContact().add(c);
+        Address a = new Address();
+        if (oversizedSortCode) {
+            a.setSortCode(str11);
+        } else {
+            a.setSortCode(str10);
+        }
+        if (oversizedLang) {
+            a.setLang(str27);
+        } else {
+            a.setLang(str26);
+        }
+        if (oversizedTmodel) {
+            a.setTModelKey(str256);
+        } else {
+            a.setTModelKey(str255);
+        }
+        if (oversizedUseType) {
+            a.setUseType(str256);
+        } else {
+            a.setUseType(str255);
+        }
+        if (oversizedSortCode) {
+            a.setSortCode(str11);
+        } else {
+            a.setSortCode(str10);
+        }
+        AddressLine al = new AddressLine();
+        if (oversizedAddressKN) {
+            al.setKeyName(str256); //optional
+        } else {
+            al.setKeyName(str255); //optional
+        }
+        if (oversizedAddressKV) {
+            al.setKeyValue(str256); //optional
+        } else {
+            al.setKeyValue(str255); //optional
+        }
+        if (oversizedAddressLineValue) {
+            al.setValue(str81); //this one is required
+        } else {
+            al.setValue(str80);
+        }
+        a.getAddressLine().add(al);
+        c.getAddress().add(a);
+        return cc;
+    }
+
+    private Contacts ContactDescriptionLangTooLong() {
+        Contacts cc = new Contacts();
+        Contact c = new Contact();
+        PersonName n = new PersonName();
+        n.setValue("Bob");
+        c.getPersonName().add(n);
+        Email m = new Email();
+        m.setValue(str255);
+        m.setUseType(str255);
+        c.getEmail().add(m);
+        Description d = new Description();
+        d.setLang(str255);
+        d.setValue(str27);
+        c.getDescription().add(d);
+        cc.getContact().add(c);
+        return cc;
+    }
+
+    @Test
+    public void ContactTooLongEmailMaxUseTypeTest() {
+        System.out.println("ContactTooLongEmailMaxUseTypeTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setContacts(ContactTooLongEmailMaxUseType());
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+
+    @Test
+    public void ContactMaxEmailToolongUseTypeTest() {
+        System.out.println("ContactMaxEmailToolongUseTypeTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+
+        be.setContacts(ContactEmailUseTypeToolong());
+
+
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+
+    @Test
+    public void ContactDescriptionMaxLangMaxtest() {
+        System.out.println("ContactDescriptionMaxLangMaxtest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setContacts(ContactMaxDescription());
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            //Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            Assert.fail();
+        }
+    }
+
+    @Test
+    public void ContactDescriptionTooLongtest() {
+        System.out.println("ContactDescriptionTooLongtest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setContacts(ContactDescriptionTooLong());
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+
+    @Test
+    public void ContactDescriptionLangTooLongTest() {
+        System.out.println("ContactDescriptionLangTooLongTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setContacts(ContactDescriptionLangTooLong());
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+
+    @Test
+    public void ContactPhoneMaxLentest() {
+        System.out.println("ContactPhoneMaxLentest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setContacts(ContactPhoneMaxLength());
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            //Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            Assert.fail();
+        }
+    }
+
+    @Test
+    public void ContactPhoneTooLongtest() {
+        System.out.println("ContactPhoneTooLongtest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setContacts(ContactPhoneTooLong());
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+
+    @Test
+    public void ContactPhoneMaxLongtest() {
+        System.out.println("ContactPhoneMaxLongtest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setContacts(ContactPhoneMaxLength());
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            //Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            Assert.fail();
+        }
+    }
+
+    @Test
+    public void ContactPhoneMaxLongMaxUseTypetest() {
+        System.out.println("ContactPhoneMaxLongMaxUseTypetest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setContacts(ContactPhoneUseTypeMaxLen());
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            //Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            Assert.fail();
+        }
+    }
+
+    @Test
+    public void ContactPhoneUseTypeTooLongtest() {
+        System.out.println("ContactPhoneUseTypeTooLongtest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setContacts(ContactPhoneUseTypeTooLong());
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+
+    @Test
+    public void ContactMaxAddressFFFFFFFtest() {
+        System.out.println("ContactMaxAddressFFFFFFFtest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setContacts(ContactAddressAllMax(false, false, false, false, false, false, false));
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            //Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            Assert.fail();
+        }
+    }
+
+    @Test
+    public void ContactMaxAddressTFFFFFFtest() {
+        System.out.println("ContactMaxAddressTFFFFFFtest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setContacts(ContactAddressAllMax(true, false, false, false, false, false, false));
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+
+    @Test
+    public void ContactMaxAddressFTFFFFFtest() {
+        System.out.println("ContactMaxAddressFTFFFFFtest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setContacts(ContactAddressAllMax(false, true, false, false, false, false, false));
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+
+    @Test
+    public void ContactMaxAddressFFTFFFFtest() {
+        System.out.println("ContactMaxAddressFFTFFFFtest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setContacts(ContactAddressAllMax(false, false, true, false, false, false, false));
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+
+    @Test
+    public void ContactMaxAddressFFFTFFFtest() {
+        System.out.println("ContactMaxAddressFFFTFFFtest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setContacts(ContactAddressAllMax(false, false, false, true, false, false, false));
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+
+    @Test
+    public void ContactMaxAddressFFFFTFFtest() {
+        System.out.println("ContactMaxAddressFFFFTFFtest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setContacts(ContactAddressAllMax(false, false, false, false, true, false, false));
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+
+    @Test
+    public void ContactMaxAddressFFFFFTFtest() {
+        System.out.println("ContactMaxAddressFFFFFTFtest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setContacts(ContactAddressAllMax(false, false, false, false, false, true, false));
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+
+    @Test
+    public void ContactMaxAddressFFFFFFTtest() {
+        System.out.println("ContactMaxAddressFFFFFFTtest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setContacts(ContactAddressAllMax(false, false, false, false, false, false, true));
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+
+    //</editor-fold>
+    //<editor-fold defaultstate="collapsed" desc="Business key reference tests">
+    @Test
+    public void KeyReferenceMax() {
+        System.out.println("KeyReferenceMax");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setCategoryBag(new CategoryBag());
+        KeyedReference kr = new KeyedReference();
+        kr.setKeyName(str255);
+        kr.setKeyValue(str255);
+        kr.setTModelKey(str255);
+        be.getCategoryBag().getKeyedReference().add(kr);
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            //Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            Assert.fail();
+        }
+    }
+
+    @Test
+    public void KeyReferenceKeyTooLong() {
+        System.out.println("KeyReferenceKeyTooLong");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setCategoryBag(new CategoryBag());
+        KeyedReference kr = new KeyedReference();
+        kr.setKeyName(str255);
+        kr.setKeyValue(str255);
+        kr.setTModelKey(str256);
+        be.getCategoryBag().getKeyedReference().add(kr);
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+
+    @Test
+    public void KeyReferenceNameTooLong() {
+        System.out.println("KeyReferenceNameTooLong");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setCategoryBag(new CategoryBag());
+        KeyedReference kr = new KeyedReference();
+        kr.setKeyName(str256);
+        kr.setKeyValue(str255);
+        kr.setTModelKey(str255);
+        be.getCategoryBag().getKeyedReference().add(kr);
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+
+    @Test
+    public void KeyReferenceValueTooLong() {
+        System.out.println("KeyReferenceValueTooLong");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setCategoryBag(new CategoryBag());
+        KeyedReference kr = new KeyedReference();
+        kr.setKeyName(str255);
+        kr.setKeyValue(str256);
+        kr.setTModelKey(str255);
+        be.getCategoryBag().getKeyedReference().add(kr);
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+    //</editor-fold>
+
+    //<editor-fold defaultstate="collapsed" desc="basic Service tests">
+    @Test
+    public void ServiceNameTooLongTest() {
+        System.out.println("ServiceNameTooLongTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setBusinessServices(new BusinessServices());
+        BusinessService bs = new BusinessService();
+        n = new Name();
+        n.setValue(str256);
+        bs.getName().add(n);
+        be.getBusinessServices().getBusinessService().add(bs);
+
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+
+    @Test
+    public void ServiceNameMaxLenTest() {
+        System.out.println("ServiceNameMaxLenTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setBusinessServices(new BusinessServices());
+        BusinessService bs = new BusinessService();
+        n = new Name();
+        n.setValue(str255);
+        bs.getName().add(n);
+        be.getBusinessServices().getBusinessService().add(bs);
+
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            //Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            Assert.fail();
+        }
+    }
+
+    @Test
+    public void ServiceNameMaxLangLenTest() {
+        System.out.println("ServiceNameMaxLangLenTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setBusinessServices(new BusinessServices());
+        BusinessService bs = new BusinessService();
+        n = new Name();
+        n.setValue(str255);
+        n.setLang(str26);
+        bs.getName().add(n);
+        be.getBusinessServices().getBusinessService().add(bs);
+
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            //Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            Assert.fail();
+        }
+    }
+
+    @Test
+    public void ServiceNameTooLongLangTest() {
+        System.out.println("ServiceNameTooLongLangTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setBusinessServices(new BusinessServices());
+        BusinessService bs = new BusinessService();
+        n = new Name();
+        n.setValue(str255);
+        n.setLang(str27);
+        bs.getName().add(n);
+        be.getBusinessServices().getBusinessService().add(bs);
+
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+
+    @Test
+    public void ServiceDescTooLongTest() {
+        System.out.println("ServiceDescTooLongTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setBusinessServices(new BusinessServices());
+        BusinessService bs = new BusinessService();
+        Description d = new Description();
+        d.setValue(str256);
+        bs.getDescription().add(d);
+        n = new Name();
+        n.setValue(str255);
+        bs.getName().add(n);
+        be.getBusinessServices().getBusinessService().add(bs);
+
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+
+    @Test
+    public void ServiceDescLangTooLongTest() {
+        System.out.println("ServiceDescLangTooLongTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setBusinessServices(new BusinessServices());
+        BusinessService bs = new BusinessService();
+        Description d = new Description();
+        d.setValue(str255);
+        d.setLang(str27);
+        bs.getDescription().add(d);
+        n = new Name();
+        n.setValue(str255);
+        bs.getName().add(n);
+        be.getBusinessServices().getBusinessService().add(bs);
+
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+
+    @Test
+    public void ServiceDescMaxLangTest() {
+        System.out.println("ServiceDescMaxLangTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setBusinessServices(new BusinessServices());
+        BusinessService bs = new BusinessService();
+        Description d = new Description();
+        d.setValue(str255);
+        d.setLang(str26);
+        bs.getDescription().add(d);
+        n = new Name();
+        n.setValue(str255);
+        bs.getName().add(n);
+        be.getBusinessServices().getBusinessService().add(bs);
+
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            //Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            Assert.fail();
+        }
+    }
+
+    @Test
+    public void ServiceMaxCatBagTest() {
+        System.out.println("ServiceDescMaxLangTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setBusinessServices(new BusinessServices());
+        BusinessService bs = new BusinessService();
+        Description d = new Description();
+        d.setValue(str255);
+        d.setLang(str26);
+        bs.getDescription().add(d);
+        n = new Name();
+        n.setValue(str255);
+        bs.getName().add(n);
+        bs.setCategoryBag(new CategoryBag());
+        KeyedReference kr = new KeyedReference();
+        kr.setKeyName(str255);
+        kr.setKeyValue(str255);
+        kr.setTModelKey(str255);
+        bs.getCategoryBag().getKeyedReference().add(kr);
+        be.getBusinessServices().getBusinessService().add(bs);
+
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            //Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            Assert.fail();
+        }
+    }
+
+    @Test
+    public void ServiceMaxCatBagTooBigTest() {
+        System.out.println("ServiceMaxCatBagTooBigTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setBusinessServices(new BusinessServices());
+        BusinessService bs = new BusinessService();
+        Description d = new Description();
+        d.setValue(str255);
+        d.setLang(str26);
+        bs.getDescription().add(d);
+        n = new Name();
+        n.setValue(str255);
+        bs.getName().add(n);
+        bs.setCategoryBag(new CategoryBag());
+        KeyedReference kr = new KeyedReference();
+        kr.setKeyName(str256);
+        kr.setKeyValue(str256);
+        kr.setTModelKey(str256);
+        bs.getCategoryBag().getKeyedReference().add(kr);
+        be.getBusinessServices().getBusinessService().add(bs);
+
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+    //</editor-fold>
+
+    //<editor-fold defaultstate="collapsed" desc="Binding Template tests">
+    @Test
+    public void BindingTemplateNoAccessPointTest() {
+        System.out.println("BindingTemplateNoAccessPointTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setBusinessServices(new BusinessServices());
+        BusinessService bs = new BusinessService();
+
+
+        n = new Name();
+        n.setValue(str255);
+        bs.getName().add(n);
+        BindingTemplate bt = new BindingTemplate();
+        bs.setBindingTemplates(new BindingTemplates());
+        bs.getBindingTemplates().getBindingTemplate().add(bt);
+
+        be.getBusinessServices().getBusinessService().add(bs);
+
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+
+    @Test
+    public void BindingTemplateAccessPointMaxUseTypeTest() {
+        System.out.println("BindingTemplateAccessPointMaxUseTypeTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setBusinessServices(new BusinessServices());
+        BusinessService bs = new BusinessService();
+
+
+        n = new Name();
+        n.setValue(str255);
+        bs.getName().add(n);
+        BindingTemplate bt = new BindingTemplate();
+        bs.setBindingTemplates(new BindingTemplates());
+        AccessPoint ap = new AccessPoint();
+        ap.setUseType(str255);
+        ap.setValue("http://localhost");
+        bt.setAccessPoint(ap);
+        bs.getBindingTemplates().getBindingTemplate().add(bt);
+
+        be.getBusinessServices().getBusinessService().add(bs);
+
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            //    Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            Assert.fail();
+        }
+    }
+
+    @Test
+    public void BindingTemplateAccessPointUseTypeTooLongTest() {
+        System.out.println("BindingTemplateAccessPointUseTypeTooLongTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setBusinessServices(new BusinessServices());
+        BusinessService bs = new BusinessService();
+
+
+        n = new Name();
+        n.setValue(str255);
+        bs.getName().add(n);
+        BindingTemplate bt = new BindingTemplate();
+        bs.setBindingTemplates(new BindingTemplates());
+        AccessPoint ap = new AccessPoint();
+        ap.setUseType(str256);
+        ap.setValue("http://localhost");
+        bt.setAccessPoint(ap);
+        bs.getBindingTemplates().getBindingTemplate().add(bt);
+
+        be.getBusinessServices().getBusinessService().add(bs);
+
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+
+    @Test
+    public void BindingTemplateAccessPointValueTooLongTest() {
+        System.out.println("BindingTemplateAccessPointValueTooLongTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setBusinessServices(new BusinessServices());
+        BusinessService bs = new BusinessService();
+
+
+        n = new Name();
+        n.setValue(str255);
+        bs.getName().add(n);
+        BindingTemplate bt = new BindingTemplate();
+        bs.setBindingTemplates(new BindingTemplates());
+        AccessPoint ap = new AccessPoint();
+        ap.setUseType(str255);
+        ap.setValue(str4097);
+        bt.setAccessPoint(ap);
+        bs.getBindingTemplates().getBindingTemplate().add(bt);
+
+        be.getBusinessServices().getBusinessService().add(bs);
+
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+
+    @Test
+    public void BindingTemplateAccessPointMaxValueTest() {
+        System.out.println("BindingTemplateAccessPointMaxValueTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setBusinessServices(new BusinessServices());
+        BusinessService bs = new BusinessService();
+
+
+        n = new Name();
+        n.setValue(str255);
+        bs.getName().add(n);
+        BindingTemplate bt = new BindingTemplate();
+        bs.setBindingTemplates(new BindingTemplates());
+        AccessPoint ap = new AccessPoint();
+        ap.setUseType(str255);
+        ap.setValue(str4096);
+        bt.setAccessPoint(ap);
+        bs.getBindingTemplates().getBindingTemplate().add(bt);
+
+        be.getBusinessServices().getBusinessService().add(bs);
+
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            //Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            Assert.fail();
+        }
+    }
+
+    @Test
+    public void BindingTemplateNoAccessPointNoRedirectorTest() {
+        System.out.println("BindingTemplateNoAccessPointNoRedirectorTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setBusinessServices(new BusinessServices());
+        BusinessService bs = new BusinessService();
+
+
+        n = new Name();
+        n.setValue(str255);
+        bs.getName().add(n);
+        BindingTemplate bt = new BindingTemplate();
+        bs.setBindingTemplates(new BindingTemplates());
+
+        bs.getBindingTemplates().getBindingTemplate().add(bt);
+
+        be.getBusinessServices().getBusinessService().add(bs);
+
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+
+    @Test
+    public void BindingTemplateAccessPointAndRedirectorTest() {
+        System.out.println("BindingTemplateAccessPointAndRedirectorTest");
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setBusinessServices(new BusinessServices());
+        BusinessService bs = new BusinessService();
+
+
+        n = new Name();
+        n.setValue(str255);
+        bs.getName().add(n);
+        BindingTemplate bt = new BindingTemplate();
+        bs.setBindingTemplates(new BindingTemplates());
+        bt.setAccessPoint(new AccessPoint());
+        bt.getAccessPoint().setUseType(str26);
+
+        bt.setHostingRedirector(new HostingRedirector());
+
+        bt.getHostingRedirector().setBindingKey(str26);
+        bs.getBindingTemplates().getBindingTemplate().add(bt);
+
+        be.getBusinessServices().getBusinessService().add(bs);
+
+        sb.getBusinessEntity().add(be);
+        try {
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            //Assert.fail();
+        }
+    }
+
+    @Test
+    public void BindingTemplateHostRedirectorReferencalIntegritytest() {
+        System.out.println("BindingTemplateHostRedirectorReferencalIntegritytest");
+        //TODO create a binding template, get the key, use the key as the specific redirector
+        String url = "http://juddi.apache.org";
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setBusinessServices(new BusinessServices());
+        BusinessService bs = new BusinessService();
+
+
+        n = new Name();
+        n.setValue("A first business service");
+        bs.getName().add(n);
+        BindingTemplate bt = new BindingTemplate();
+        bs.setBindingTemplates(new BindingTemplates());
+        bt.setAccessPoint(new AccessPoint());
+        bt.getAccessPoint().setValue(url);
+
+        //bt.setHostingRedirector(new HostingRedirector());
+        //bt.getHostingRedirector().setBindingKey(str255);
+        bs.getBindingTemplates().getBindingTemplate().add(bt);
+
+        be.getBusinessServices().getBusinessService().add(bs);
+
+        sb.getBusinessEntity().add(be);
+        try {
+            System.out.println("Saving the business with the first service");
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+
+            PrintBusinessDetails(saveBusiness.getBusinessEntity());
+
+            //setup the next one
+            bs = new BusinessService();
+            n = new Name();
+            n.setValue("A a redirected business service");
+            bt = new BindingTemplate();
+            bt.setHostingRedirector(new HostingRedirector());
+            bt.getHostingRedirector().setBindingKey(saveBusiness.getBusinessEntity().get(0).getBusinessServices().getBusinessService().get(0).getBindingTemplates().getBindingTemplate().get(0).getBindingKey());
+            bs.getName().add(n);
+            bs.setBindingTemplates(new BindingTemplates());
+            bs.getBindingTemplates().getBindingTemplate().add(bt);
+            saveBusiness.getBusinessEntity().get(0).getBusinessServices().getBusinessService().add(bs);
+
+            sb = new SaveBusiness();
+            sb.setAuthInfo(authInfoJoe);
+            sb.getBusinessEntity().add(saveBusiness.getBusinessEntity().get(0));
+
+            //This SHOULD be allowed
+            System.out.println("Saving the business with the first and second service as a host redirect");
+            saveBusiness = publication.saveBusiness(sb);
+            PrintBusinessDetails(saveBusiness.getBusinessEntity());
+
+            DeleteBusiness db = new DeleteBusiness();
+            db.setAuthInfo(authInfoJoe);
+            db.getBusinessKey().add(saveBusiness.getBusinessEntity().get(0).getBusinessKey());
+            publication.deleteBusiness(db);
+            //    Assert.fail("request should have been rejected");
+
+        } catch (Exception ex) {
+            HandleException(ex);
+            Assert.fail();
+        }
+    }
+
+    @Test
+    public void BindingTemplateAccessPointAsBindingTemplateReferencalIntegritytest() {
+        System.out.println("BindingTemplateAccessPointAsBindingTemplateReferencalIntegritytest");
+        //create a binding template, get the key, use the key as the specific redirector
+        String url = "http://juddi.apache.org";
+        SaveBusiness sb = new SaveBusiness();
+        sb.setAuthInfo(authInfoJoe);
+        BusinessEntity be = new BusinessEntity();
+        Name n = new Name();
+        n.setValue("A Test business");
+        be.getName().add(n);
+        be.setBusinessServices(new BusinessServices());
+        BusinessService bs = new BusinessService();
+
+
+        n = new Name();
+        n.setValue("A first business service");
+        bs.getName().add(n);
+        BindingTemplate bt = new BindingTemplate();
+        bs.setBindingTemplates(new BindingTemplates());
+        bt.setAccessPoint(new AccessPoint());
+        bt.getAccessPoint().setValue(url);
+
+        //bt.setHostingRedirector(new HostingRedirector());
+        //bt.getHostingRedirector().setBindingKey(str255);
+        bs.getBindingTemplates().getBindingTemplate().add(bt);
+
+        be.getBusinessServices().getBusinessService().add(bs);
+
+        sb.getBusinessEntity().add(be);
+        try {
+            System.out.println("Saving the business with the first service");
+            BusinessDetail saveBusiness = publication.saveBusiness(sb);
+

[... 534 lines stripped ...]


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