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/11/09 18:34:11 UTC

svn commit: r1540346 [1/2] - in /juddi/trunk: juddi-client.net/juddi-client.net-integration.test/ juddi-client.net/juddi-client.net.test/ juddi-client.net/juddi-client.net.test/resources/ juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.map...

Author: alexoree
Date: Sat Nov  9 17:34:10 2013
New Revision: 1540346

URL: http://svn.apache.org/r1540346
Log:
JUDDI-701 62 issues fixed
JUDDI-567 adding test cases for wsdl2uddi and bug fixes for both java and .net

Added:
    juddi/trunk/juddi-client.net/juddi-client.net.test/resources/juddi-api-flattened.wsdl
Modified:
    juddi/trunk/juddi-client.net/juddi-client.net-integration.test/InquiryTests.cs
    juddi/trunk/juddi-client.net/juddi-client.net.test/juddi-client.net.test.csproj
    juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.mapping/WSDL2UDDI.cs
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/WebHelper.java
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/cryptor/CryptorFactory.java
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/cryptor/DigSigUtil.java
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/BPEL2UDDI.java
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/UDDIServiceCache.java
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/WADL2UDDI.java
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/WSDL2UDDI.java
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/WSDLLocatorImpl.java
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/subscription/SubscriptionCallbackListener.java
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/transport/RMITransport.java
    juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/transport/wrapper/RequestHandler.java
    juddi/trunk/juddi-client/src/test/java/org/apache/juddi/v3/client/mapping/WADL2UDDITest.java
    juddi/trunk/juddi-client/src/test/java/org/apache/juddi/v3/client/mapping/WSDL2UDDITest.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/InquiryHelper.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/config/Install.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/cryptor/CryptorFactory.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/keygen/KeyGeneratorFactory.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/mapping/MappingApiToModel.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/model/PublisherAssertionId.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/util/KeyedRefGroupTModelComparator.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/query/util/KeyedRefTModelComparator.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/rmi/JNDIRegistration.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/rmi/RMIRegistration.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/notify/JNDI_RMINotifier.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/notify/NotifierFactory.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/notify/SMTPNotifier.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/v3/auth/AuthenticatorFactory.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateInquiry.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidatePublish.java
    juddi/trunk/juddi-core/src/main/java/org/apache/juddi/validation/ValidateUDDIKey.java
    juddi/trunk/juddi-examples/more-uddi-samples/src/main/java/org/apache/juddi/samples/WadlImport.java
    juddi/trunk/juddi-rest-cxf/src/main/java/org/apache/juddi/api/impl/rest/UDDIInquiryJAXRS.java

Modified: juddi/trunk/juddi-client.net/juddi-client.net-integration.test/InquiryTests.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net-integration.test/InquiryTests.cs?rev=1540346&r1=1540345&r2=1540346&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net-integration.test/InquiryTests.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net-integration.test/InquiryTests.cs Sat Nov  9 17:34:10 2013
@@ -53,7 +53,7 @@ namespace juddi_client.net_integration.t
                     Console.Out.WriteLine("Tomcat is running");
                     break;
                 }
-                catch (Exception ex)
+                catch 
                 { }
                 Console.Out.WriteLine("tomcat isn't running yet, waiting...");
                 Thread.Sleep(1000);

Modified: juddi/trunk/juddi-client.net/juddi-client.net.test/juddi-client.net.test.csproj
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net.test/juddi-client.net.test.csproj?rev=1540346&r1=1540345&r2=1540346&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net.test/juddi-client.net.test.csproj (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net.test/juddi-client.net.test.csproj Sat Nov  9 17:34:10 2013
@@ -45,6 +45,7 @@
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="SerializationTests.cs" />
     <Compile Include="WADL2UDDITests.cs" />
+    <Compile Include="WSDL2UDDITest.cs" />
   </ItemGroup>
   <ItemGroup>
     <None Include="packages.config">

Added: juddi/trunk/juddi-client.net/juddi-client.net.test/resources/juddi-api-flattened.wsdl
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net.test/resources/juddi-api-flattened.wsdl?rev=1540346&view=auto
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net.test/resources/juddi-api-flattened.wsdl (added)
+++ juddi/trunk/juddi-client.net/juddi-client.net.test/resources/juddi-api-flattened.wsdl Sat Nov  9 17:34:10 2013
@@ -0,0 +1,1449 @@
+<?xml version='1.0' encoding='UTF-8'?><wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="urn:juddi-apache-org:v3_service" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns2="http://schemas.xmlsoap.org/soap/http" xmlns:ns1="urn:juddi-apache-org:api_v3" name="JUDDIApiService" targetNamespace="urn:juddi-apache-org:v3_service">
+  <wsdl:types>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn:uddi-org:sub_v3" xmlns:ns1="urn:uddi-org:api_v3" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="urn:uddi-org:sub_v3">
+  <xs:import namespace="urn:uddi-org:api_v3"/>
+  <xs:element name="chunkToken" type="xs:string"/>
+  <xs:element name="coveragePeriod" type="tns:coveragePeriod"/>
+  <xs:element name="delete_subscription" type="tns:delete_subscription"/>
+  <xs:element name="deleted" type="xs:boolean"/>
+  <xs:element name="endPoint" type="xs:anySimpleType"/>
+  <xs:element name="expiresAfter" type="xs:anySimpleType"/>
+  <xs:element name="get_subscriptionResults" type="tns:get_subscriptionResults"/>
+  <xs:element name="get_subscriptions" type="tns:get_subscriptions"/>
+  <xs:element name="keyBag" type="tns:keyBag"/>
+  <xs:element name="maxEntities" type="xs:int"/>
+  <xs:element name="notificationInterval" type="xs:duration"/>
+  <xs:element name="save_subscription" type="tns:save_subscription"/>
+  <xs:element name="startPoint" type="xs:anySimpleType"/>
+  <xs:element name="subscription" type="tns:subscription"/>
+  <xs:element name="subscriptionFilter" type="tns:subscriptionFilter"/>
+  <xs:element name="subscriptionKey" type="xs:string"/>
+  <xs:element name="subscriptionResultsList" type="tns:subscriptionResultsList"/>
+  <xs:element name="subscriptions" type="tns:subscriptions"/>
+  <xs:complexType name="get_subscriptionResults">
+    <xs:sequence>
+      <xs:element minOccurs="0" ref="ns1:authInfo"/>
+      <xs:element name="subscriptionKey" type="xs:string"/>
+      <xs:element name="coveragePeriod" type="tns:coveragePeriod"/>
+      <xs:element minOccurs="0" name="chunkToken" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="coveragePeriod">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="startPoint" type="xs:dateTime"/>
+      <xs:element minOccurs="0" name="endPoint" type="xs:dateTime"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="subscriptionResultsList">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="chunkToken" type="xs:string"/>
+      <xs:element name="coveragePeriod" type="tns:coveragePeriod"/>
+      <xs:element name="subscription" type="tns:subscription"/>
+      <xs:element minOccurs="0" ref="ns1:bindingDetail"/>
+      <xs:element minOccurs="0" ref="ns1:businessDetail"/>
+      <xs:element minOccurs="0" ref="ns1:serviceDetail"/>
+      <xs:element minOccurs="0" ref="ns1:tModelDetail"/>
+      <xs:element minOccurs="0" ref="ns1:businessList"/>
+      <xs:element minOccurs="0" ref="ns1:relatedBusinessesList"/>
+      <xs:element minOccurs="0" ref="ns1:serviceList"/>
+      <xs:element minOccurs="0" ref="ns1:tModelList"/>
+      <xs:element minOccurs="0" ref="ns1:assertionStatusReport"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="keyBag" nillable="true" type="tns:keyBag"/>
+    </xs:sequence>
+    <xs:attribute name="someResultsUnavailable" type="xs:boolean"/>
+  </xs:complexType>
+  <xs:complexType name="subscription">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="subscriptionKey" type="xs:string"/>
+      <xs:element minOccurs="0" name="subscriptionFilter" type="tns:subscriptionFilter"/>
+      <xs:element minOccurs="0" ref="ns1:bindingKey"/>
+      <xs:element minOccurs="0" name="notificationInterval" type="xs:duration"/>
+      <xs:element minOccurs="0" name="maxEntities" type="xs:int"/>
+      <xs:element minOccurs="0" name="expiresAfter" type="xs:anySimpleType"/>
+    </xs:sequence>
+    <xs:attribute name="brief" type="xs:boolean"/>
+  </xs:complexType>
+  <xs:complexType name="subscriptionFilter">
+    <xs:sequence>
+      <xs:element minOccurs="0" ref="ns1:find_binding"/>
+      <xs:element minOccurs="0" ref="ns1:find_business"/>
+      <xs:element minOccurs="0" ref="ns1:find_relatedBusinesses"/>
+      <xs:element minOccurs="0" ref="ns1:find_service"/>
+      <xs:element minOccurs="0" ref="ns1:find_tModel"/>
+      <xs:element minOccurs="0" ref="ns1:get_bindingDetail"/>
+      <xs:element minOccurs="0" ref="ns1:get_businessDetail"/>
+      <xs:element minOccurs="0" ref="ns1:get_serviceDetail"/>
+      <xs:element minOccurs="0" ref="ns1:get_tModelDetail"/>
+      <xs:element minOccurs="0" ref="ns1:get_assertionStatusReport"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="keyBag">
+    <xs:sequence>
+      <xs:element name="deleted" type="xs:boolean"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:tModelKey"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:businessKey"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:serviceKey"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:bindingKey"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="save_subscription">
+    <xs:sequence>
+      <xs:element minOccurs="0" ref="ns1:authInfo"/>
+      <xs:element maxOccurs="unbounded" name="subscription" type="tns:subscription"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="subscriptions">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="subscription" nillable="true" type="tns:subscription"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="get_subscriptions">
+    <xs:sequence>
+      <xs:element minOccurs="0" ref="ns1:authInfo"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="delete_subscription">
+    <xs:sequence>
+      <xs:element minOccurs="0" ref="ns1:authInfo"/>
+      <xs:element maxOccurs="unbounded" name="subscriptionKey" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+</xs:schema>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn:uddi-org:api_v3" xmlns:ns1="http://www.w3.org/2000/09/xmldsig#" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="urn:uddi-org:api_v3">
+  <xs:import namespace="http://www.w3.org/XML/1998/namespace"/>
+  <xs:import namespace="http://www.w3.org/2000/09/xmldsig#"/>
+  <xs:element name="accessPoint" type="tns:accessPoint"/>
+  <xs:element name="actualCount" type="xs:int"/>
+  <xs:element name="add_publisherAssertions" type="tns:add_publisherAssertions"/>
+  <xs:element name="address" type="tns:address"/>
+  <xs:element name="addressLine" type="tns:addressLine"/>
+  <xs:element name="assertionStatusItem" type="tns:assertionStatusItem"/>
+  <xs:element name="assertionStatusReport" type="tns:assertionStatusReport"/>
+  <xs:element name="authInfo" type="xs:string"/>
+  <xs:element name="authToken" type="tns:authToken"/>
+  <xs:element name="authorizedName" type="xs:string"/>
+  <xs:element name="bindingDetail" type="tns:bindingDetail"/>
+  <xs:element name="bindingKey" type="xs:string"/>
+  <xs:element name="bindingTemplate" type="tns:bindingTemplate"/>
+  <xs:element name="bindingTemplates" type="tns:bindingTemplates"/>
+  <xs:element name="businessDetail" type="tns:businessDetail"/>
+  <xs:element name="businessEntity" type="tns:businessEntity"/>
+  <xs:element name="businessInfo" type="tns:businessInfo"/>
+  <xs:element name="businessInfos" type="tns:businessInfos"/>
+  <xs:element name="businessKey" type="xs:string"/>
+  <xs:element name="businessList" type="tns:businessList"/>
+  <xs:element name="businessService" type="tns:businessService"/>
+  <xs:element name="businessServices" type="tns:businessServices"/>
+  <xs:element name="categoryBag" type="tns:categoryBag"/>
+  <xs:element name="completionStatus" type="tns:completionStatus"/>
+  <xs:element name="contact" type="tns:contact"/>
+  <xs:element name="contacts" type="tns:contacts"/>
+  <xs:element name="delete_binding" type="tns:delete_binding"/>
+  <xs:element name="delete_business" type="tns:delete_business"/>
+  <xs:element name="delete_publisherAssertions" type="tns:delete_publisherAssertions"/>
+  <xs:element name="delete_service" type="tns:delete_service"/>
+  <xs:element name="delete_tModel" type="tns:delete_tModel"/>
+  <xs:element name="description" type="tns:description"/>
+  <xs:element name="discard_authToken" type="tns:discard_authToken"/>
+  <xs:element name="discoveryURL" type="tns:discoveryURL"/>
+  <xs:element name="discoveryURLs" type="tns:discoveryURLs"/>
+  <xs:element name="dispositionReport" type="tns:dispositionReport"/>
+  <xs:element name="email" type="tns:email"/>
+  <xs:element name="errInfo" type="tns:errInfo"/>
+  <xs:element name="findQualifier" type="xs:string"/>
+  <xs:element name="findQualifiers" type="tns:findQualifiers"/>
+  <xs:element name="find_binding" type="tns:find_binding"/>
+  <xs:element name="find_business" type="tns:find_business"/>
+  <xs:element name="find_relatedBusinesses" type="tns:find_relatedBusinesses"/>
+  <xs:element name="find_service" type="tns:find_service"/>
+  <xs:element name="find_tModel" type="tns:find_tModel"/>
+  <xs:element name="fromKey" type="xs:string"/>
+  <xs:element name="get_assertionStatusReport" type="tns:get_assertionStatusReport"/>
+  <xs:element name="get_authToken" type="tns:get_authToken"/>
+  <xs:element name="get_bindingDetail" type="tns:get_bindingDetail"/>
+  <xs:element name="get_businessDetail" type="tns:get_businessDetail"/>
+  <xs:element name="get_operationalInfo" type="tns:get_operationalInfo"/>
+  <xs:element name="get_publisherAssertions" type="tns:get_publisherAssertions"/>
+  <xs:element name="get_registeredInfo" type="tns:get_registeredInfo"/>
+  <xs:element name="get_serviceDetail" type="tns:get_serviceDetail"/>
+  <xs:element name="get_tModelDetail" type="tns:get_tModelDetail"/>
+  <xs:element name="hostingRedirector" type="tns:hostingRedirector"/>
+  <xs:element name="identifierBag" type="tns:identifierBag"/>
+  <xs:element name="includeCount" type="xs:int"/>
+  <xs:element name="infoSelection" type="tns:infoSelection"/>
+  <xs:element name="instanceDetails" type="tns:instanceDetails"/>
+  <xs:element name="instanceParms" type="xs:string"/>
+  <xs:element name="keyedReference" type="tns:keyedReference"/>
+  <xs:element name="keyedReferenceGroup" type="tns:keyedReferenceGroup"/>
+  <xs:element name="keysOwned" type="tns:keysOwned"/>
+  <xs:element name="listDescription" type="tns:listDescription"/>
+  <xs:element name="listHead" type="xs:int"/>
+  <xs:element name="name" type="tns:name"/>
+  <xs:element name="nodeID" type="xs:string"/>
+  <xs:element name="operationalInfo" type="tns:operationalInfo"/>
+  <xs:element name="operationalInfos" type="tns:operationalInfos"/>
+  <xs:element name="overviewDoc" type="tns:overviewDoc"/>
+  <xs:element name="overviewURL" type="tns:overviewURL"/>
+  <xs:element name="personName" type="tns:personName"/>
+  <xs:element name="phone" type="tns:phone"/>
+  <xs:element name="publisherAssertion" type="tns:publisherAssertion"/>
+  <xs:element name="publisherAssertions" type="tns:publisherAssertions"/>
+  <xs:element name="publisherAssertionsResponse" type="tns:publisherAssertionsResponse"/>
+  <xs:element name="registeredInfo" type="tns:registeredInfo"/>
+  <xs:element name="relatedBusinessInfo" type="tns:relatedBusinessInfo"/>
+  <xs:element name="relatedBusinessInfos" type="tns:relatedBusinessInfos"/>
+  <xs:element name="relatedBusinessesList" type="tns:relatedBusinessesList"/>
+  <xs:element name="result" type="tns:result"/>
+  <xs:element name="save_binding" type="tns:save_binding"/>
+  <xs:element name="save_business" type="tns:save_business"/>
+  <xs:element name="save_service" type="tns:save_service"/>
+  <xs:element name="save_tModel" type="tns:save_tModel"/>
+  <xs:element name="serviceDetail" type="tns:serviceDetail"/>
+  <xs:element name="serviceInfo" type="tns:serviceInfo"/>
+  <xs:element name="serviceInfos" type="tns:serviceInfos"/>
+  <xs:element name="serviceKey" type="xs:string"/>
+  <xs:element name="serviceList" type="tns:serviceList"/>
+  <xs:element name="set_publisherAssertions" type="tns:set_publisherAssertions"/>
+  <xs:element name="sharedRelationships" type="tns:sharedRelationships"/>
+  <xs:element name="tModel" type="tns:tModel"/>
+  <xs:element name="tModelBag" type="tns:tModelBag"/>
+  <xs:element name="tModelDetail" type="tns:tModelDetail"/>
+  <xs:element name="tModelInfo" type="tns:tModelInfo"/>
+  <xs:element name="tModelInfos" type="tns:tModelInfos"/>
+  <xs:element name="tModelInstanceDetails" type="tns:tModelInstanceDetails"/>
+  <xs:element name="tModelInstanceInfo" type="tns:tModelInstanceInfo"/>
+  <xs:element name="tModelKey" type="xs:string"/>
+  <xs:element name="tModelList" type="tns:tModelList"/>
+  <xs:element name="toKey" type="xs:string"/>
+  <xs:complexType name="delete_tModel">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="authInfo" type="xs:string"/>
+      <xs:element maxOccurs="unbounded" name="tModelKey" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="find_binding">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="authInfo" type="xs:string"/>
+      <xs:element minOccurs="0" name="findQualifiers" type="tns:findQualifiers"/>
+      <xs:element minOccurs="0" name="tModelBag" type="tns:tModelBag"/>
+      <xs:element minOccurs="0" name="find_tModel" type="tns:find_tModel"/>
+      <xs:element minOccurs="0" name="categoryBag" type="tns:categoryBag"/>
+    </xs:sequence>
+    <xs:attribute name="maxRows" type="xs:int"/>
+    <xs:attribute name="serviceKey" type="xs:string"/>
+    <xs:attribute name="listHead" type="xs:int"/>
+  </xs:complexType>
+  <xs:complexType name="findQualifiers">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="findQualifier" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="tModelBag">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="tModelKey" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="find_tModel">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="authInfo" type="xs:string"/>
+      <xs:element minOccurs="0" name="findQualifiers" type="tns:findQualifiers"/>
+      <xs:element minOccurs="0" name="name" type="tns:name"/>
+      <xs:element minOccurs="0" name="identifierBag" type="tns:identifierBag"/>
+      <xs:element minOccurs="0" name="categoryBag" type="tns:categoryBag"/>
+    </xs:sequence>
+    <xs:attribute name="maxRows" type="xs:int"/>
+    <xs:attribute name="listHead" type="xs:int"/>
+  </xs:complexType>
+  <xs:complexType name="name">
+    <xs:simpleContent>
+      <xs:extension base="xs:string">
+        <xs:attribute ref="xml:lang"/>
+      </xs:extension>
+    </xs:simpleContent>
+  </xs:complexType>
+  <xs:complexType name="identifierBag">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="keyedReference" type="tns:keyedReference"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="keyedReference">
+    <xs:sequence/>
+    <xs:attribute name="tModelKey" type="xs:string" use="required"/>
+    <xs:attribute name="keyName" type="xs:string"/>
+    <xs:attribute name="keyValue" type="xs:string" use="required"/>
+  </xs:complexType>
+  <xs:complexType name="categoryBag">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="keyedReference" type="tns:keyedReference"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="keyedReferenceGroup" type="tns:keyedReferenceGroup"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="keyedReferenceGroup">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="keyedReference" nillable="true" type="tns:keyedReference"/>
+    </xs:sequence>
+    <xs:attribute name="tModelKey" type="xs:string" use="required"/>
+  </xs:complexType>
+  <xs:complexType name="find_business">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="authInfo" type="xs:string"/>
+      <xs:element minOccurs="0" name="findQualifiers" type="tns:findQualifiers"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="name" nillable="true" type="tns:name"/>
+      <xs:element minOccurs="0" name="identifierBag" type="tns:identifierBag"/>
+      <xs:element minOccurs="0" name="categoryBag" type="tns:categoryBag"/>
+      <xs:element minOccurs="0" name="tModelBag" type="tns:tModelBag"/>
+      <xs:element minOccurs="0" name="find_tModel" type="tns:find_tModel"/>
+      <xs:element minOccurs="0" name="discoveryURLs" type="tns:discoveryURLs"/>
+      <xs:element minOccurs="0" name="find_relatedBusinesses" type="tns:find_relatedBusinesses"/>
+    </xs:sequence>
+    <xs:attribute name="maxRows" type="xs:int"/>
+    <xs:attribute name="listHead" type="xs:int"/>
+  </xs:complexType>
+  <xs:complexType name="discoveryURLs">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="discoveryURL" type="tns:discoveryURL"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="discoveryURL">
+    <xs:simpleContent>
+      <xs:extension base="xs:string">
+        <xs:attribute name="useType" type="xs:string"/>
+      </xs:extension>
+    </xs:simpleContent>
+  </xs:complexType>
+  <xs:complexType name="find_relatedBusinesses">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="authInfo" type="xs:string"/>
+      <xs:element minOccurs="0" name="findQualifiers" type="tns:findQualifiers"/>
+      <xs:element minOccurs="0" name="businessKey" type="xs:string"/>
+      <xs:element minOccurs="0" name="fromKey" type="xs:string"/>
+      <xs:element minOccurs="0" name="toKey" type="xs:string"/>
+      <xs:element minOccurs="0" name="keyedReference" type="tns:keyedReference"/>
+    </xs:sequence>
+    <xs:attribute name="maxRows" type="xs:int"/>
+    <xs:attribute name="listHead" type="xs:int"/>
+  </xs:complexType>
+  <xs:complexType name="find_service">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="authInfo" type="xs:string"/>
+      <xs:element minOccurs="0" name="findQualifiers" type="tns:findQualifiers"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="name" nillable="true" type="tns:name"/>
+      <xs:element minOccurs="0" name="categoryBag" type="tns:categoryBag"/>
+      <xs:element minOccurs="0" name="tModelBag" type="tns:tModelBag"/>
+      <xs:element minOccurs="0" name="find_tModel" type="tns:find_tModel"/>
+    </xs:sequence>
+    <xs:attribute name="maxRows" type="xs:int"/>
+    <xs:attribute name="businessKey" type="xs:string"/>
+    <xs:attribute name="listHead" type="xs:int"/>
+  </xs:complexType>
+  <xs:complexType name="get_bindingDetail">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="authInfo" type="xs:string"/>
+      <xs:element maxOccurs="unbounded" name="bindingKey" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="get_businessDetail">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="authInfo" type="xs:string"/>
+      <xs:element maxOccurs="unbounded" name="businessKey" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="get_serviceDetail">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="authInfo" type="xs:string"/>
+      <xs:element maxOccurs="unbounded" name="serviceKey" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="get_tModelDetail">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="authInfo" type="xs:string"/>
+      <xs:element maxOccurs="unbounded" name="tModelKey" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="get_assertionStatusReport">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="authInfo" type="xs:string"/>
+      <xs:element minOccurs="0" name="completionStatus" type="tns:completionStatus"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="bindingDetail">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="listDescription" type="tns:listDescription"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="bindingTemplate" nillable="true" type="tns:bindingTemplate"/>
+    </xs:sequence>
+    <xs:attribute name="truncated" type="xs:boolean"/>
+  </xs:complexType>
+  <xs:complexType name="listDescription">
+    <xs:sequence>
+      <xs:element name="includeCount" type="xs:int"/>
+      <xs:element name="actualCount" type="xs:int"/>
+      <xs:element name="listHead" type="xs:int"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="bindingTemplate">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="description" nillable="true" type="tns:description"/>
+      <xs:element minOccurs="0" name="accessPoint" type="tns:accessPoint"/>
+      <xs:element minOccurs="0" name="hostingRedirector" type="tns:hostingRedirector"/>
+      <xs:element minOccurs="0" name="tModelInstanceDetails" type="tns:tModelInstanceDetails"/>
+      <xs:element minOccurs="0" name="categoryBag" type="tns:categoryBag"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Signature"/>
+    </xs:sequence>
+    <xs:attribute name="bindingKey" type="xs:string"/>
+    <xs:attribute name="serviceKey" type="xs:string"/>
+  </xs:complexType>
+  <xs:complexType name="description">
+    <xs:simpleContent>
+      <xs:extension base="xs:string">
+        <xs:attribute ref="xml:lang"/>
+      </xs:extension>
+    </xs:simpleContent>
+  </xs:complexType>
+  <xs:complexType name="accessPoint">
+    <xs:simpleContent>
+      <xs:extension base="xs:string">
+        <xs:attribute name="useType" type="xs:string"/>
+      </xs:extension>
+    </xs:simpleContent>
+  </xs:complexType>
+  <xs:complexType name="hostingRedirector">
+    <xs:sequence/>
+    <xs:attribute name="bindingKey" type="xs:string" use="required"/>
+  </xs:complexType>
+  <xs:complexType name="tModelInstanceDetails">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="tModelInstanceInfo" type="tns:tModelInstanceInfo"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="tModelInstanceInfo">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="description" nillable="true" type="tns:description"/>
+      <xs:element minOccurs="0" name="instanceDetails" type="tns:instanceDetails"/>
+    </xs:sequence>
+    <xs:attribute name="tModelKey" type="xs:string" use="required"/>
+  </xs:complexType>
+  <xs:complexType name="instanceDetails">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="description" type="tns:description"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="overviewDoc" type="tns:overviewDoc"/>
+      <xs:element minOccurs="0" name="instanceParms" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="overviewDoc">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="description" type="tns:description"/>
+      <xs:element minOccurs="0" name="overviewURL" type="tns:overviewURL"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="overviewURL">
+    <xs:simpleContent>
+      <xs:extension base="xs:string">
+        <xs:attribute name="useType" type="xs:string"/>
+      </xs:extension>
+    </xs:simpleContent>
+  </xs:complexType>
+  <xs:complexType name="businessDetail">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="businessEntity" nillable="true" type="tns:businessEntity"/>
+    </xs:sequence>
+    <xs:attribute name="truncated" type="xs:boolean"/>
+  </xs:complexType>
+  <xs:complexType name="businessEntity">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="discoveryURLs" type="tns:discoveryURLs"/>
+      <xs:element maxOccurs="unbounded" name="name" type="tns:name"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="description" nillable="true" type="tns:description"/>
+      <xs:element minOccurs="0" name="contacts" type="tns:contacts"/>
+      <xs:element minOccurs="0" name="businessServices" type="tns:businessServices"/>
+      <xs:element minOccurs="0" name="identifierBag" type="tns:identifierBag"/>
+      <xs:element minOccurs="0" name="categoryBag" type="tns:categoryBag"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Signature"/>
+    </xs:sequence>
+    <xs:attribute name="businessKey" type="xs:string"/>
+  </xs:complexType>
+  <xs:complexType name="contacts">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="contact" type="tns:contact"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="contact">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="description" nillable="true" type="tns:description"/>
+      <xs:element maxOccurs="unbounded" name="personName" type="tns:personName"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="phone" nillable="true" type="tns:phone"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="email" nillable="true" type="tns:email"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="address" nillable="true" type="tns:address"/>
+    </xs:sequence>
+    <xs:attribute name="useType" type="xs:string"/>
+  </xs:complexType>
+  <xs:complexType name="personName">
+    <xs:simpleContent>
+      <xs:extension base="xs:string">
+        <xs:attribute ref="xml:lang"/>
+      </xs:extension>
+    </xs:simpleContent>
+  </xs:complexType>
+  <xs:complexType name="phone">
+    <xs:simpleContent>
+      <xs:extension base="xs:string">
+        <xs:attribute name="useType" type="xs:string"/>
+      </xs:extension>
+    </xs:simpleContent>
+  </xs:complexType>
+  <xs:complexType name="email">
+    <xs:simpleContent>
+      <xs:extension base="xs:string">
+        <xs:attribute name="useType" type="xs:string"/>
+      </xs:extension>
+    </xs:simpleContent>
+  </xs:complexType>
+  <xs:complexType name="address">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="addressLine" type="tns:addressLine"/>
+    </xs:sequence>
+    <xs:attribute ref="xml:lang"/>
+    <xs:attribute name="useType" type="xs:string"/>
+    <xs:attribute name="sortCode" type="xs:string"/>
+    <xs:attribute name="tModelKey" type="xs:string"/>
+  </xs:complexType>
+  <xs:complexType name="addressLine">
+    <xs:simpleContent>
+      <xs:extension base="xs:string">
+        <xs:attribute name="keyName" type="xs:string"/>
+        <xs:attribute name="keyValue" type="xs:string"/>
+      </xs:extension>
+    </xs:simpleContent>
+  </xs:complexType>
+  <xs:complexType name="businessServices">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" ref="tns:businessService"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="businessService">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="name" nillable="true" type="tns:name"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="description" nillable="true" type="tns:description"/>
+      <xs:element minOccurs="0" name="bindingTemplates" type="tns:bindingTemplates"/>
+      <xs:element minOccurs="0" name="categoryBag" type="tns:categoryBag"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Signature"/>
+    </xs:sequence>
+    <xs:attribute name="serviceKey" type="xs:string"/>
+    <xs:attribute name="businessKey" type="xs:string"/>
+  </xs:complexType>
+  <xs:complexType name="bindingTemplates">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" ref="tns:bindingTemplate"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="serviceDetail">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="businessService" nillable="true" type="tns:businessService"/>
+    </xs:sequence>
+    <xs:attribute name="truncated" type="xs:boolean"/>
+  </xs:complexType>
+  <xs:complexType name="tModelDetail">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="tModel" nillable="true" type="tns:tModel"/>
+    </xs:sequence>
+    <xs:attribute name="truncated" type="xs:boolean"/>
+  </xs:complexType>
+  <xs:complexType name="tModel">
+    <xs:sequence>
+      <xs:element name="name" type="tns:name"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="description" nillable="true" type="tns:description"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="overviewDoc" nillable="true" type="tns:overviewDoc"/>
+      <xs:element minOccurs="0" name="identifierBag" type="tns:identifierBag"/>
+      <xs:element minOccurs="0" name="categoryBag" type="tns:categoryBag"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Signature"/>
+    </xs:sequence>
+    <xs:attribute name="tModelKey" type="xs:string"/>
+    <xs:attribute name="deleted" type="xs:boolean"/>
+  </xs:complexType>
+  <xs:complexType name="businessList">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="listDescription" type="tns:listDescription"/>
+      <xs:element minOccurs="0" name="businessInfos" type="tns:businessInfos"/>
+    </xs:sequence>
+    <xs:attribute name="truncated" type="xs:boolean"/>
+  </xs:complexType>
+  <xs:complexType name="businessInfos">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="businessInfo" type="tns:businessInfo"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="businessInfo">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="name" type="tns:name"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="description" nillable="true" type="tns:description"/>
+      <xs:element minOccurs="0" name="serviceInfos" type="tns:serviceInfos"/>
+    </xs:sequence>
+    <xs:attribute name="businessKey" type="xs:string" use="required"/>
+  </xs:complexType>
+  <xs:complexType name="serviceInfos">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="serviceInfo" type="tns:serviceInfo"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="serviceInfo">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="name" nillable="true" type="tns:name"/>
+    </xs:sequence>
+    <xs:attribute name="serviceKey" type="xs:string" use="required"/>
+    <xs:attribute name="businessKey" type="xs:string" use="required"/>
+  </xs:complexType>
+  <xs:complexType name="relatedBusinessesList">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="listDescription" type="tns:listDescription"/>
+      <xs:element name="businessKey" type="xs:string"/>
+      <xs:element minOccurs="0" name="relatedBusinessInfos" type="tns:relatedBusinessInfos"/>
+    </xs:sequence>
+    <xs:attribute name="truncated" type="xs:boolean"/>
+  </xs:complexType>
+  <xs:complexType name="relatedBusinessInfos">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="relatedBusinessInfo" type="tns:relatedBusinessInfo"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="relatedBusinessInfo">
+    <xs:sequence>
+      <xs:element name="businessKey" type="xs:string"/>
+      <xs:element maxOccurs="unbounded" name="name" type="tns:name"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="description" nillable="true" type="tns:description"/>
+      <xs:element maxOccurs="unbounded" name="sharedRelationships" type="tns:sharedRelationships"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="sharedRelationships">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="keyedReference" type="tns:keyedReference"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="publisherAssertion" nillable="true" type="tns:publisherAssertion"/>
+    </xs:sequence>
+    <xs:attribute name="direction" type="tns:direction" use="required"/>
+  </xs:complexType>
+  <xs:complexType name="publisherAssertion">
+    <xs:sequence>
+      <xs:element name="fromKey" type="xs:string"/>
+      <xs:element name="toKey" type="xs:string"/>
+      <xs:element name="keyedReference" type="tns:keyedReference"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns1:Signature"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="serviceList">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="listDescription" type="tns:listDescription"/>
+      <xs:element minOccurs="0" name="serviceInfos" type="tns:serviceInfos"/>
+    </xs:sequence>
+    <xs:attribute name="truncated" type="xs:boolean"/>
+  </xs:complexType>
+  <xs:complexType name="tModelList">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="listDescription" type="tns:listDescription"/>
+      <xs:element minOccurs="0" name="tModelInfos" type="tns:tModelInfos"/>
+    </xs:sequence>
+    <xs:attribute name="truncated" type="xs:boolean"/>
+  </xs:complexType>
+  <xs:complexType name="tModelInfos">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="tModelInfo" type="tns:tModelInfo"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="tModelInfo">
+    <xs:sequence>
+      <xs:element name="name" type="tns:name"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="description" nillable="true" type="tns:description"/>
+    </xs:sequence>
+    <xs:attribute name="tModelKey" type="xs:string" use="required"/>
+  </xs:complexType>
+  <xs:complexType name="assertionStatusReport">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="assertionStatusItem" nillable="true" type="tns:assertionStatusItem"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="assertionStatusItem">
+    <xs:sequence>
+      <xs:element name="fromKey" type="xs:string"/>
+      <xs:element name="toKey" type="xs:string"/>
+      <xs:element name="keyedReference" type="tns:keyedReference"/>
+      <xs:element name="keysOwned" type="tns:keysOwned"/>
+    </xs:sequence>
+    <xs:attribute name="completionStatus" type="tns:completionStatus" use="required"/>
+  </xs:complexType>
+  <xs:complexType name="keysOwned">
+    <xs:all>
+      <xs:element minOccurs="0" name="fromKey" type="xs:string"/>
+      <xs:element minOccurs="0" name="toKey" type="xs:string"/>
+    </xs:all>
+  </xs:complexType>
+  <xs:complexType name="publisherAssertionsResponse">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="publisherAssertion" nillable="true" type="tns:publisherAssertion"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="delete_publisherAssertions">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="authInfo" type="xs:string"/>
+      <xs:element maxOccurs="unbounded" ref="tns:publisherAssertion"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="result">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="errInfo" type="tns:errInfo"/>
+    </xs:sequence>
+    <xs:attribute name="keyType" type="tns:keyType"/>
+    <xs:attribute name="errno" type="xs:int" use="required"/>
+  </xs:complexType>
+  <xs:complexType name="errInfo">
+    <xs:simpleContent>
+      <xs:extension base="xs:string">
+        <xs:attribute name="errCode" type="xs:string" use="required"/>
+      </xs:extension>
+    </xs:simpleContent>
+  </xs:complexType>
+  <xs:complexType name="authToken">
+    <xs:sequence>
+      <xs:element name="authInfo" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="get_publisherAssertions">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="authInfo" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="dispositionReport">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="result" type="tns:result"/>
+    </xs:sequence>
+    <xs:attribute name="truncated" type="xs:boolean"/>
+  </xs:complexType>
+  <xs:complexType name="save_binding">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="authInfo" type="xs:string"/>
+      <xs:element maxOccurs="unbounded" ref="tns:bindingTemplate"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="get_authToken">
+    <xs:sequence/>
+    <xs:attribute name="userID" type="xs:string" use="required"/>
+    <xs:attribute name="cred" type="xs:string" use="required"/>
+  </xs:complexType>
+  <xs:complexType name="save_business">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="authInfo" type="xs:string"/>
+      <xs:element maxOccurs="unbounded" ref="tns:businessEntity"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="get_registeredInfo">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="authInfo" type="xs:string"/>
+    </xs:sequence>
+    <xs:attribute name="infoSelection" type="tns:infoSelection" use="required"/>
+  </xs:complexType>
+  <xs:complexType name="save_tModel">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="authInfo" type="xs:string"/>
+      <xs:element maxOccurs="unbounded" ref="tns:tModel"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="save_service">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="authInfo" type="xs:string"/>
+      <xs:element maxOccurs="unbounded" ref="tns:businessService"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="registeredInfo">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="businessInfos" type="tns:businessInfos"/>
+      <xs:element minOccurs="0" name="tModelInfos" type="tns:tModelInfos"/>
+    </xs:sequence>
+    <xs:attribute name="truncated" type="xs:boolean"/>
+  </xs:complexType>
+  <xs:complexType name="delete_business">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="authInfo" type="xs:string"/>
+      <xs:element maxOccurs="unbounded" name="businessKey" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="get_operationalInfo">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="authInfo" type="xs:string"/>
+      <xs:element maxOccurs="unbounded" name="entityKey" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="delete_service">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="authInfo" type="xs:string"/>
+      <xs:element maxOccurs="unbounded" name="serviceKey" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="discard_authToken">
+    <xs:sequence>
+      <xs:element name="authInfo" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="operationalInfo">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="created" type="xs:anySimpleType"/>
+      <xs:element minOccurs="0" name="modified" type="xs:anySimpleType"/>
+      <xs:element minOccurs="0" name="modifiedIncludingChildren" type="xs:anySimpleType"/>
+      <xs:element minOccurs="0" name="nodeID" type="xs:string"/>
+      <xs:element minOccurs="0" name="authorizedName" type="xs:string"/>
+    </xs:sequence>
+    <xs:attribute name="entityKey" type="xs:string" use="required"/>
+  </xs:complexType>
+  <xs:complexType name="publisherAssertions">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="publisherAssertion" nillable="true" type="tns:publisherAssertion"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="delete_binding">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="authInfo" type="xs:string"/>
+      <xs:element maxOccurs="unbounded" name="bindingKey" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="operationalInfos">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="operationalInfo" nillable="true" type="tns:operationalInfo"/>
+    </xs:sequence>
+    <xs:attribute name="truncated" type="xs:boolean"/>
+  </xs:complexType>
+  <xs:complexType name="add_publisherAssertions">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="authInfo" type="xs:string"/>
+      <xs:element maxOccurs="unbounded" ref="tns:publisherAssertion"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="set_publisherAssertions">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="authInfo" type="xs:string"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="publisherAssertion" nillable="true" type="tns:publisherAssertion"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:simpleType name="completionStatus">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="status:complete"/>
+      <xs:enumeration value="status:fromKey_incomplete"/>
+      <xs:enumeration value="status:toKey_incomplete"/>
+      <xs:enumeration value="status:both_incomplete"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="direction">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="fromKey"/>
+      <xs:enumeration value="toKey"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="keyType">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="businessKey"/>
+      <xs:enumeration value="tModelKey"/>
+      <xs:enumeration value="serviceKey"/>
+      <xs:enumeration value="bindingKey"/>
+      <xs:enumeration value="subscriptionKey"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="infoSelection">
+    <xs:restriction base="xs:string">
+      <xs:enumeration value="all"/>
+      <xs:enumeration value="hidden"/>
+      <xs:enumeration value="visible"/>
+    </xs:restriction>
+  </xs:simpleType>
+</xs:schema>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn:juddi-apache-org:api_v3" xmlns:ns3="urn:uddi-org:sub_v3" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#" xmlns:ns1="urn:uddi-org:api_v3" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="urn:juddi-apache-org:api_v3">
+  <xs:import namespace="urn:uddi-org:api_v3"/>
+  <xs:import namespace="http://www.w3.org/2000/09/xmldsig#"/>
+  <xs:import namespace="urn:uddi-org:sub_v3"/>
+  <xs:element name="clerkDetail" type="tns:clerkDetail"/>
+  <xs:element name="clientSubscriptionInfoDetail" type="tns:clientSubscriptionInfoDetail"/>
+  <xs:element name="delete_clientSubscriptionInfo" type="tns:delete_clientSubscriptionInfo"/>
+  <xs:element name="delete_publisher" type="tns:delete_publisher"/>
+  <xs:element name="get_allPublisherDetail" type="tns:get_allPublisherDetail"/>
+  <xs:element name="get_publisherDetail" type="tns:get_publisherDetail"/>
+  <xs:element name="nodeDetail" type="tns:nodeDetail"/>
+  <xs:element name="publisher" type="tns:publisher"/>
+  <xs:element name="publisherDetail" type="tns:publisherDetail"/>
+  <xs:element name="save_clerk" type="tns:save_clerkInfo"/>
+  <xs:element name="save_clientSubscriptionInfo" type="tns:save_clientSubscriptionInfo"/>
+  <xs:element name="save_node" type="tns:save_nodeInfo"/>
+  <xs:element name="save_publisher" type="tns:save_publisher"/>
+  <xs:element name="sync_subscription" type="tns:syncSubscription"/>
+  <xs:element name="sync_subscriptionDetail" type="tns:syncSubscriptionDetail"/>
+  <xs:complexType name="get_publisherDetail">
+    <xs:sequence>
+      <xs:element minOccurs="0" ref="ns1:authInfo"/>
+      <xs:element maxOccurs="unbounded" name="publisherId" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="publisherDetail">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="publisher" nillable="true" type="tns:publisher"/>
+    </xs:sequence>
+    <xs:attribute name="truncated" type="xs:boolean"/>
+  </xs:complexType>
+  <xs:complexType name="publisher">
+    <xs:sequence>
+      <xs:element name="publisherName" type="xs:string"/>
+      <xs:element minOccurs="0" name="emailAddress" type="xs:string"/>
+      <xs:element minOccurs="0" name="isAdmin" type="xs:string"/>
+      <xs:element minOccurs="0" name="isEnabled" type="xs:string"/>
+      <xs:element minOccurs="0" name="maxBindingsPerService" type="xs:int"/>
+      <xs:element minOccurs="0" name="maxBusinesses" type="xs:int"/>
+      <xs:element minOccurs="0" name="maxServicePerBusiness" type="xs:int"/>
+      <xs:element minOccurs="0" name="maxTModels" type="xs:int"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" ref="ns2:Signature"/>
+    </xs:sequence>
+    <xs:attribute name="authorizedName" type="xs:string" use="required"/>
+  </xs:complexType>
+  <xs:complexType name="delete_clientSubscriptionInfo">
+    <xs:sequence>
+      <xs:element minOccurs="0" ref="ns1:authInfo"/>
+      <xs:element maxOccurs="unbounded" name="subscriptionKey" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="save_clerkInfo">
+    <xs:sequence>
+      <xs:element minOccurs="0" ref="ns1:authInfo"/>
+      <xs:element maxOccurs="unbounded" name="clerk" type="tns:clerk"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="clerk">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="name" type="xs:string"/>
+      <xs:element minOccurs="0" name="node" type="tns:node"/>
+      <xs:element minOccurs="0" name="publisher" type="xs:string"/>
+      <xs:element minOccurs="0" name="password" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="node">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="name" type="xs:string"/>
+      <xs:element minOccurs="0" name="clientName" type="xs:string"/>
+      <xs:element minOccurs="0" name="description" type="xs:string"/>
+      <xs:element minOccurs="0" name="custodyTransferUrl" type="xs:string"/>
+      <xs:element minOccurs="0" name="inquiryUrl" type="xs:string"/>
+      <xs:element minOccurs="0" name="publishUrl" type="xs:string"/>
+      <xs:element minOccurs="0" name="securityUrl" type="xs:string"/>
+      <xs:element minOccurs="0" name="subscriptionUrl" type="xs:string"/>
+      <xs:element minOccurs="0" name="subscriptionListenerUrl" type="xs:string"/>
+      <xs:element minOccurs="0" name="juddiApiUrl" type="xs:string"/>
+      <xs:element minOccurs="0" name="proxyTransport" type="xs:string"/>
+      <xs:element minOccurs="0" name="factoryInitial" type="xs:string"/>
+      <xs:element minOccurs="0" name="factoryURLPkgs" type="xs:string"/>
+      <xs:element minOccurs="0" name="factoryNamingProvider" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="clerkDetail">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="clerk" nillable="true" type="tns:clerk"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="get_allPublisherDetail">
+    <xs:sequence>
+      <xs:element minOccurs="0" ref="ns1:authInfo"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="delete_publisher">
+    <xs:sequence>
+      <xs:element minOccurs="0" ref="ns1:authInfo"/>
+      <xs:element maxOccurs="unbounded" name="publisherId" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="save_publisher">
+    <xs:sequence>
+      <xs:element minOccurs="0" ref="ns1:authInfo"/>
+      <xs:element maxOccurs="unbounded" name="publisher" type="tns:publisher"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="save_nodeInfo">
+    <xs:sequence>
+      <xs:element minOccurs="0" ref="ns1:authInfo"/>
+      <xs:element maxOccurs="unbounded" name="node" type="tns:node"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="nodeDetail">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="node" nillable="true" type="tns:node"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="save_clientSubscriptionInfo">
+    <xs:sequence>
+      <xs:element minOccurs="0" ref="ns1:authInfo"/>
+      <xs:element maxOccurs="unbounded" name="clientSubscriptionInfo" type="tns:clientSubscriptionInfo"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="clientSubscriptionInfo">
+    <xs:sequence>
+      <xs:element name="subscriptionKey" type="xs:string"/>
+      <xs:element name="fromClerk" type="tns:clerk"/>
+      <xs:element name="toClerk" type="tns:clerk"/>
+      <xs:element minOccurs="0" name="lastModified" type="xs:dateTime"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="clientSubscriptionInfoDetail">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="clientSubscriptionInfo" nillable="true" type="tns:clientSubscriptionInfo"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="syncSubscription">
+    <xs:sequence>
+      <xs:element minOccurs="0" ref="ns1:authInfo"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="list" nillable="true" type="ns3:get_subscriptionResults"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:complexType name="syncSubscriptionDetail">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="list" nillable="true" type="ns3:subscriptionResultsList"/>
+    </xs:sequence>
+  </xs:complexType>
+  <xs:element name="delete_ClientSubscriptionInfo" nillable="true" type="tns:delete_clientSubscriptionInfo"/>
+  <xs:element name="save_Clerk" nillable="true" type="tns:save_clerkInfo"/>
+  <xs:element name="save_Node" nillable="true" type="tns:save_nodeInfo"/>
+  <xs:element name="adminDelete_tmodel" nillable="true" type="ns1:delete_tModel"/>
+  <xs:element name="save_ClientSubscriptionInfo" nillable="true" type="tns:save_clientSubscriptionInfo"/>
+  <xs:element name="invoke_SyncSubscription" nillable="true" type="tns:syncSubscription"/>
+  <xs:element name="syncSubcriptionDetail" nillable="true" type="tns:syncSubscriptionDetail"/>
+</xs:schema>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/XML/1998/namespace" version="1.0">
+<xs:attribute name="lang" type="xs:string"/>
+</xs:schema>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" targetNamespace="http://www.w3.org/2000/09/xmldsig#" version="1.0">
+<xs:element name="CanonicalizationMethod" type="tns:CanonicalizationMethodType"/>
+<xs:element name="DSAKeyValue" type="tns:DSAKeyValueType"/>
+<xs:element name="DigestMethod" type="tns:DigestMethodType"/>
+<xs:element name="DigestValue" type="xs:base64Binary"/>
+<xs:element name="KeyInfo" type="tns:KeyInfoType"/>
+<xs:element name="KeyName" type="xs:string"/>
+<xs:element name="KeyValue" type="tns:KeyValueType"/>
+<xs:element name="Manifest" type="tns:ManifestType"/>
+<xs:element name="MgmtData" type="xs:string"/>
+<xs:element name="Object" type="tns:ObjectType"/>
+<xs:element name="PGPData" type="tns:PGPDataType"/>
+<xs:element name="RSAKeyValue" type="tns:RSAKeyValueType"/>
+<xs:element name="Reference" type="tns:ReferenceType"/>
+<xs:element name="RetrievalMethod" type="tns:RetrievalMethodType"/>
+<xs:element name="SPKIData" type="tns:SPKIDataType"/>
+<xs:element name="Signature" type="tns:SignatureType"/>
+<xs:element name="SignatureMethod" type="tns:SignatureMethodType"/>
+<xs:element name="SignatureProperties" type="tns:SignaturePropertiesType"/>
+<xs:element name="SignatureProperty" type="tns:SignaturePropertyType"/>
+<xs:element name="SignatureValue" type="tns:SignatureValueType"/>
+<xs:element name="SignedInfo" type="tns:SignedInfoType"/>
+<xs:element name="Transform" type="tns:TransformType"/>
+<xs:element name="Transforms" type="tns:TransformsType"/>
+<xs:element name="X509Data" type="tns:X509DataType"/>
+<xs:complexType name="SignatureType">
+    <xs:sequence>
+      <xs:element name="SignedInfo" type="tns:SignedInfoType"/>
+      <xs:element name="SignatureValue" type="tns:SignatureValueType"/>
+      <xs:element minOccurs="0" name="KeyInfo" type="tns:KeyInfoType"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="Object" type="tns:ObjectType"/>
+    </xs:sequence>
+    <xs:attribute name="Id" type="xs:ID"/>
+  </xs:complexType>
+<xs:complexType name="SignedInfoType">
+    <xs:sequence>
+      <xs:element name="CanonicalizationMethod" type="tns:CanonicalizationMethodType"/>
+      <xs:element name="SignatureMethod" type="tns:SignatureMethodType"/>
+      <xs:element maxOccurs="unbounded" name="Reference" type="tns:ReferenceType"/>
+    </xs:sequence>
+    <xs:attribute name="Id" type="xs:ID"/>
+  </xs:complexType>
+<xs:complexType mixed="true" name="CanonicalizationMethodType">
+    <xs:sequence>
+      <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
+    </xs:sequence>
+    <xs:attribute name="Algorithm" type="xs:anyURI" use="required"/>
+  </xs:complexType>
+<xs:complexType mixed="true" name="ObjectType">
+    <xs:sequence>
+      <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
+    </xs:sequence>
+    <xs:attribute name="Id" type="xs:ID"/>
+    <xs:attribute name="MimeType" type="xs:string"/>
+    <xs:attribute name="Encoding" type="xs:anyURI"/>
+  </xs:complexType>
+<xs:complexType name="ReferenceType">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="Transforms" type="tns:TransformsType"/>
+      <xs:element name="DigestMethod" type="tns:DigestMethodType"/>
+      <xs:element name="DigestValue" type="xs:base64Binary"/>
+    </xs:sequence>
+    <xs:attribute name="Id" type="xs:ID"/>
+    <xs:attribute name="URI" type="xs:anyURI"/>
+    <xs:attribute name="Type" type="xs:anyURI"/>
+  </xs:complexType>
+<xs:complexType name="TransformsType">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="Transform" type="tns:TransformType"/>
+    </xs:sequence>
+  </xs:complexType>
+<xs:complexType mixed="true" name="TransformType">
+    <xs:sequence>
+      <xs:choice maxOccurs="unbounded" minOccurs="0">
+        <xs:element name="XPath" type="xs:string"/>
+        <xs:any namespace="##other" processContents="lax"/>
+      </xs:choice>
+    </xs:sequence>
+    <xs:attribute name="Algorithm" type="xs:anyURI" use="required"/>
+  </xs:complexType>
+<xs:complexType mixed="true" name="DigestMethodType">
+    <xs:sequence>
+      <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
+    </xs:sequence>
+    <xs:attribute name="Algorithm" type="xs:anyURI" use="required"/>
+  </xs:complexType>
+<xs:complexType name="X509DataType">
+    <xs:sequence>
+      <xs:choice maxOccurs="unbounded" minOccurs="0">
+        <xs:element name="X509Certificate" type="xs:base64Binary"/>
+        <xs:element name="X509SKI" type="xs:base64Binary"/>
+        <xs:element name="X509CRL" type="xs:base64Binary"/>
+        <xs:element name="X509SubjectName" type="xs:string"/>
+        <xs:element name="X509IssuerSerial" type="tns:X509IssuerSerialType"/>
+        <xs:any namespace="##other" processContents="lax"/>
+      </xs:choice>
+    </xs:sequence>
+  </xs:complexType>
+<xs:complexType name="SignaturePropertiesType">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="SignatureProperty" type="tns:SignaturePropertyType"/>
+    </xs:sequence>
+    <xs:attribute name="Id" type="xs:ID"/>
+  </xs:complexType>
+<xs:complexType mixed="true" name="SignaturePropertyType">
+    <xs:sequence>
+      <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
+    </xs:sequence>
+    <xs:attribute name="Target" type="xs:anyURI" use="required"/>
+    <xs:attribute name="Id" type="xs:ID"/>
+  </xs:complexType>
+<xs:complexType name="RetrievalMethodType">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="Transforms" type="tns:TransformsType"/>
+    </xs:sequence>
+    <xs:attribute name="URI" type="xs:anyURI"/>
+    <xs:attribute name="Type" type="xs:anyURI"/>
+  </xs:complexType>
+<xs:complexType name="RSAKeyValueType">
+    <xs:sequence>
+      <xs:element name="Modulus" type="xs:base64Binary"/>
+      <xs:element name="Exponent" type="xs:base64Binary"/>
+    </xs:sequence>
+  </xs:complexType>
+<xs:complexType name="DSAKeyValueType">
+    <xs:sequence>
+      <xs:element minOccurs="0" name="P" type="xs:base64Binary"/>
+      <xs:element minOccurs="0" name="Q" type="xs:base64Binary"/>
+      <xs:element minOccurs="0" name="G" type="xs:base64Binary"/>
+      <xs:element name="Y" type="xs:base64Binary"/>
+      <xs:element minOccurs="0" name="J" type="xs:base64Binary"/>
+      <xs:element minOccurs="0" name="Seed" type="xs:base64Binary"/>
+      <xs:element minOccurs="0" name="PgenCounter" type="xs:base64Binary"/>
+    </xs:sequence>
+  </xs:complexType>
+<xs:complexType name="SignatureValueType">
+    <xs:simpleContent>
+      <xs:extension base="xs:base64Binary">
+        <xs:attribute name="Id" type="xs:ID"/>
+      </xs:extension>
+    </xs:simpleContent>
+  </xs:complexType>
+<xs:complexType name="SPKIDataType">
+    <xs:sequence>
+      <xs:choice maxOccurs="unbounded" minOccurs="0">
+        <xs:element name="SPKISexp" type="xs:base64Binary"/>
+        <xs:any namespace="##other" processContents="lax"/>
+      </xs:choice>
+    </xs:sequence>
+  </xs:complexType>
+<xs:complexType name="PGPDataType">
+    <xs:sequence>
+      <xs:choice maxOccurs="unbounded" minOccurs="0">
+        <xs:element name="PGPKeyID" type="xs:base64Binary"/>
+        <xs:element name="PGPKeyPacket" type="xs:base64Binary"/>
+        <xs:any namespace="##other" processContents="lax"/>
+      </xs:choice>
+    </xs:sequence>
+  </xs:complexType>
+<xs:complexType name="X509IssuerSerialType">
+    <xs:sequence>
+      <xs:element name="X509IssuerName" type="xs:string"/>
+      <xs:element name="X509SerialNumber" type="xs:integer"/>
+    </xs:sequence>
+  </xs:complexType>
+<xs:complexType mixed="true" name="SignatureMethodType">
+    <xs:sequence>
+      <xs:choice maxOccurs="unbounded" minOccurs="0">
+        <xs:element name="HMACOutputLength" type="xs:integer"/>
+        <xs:any namespace="##other" processContents="lax"/>
+      </xs:choice>
+    </xs:sequence>
+    <xs:attribute name="Algorithm" type="xs:anyURI" use="required"/>
+  </xs:complexType>
+<xs:complexType mixed="true" name="KeyInfoType">
+    <xs:sequence>
+      <xs:choice maxOccurs="unbounded" minOccurs="0">
+        <xs:element ref="tns:SPKIData"/>
+        <xs:element ref="tns:KeyName"/>
+        <xs:element ref="tns:PGPData"/>
+        <xs:element ref="tns:MgmtData"/>
+        <xs:element ref="tns:X509Data"/>
+        <xs:element ref="tns:KeyValue"/>
+        <xs:element ref="tns:RetrievalMethod"/>
+        <xs:any namespace="##other" processContents="lax"/>
+      </xs:choice>
+    </xs:sequence>
+    <xs:attribute name="Id" type="xs:ID"/>
+  </xs:complexType>
+<xs:complexType mixed="true" name="KeyValueType">
+    <xs:sequence>
+      <xs:choice maxOccurs="unbounded" minOccurs="0">
+        <xs:element ref="tns:DSAKeyValue"/>
+        <xs:element ref="tns:RSAKeyValue"/>
+        <xs:any namespace="##other" processContents="lax"/>
+      </xs:choice>
+    </xs:sequence>
+  </xs:complexType>
+<xs:complexType name="ManifestType">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" name="Reference" type="tns:ReferenceType"/>
+    </xs:sequence>
+    <xs:attribute name="Id" type="xs:ID"/>
+  </xs:complexType>
+</xs:schema>
+  </wsdl:types>
+  <wsdl:message name="get_allPublisherDetail">
+    <wsdl:part element="ns1:get_allPublisherDetail" name="body">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="save_ClientSubscriptionInfoResponse">
+    <wsdl:part element="ns1:clientSubscriptionInfoDetail" name="body">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="save_NodeResponse">
+    <wsdl:part element="ns1:nodeDetail" name="body">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="get_publisherDetail">
+    <wsdl:part element="ns1:get_publisherDetail" name="body">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="get_publisherDetailResponse">
+    <wsdl:part element="ns1:publisherDetail" name="body">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="save_ClerkResponse">
+    <wsdl:part element="ns1:clerkDetail" name="body">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="save_Clerk">
+    <wsdl:part element="ns1:save_Clerk" name="body">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="delete_ClientSubscriptionInfo">
+    <wsdl:part element="ns1:delete_ClientSubscriptionInfo" name="body">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="adminDelete_tmodelResponse">
+  </wsdl:message>
+  <wsdl:message name="adminDelete_tmodel">
+    <wsdl:part element="ns1:adminDelete_tmodel" name="body">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="delete_publisher">
+    <wsdl:part element="ns1:delete_publisher" name="body">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="save_ClientSubscriptionInfo">
+    <wsdl:part element="ns1:save_ClientSubscriptionInfo" name="body">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="delete_publisherResponse">
+  </wsdl:message>
+  <wsdl:message name="save_publisherResponse">
+    <wsdl:part element="ns1:publisherDetail" name="body">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="invoke_SyncSubscriptionResponse">
+    <wsdl:part element="ns1:syncSubcriptionDetail" name="body">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="invoke_SyncSubscription">
+    <wsdl:part element="ns1:invoke_SyncSubscription" name="body">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="get_allPublisherDetailResponse">
+    <wsdl:part element="ns1:publisherDetail" name="body">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="save_publisher">
+    <wsdl:part element="ns1:save_publisher" name="body">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="delete_ClientSubscriptionInfoResponse">
+  </wsdl:message>
+  <wsdl:message name="save_Node">
+    <wsdl:part element="ns1:save_Node" name="body">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:portType name="JUDDI_Api_PortType">
+    <wsdl:operation name="get_publisherDetail">
+      <wsdl:input message="tns:get_publisherDetail" name="get_publisherDetail">
+    </wsdl:input>
+      <wsdl:output message="tns:get_publisherDetailResponse" name="get_publisherDetailResponse">
+    </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="delete_ClientSubscriptionInfo">
+      <wsdl:input message="tns:delete_ClientSubscriptionInfo" name="delete_ClientSubscriptionInfo">
+    </wsdl:input>
+      <wsdl:output message="tns:delete_ClientSubscriptionInfoResponse" name="delete_ClientSubscriptionInfoResponse">
+    </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="save_Clerk">
+      <wsdl:input message="tns:save_Clerk" name="save_Clerk">
+    </wsdl:input>
+      <wsdl:output message="tns:save_ClerkResponse" name="save_ClerkResponse">
+    </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="get_allPublisherDetail">
+      <wsdl:input message="tns:get_allPublisherDetail" name="get_allPublisherDetail">
+    </wsdl:input>
+      <wsdl:output message="tns:get_allPublisherDetailResponse" name="get_allPublisherDetailResponse">
+    </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="delete_publisher">
+      <wsdl:input message="tns:delete_publisher" name="delete_publisher">
+    </wsdl:input>
+      <wsdl:output message="tns:delete_publisherResponse" name="delete_publisherResponse">
+    </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="save_publisher">
+      <wsdl:input message="tns:save_publisher" name="save_publisher">
+    </wsdl:input>
+      <wsdl:output message="tns:save_publisherResponse" name="save_publisherResponse">
+    </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="save_Node">
+      <wsdl:input message="tns:save_Node" name="save_Node">
+    </wsdl:input>
+      <wsdl:output message="tns:save_NodeResponse" name="save_NodeResponse">
+    </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="adminDelete_tmodel">
+      <wsdl:input message="tns:adminDelete_tmodel" name="adminDelete_tmodel">
+    </wsdl:input>
+      <wsdl:output message="tns:adminDelete_tmodelResponse" name="adminDelete_tmodelResponse">
+    </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="save_ClientSubscriptionInfo">
+      <wsdl:input message="tns:save_ClientSubscriptionInfo" name="save_ClientSubscriptionInfo">
+    </wsdl:input>
+      <wsdl:output message="tns:save_ClientSubscriptionInfoResponse" name="save_ClientSubscriptionInfoResponse">
+    </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="invoke_SyncSubscription">
+      <wsdl:input message="tns:invoke_SyncSubscription" name="invoke_SyncSubscription">
+    </wsdl:input>
+      <wsdl:output message="tns:invoke_SyncSubscriptionResponse" name="invoke_SyncSubscriptionResponse">
+    </wsdl:output>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="JUDDIApiServiceSoapBinding" type="tns:JUDDI_Api_PortType">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="get_publisherDetail">
+      <soap:operation soapAction="get_publisherDetail" style="document"/>
+      <wsdl:input name="get_publisherDetail">
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output name="get_publisherDetailResponse">
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="delete_ClientSubscriptionInfo">
+      <soap:operation soapAction="delete_ClientSubscriptionInfo" style="document"/>
+      <wsdl:input name="delete_ClientSubscriptionInfo">
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output name="delete_ClientSubscriptionInfoResponse">
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="get_allPublisherDetail">
+      <soap:operation soapAction="get_allPublisherDetail" style="document"/>
+      <wsdl:input name="get_allPublisherDetail">
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output name="get_allPublisherDetailResponse">
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="save_Clerk">
+      <soap:operation soapAction="save_Clerk" style="document"/>
+      <wsdl:input name="save_Clerk">
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output name="save_ClerkResponse">
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="delete_publisher">
+      <soap:operation soapAction="delete_publisher" style="document"/>
+      <wsdl:input name="delete_publisher">
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output name="delete_publisherResponse">
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="save_Node">
+      <soap:operation soapAction="save_Node" style="document"/>
+      <wsdl:input name="save_Node">
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output name="save_NodeResponse">
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="save_publisher">
+      <soap:operation soapAction="save_publisher" style="document"/>
+      <wsdl:input name="save_publisher">
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output name="save_publisherResponse">
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="adminDelete_tmodel">
+      <soap:operation soapAction="adminDelete_tmodel" style="document"/>
+      <wsdl:input name="adminDelete_tmodel">
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output name="adminDelete_tmodelResponse">
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="save_ClientSubscriptionInfo">
+      <soap:operation soapAction="save_ClientSubscriptionInfo" style="document"/>
+      <wsdl:input name="save_ClientSubscriptionInfo">
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output name="save_ClientSubscriptionInfoResponse">
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+    <wsdl:operation name="invoke_SyncSubscription">
+      <soap:operation soapAction="invoke_SyncSubscription" style="document"/>
+      <wsdl:input name="invoke_SyncSubscription">
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output name="invoke_SyncSubscriptionResponse">
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="JUDDIApiService">
+    <wsdl:port binding="tns:JUDDIApiServiceSoapBinding" name="JUDDIApiImplPort">
+      <soap:address location="http://localhost:8080/juddiv3/services/juddi-api"/>
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file

Modified: juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.mapping/WSDL2UDDI.cs
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.mapping/WSDL2UDDI.cs?rev=1540346&r1=1540345&r2=1540346&view=diff
==============================================================================
--- juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.mapping/WSDL2UDDI.cs (original)
+++ juddi/trunk/juddi-client.net/juddi-client.net/org.apache.juddi.v3.client.mapping/WSDL2UDDI.cs Sat Nov  9 17:34:10 2013
@@ -51,8 +51,16 @@ namespace org.apache.juddi.v3.client.map
  */
     public class WSDL2UDDI
     {
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="clerk"></param>
+        /// <param name="urlLocalizer"></param>
+        /// <param name="properties">required props, keyDomain,businessKey, nodeName </param>
         public WSDL2UDDI(UDDIClerk clerk, URLLocalizer urlLocalizer, Properties properties)
         {
+            if (properties == null)
+                throw new ArgumentNullException("properties");
             this.clerk = clerk;
             this.urlLocalizer = urlLocalizer;
             this.properties = properties;
@@ -61,11 +69,11 @@ namespace org.apache.juddi.v3.client.map
             {
                 if (!properties.containsKey("keyDomain"))
                 {
-                    throw new ConfigurationException("Property keyDomain is a required property when using WSDL2UDDI.");
+                    throw new ConfigurationErrorsException("Property keyDomain is a required property when using WSDL2UDDI.");
                 }
                 if (!properties.containsKey("businessKey") && !properties.containsKey("businessName"))
                 {
-                    throw new ConfigurationException("Either property businessKey, or businessName, is a required property when using WSDL2UDDI.");
+                    throw new ConfigurationErrorsException("Either property businessKey, or businessName, is a required property when using WSDL2UDDI.");
                 }
                 if (!properties.containsKey("nodeName"))
                 {
@@ -76,7 +84,7 @@ namespace org.apache.juddi.v3.client.map
                     }
                     else
                     {
-                        throw new ConfigurationException("Property nodeName is not defined and is a required property when using WSDL2UDDI.");
+                        throw new ConfigurationErrorsException("Property nodeName is not defined and is a required property when using WSDL2UDDI.");
                     }
                 }
             }
@@ -1098,7 +1106,8 @@ namespace org.apache.juddi.v3.client.map
     }
 
     /// <summary>
-    /// Information about a web service
+    /// Information about a web service, a WSDL Parser
+    /// Supports imported WSDL's
     /// </summary>
     public class ReadWSDL
     {
@@ -1109,8 +1118,17 @@ namespace org.apache.juddi.v3.client.map
             set { ignoressl = value; }
         }
 
+        /// <summary>
+        /// Parses a WSDL. Note all exceptions are returned to the caller, including transport
+        /// IO and parsing errors
+        /// </summary>
+        /// <param name="file">the file path or URL to the WSDL</param>
+        /// <returns></returns>
+        /// <throws>ArgumentNullException if file is null</throws>
         public org.xmlsoap.schemas.easyWsdl.tDefinitions readWSDL(String file)
         {
+            if (file == null)
+                throw new ArgumentNullException();
             org.xmlsoap.schemas.easyWsdl.tDefinitions wsdl = getWsdl(file);
             return wsdl;
         }

Modified: juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java?rev=1540346&r1=1540345&r2=1540346&view=diff
==============================================================================
--- juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java (original)
+++ juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/ClientConfig.java Sat Nov  9 17:34:10 2013
@@ -140,7 +140,7 @@ public class ClientConfig 
 		if (config.containsKey("client.clerks.clerk[@name]")) {
 			String[] names = config.getStringArray("client.clerks.clerk[@name]");
 			
-			log.debug("clerk names=" + names);
+			log.debug("clerk names=" + names.length);
 			for (int i=0; i<names.length; i++) {
 				UDDIClerk uddiClerk = new UDDIClerk();
 				uddiClerk.setManagerName(clientName);
@@ -219,7 +219,7 @@ public class ClientConfig 
 	throws ConfigurationException {
 		String[] names = config.getStringArray("client.nodes.node.name");
 		Map<String,UDDINode> nodes = new HashMap<String,UDDINode>();
-		log.debug("node names=" + names);
+		log.debug("node names=" + names.length);
 		for (int i=0; i<names.length; i++) {
 			UDDINode uddiNode = new UDDINode();
 			String nodeName = config.getString("client.nodes.node(" + i +").name");

Modified: juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java?rev=1540346&r1=1540345&r2=1540346&view=diff
==============================================================================
--- juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java (original)
+++ juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerk.java Sat Nov  9 17:34:10 2013
@@ -315,20 +315,20 @@ public class UDDIClerk implements Serial
         BindingTemplate bindingTemplate = null;
         log.info("Registering bindingTemplate with key " + binding.getBindingKey());
         try {
-            String authToken = getAuthToken(node.getSecurityUrl());
+            String authToken2 = getAuthToken(node.getSecurityUrl());
             SaveBinding saveBinding = new SaveBinding();
-            saveBinding.setAuthInfo(authToken);
+            saveBinding.setAuthInfo(authToken2);
             saveBinding.getBindingTemplate().add(binding);
             BindingDetail bindingDetail = getUDDINode().getTransport().getUDDIPublishService(node.getPublishUrl()).saveBinding(saveBinding);
             bindingTemplate = bindingDetail.getBindingTemplate().get(0);
             if (log.isDebugEnabled()) {
-                log.debug("Registering template binding " + binding.getBindingKey() + " completed.");
+                log.debug("Registering template binding " + bindingTemplate.getBindingKey() + " completed.");
             }
         } catch (Exception e) {
-            log.error("Unable to register template binding " + bindingTemplate.getBindingKey()
+            log.error("Unable to register template binding " + binding.getBindingKey()
                     + " ." + e.getMessage(), e);
         } catch (Throwable t) {
-            log.error("Unable to register template binding " + bindingTemplate.getBindingKey()
+            log.error("Unable to register template binding " + binding.getBindingKey()
                     + " ." + t.getMessage(), t);
         }
         return bindingTemplate;

Modified: juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/WebHelper.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/WebHelper.java?rev=1540346&r1=1540345&r2=1540346&view=diff
==============================================================================
--- juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/WebHelper.java (original)
+++ juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/WebHelper.java Sat Nov  9 17:34:10 2013
@@ -17,8 +17,6 @@
 package org.apache.juddi.v3.client.config;
 
 import java.lang.reflect.InvocationTargetException;
-import java.net.MalformedURLException;
-import java.net.URL;
 
 import javax.servlet.ServletContext;
 
@@ -30,7 +28,7 @@ import org.apache.juddi.v3.client.transp
 
 public class WebHelper {
 	
-	public static Log logger = LogFactory.getLog(WebHelper.class);
+	public static final Log logger = LogFactory.getLog(WebHelper.class);
 	public static final String UDDI_CLIENT_NAME           = "uddi.client.name";
 	public static final String UDDI_CLIENT_CONFIG_FILE    = "uddi.client.config.file";
 	public static final String JUDDI_CLIENT_NAME          = "juddi.client.name";

Modified: juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/cryptor/CryptorFactory.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/cryptor/CryptorFactory.java?rev=1540346&r1=1540345&r2=1540346&view=diff
==============================================================================
--- juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/cryptor/CryptorFactory.java (original)
+++ juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/cryptor/CryptorFactory.java Sat Nov  9 17:34:10 2013
@@ -22,8 +22,6 @@ import java.util.Map;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.juddi.v3.client.ClassUtil;
-import org.apache.juddi.v3.client.config.Property;
-import org.apache.juddi.v3.client.config.UDDIClerk;
 
 /**
  * Used to create the org.apache.juddi.cryptor.Cryptor implementation

Modified: juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/cryptor/DigSigUtil.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/cryptor/DigSigUtil.java?rev=1540346&r1=1540345&r2=1540346&view=diff
==============================================================================
--- juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/cryptor/DigSigUtil.java (original)
+++ juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/cryptor/DigSigUtil.java Sat Nov  9 17:34:10 2013
@@ -476,7 +476,7 @@ public class DigSigUtil {
 
             X509Certificate signingcert = getSigningCertificatePublicKey(obj, docElement);
 
-            if (signingcert != null && signingcert instanceof X509Certificate) {
+            if (signingcert != null ) {
                 logger.info("verifying signature based on X509 public key " + signingcert.getSubjectDN().toString());
                 if (map.containsKey(CHECK_TIMESTAMPS) && Boolean.parseBoolean(map.getProperty(CHECK_TIMESTAMPS))) {
                     signingcert.checkValidity();
@@ -529,6 +529,7 @@ public class DigSigUtil {
 
                     TrustAnchor ta = pkixResult.getTrustAnchor();
                     X509Certificate cert = ta.getTrustedCert();
+                    
                     logger.info("trust chain validated X509 public key " + signingcert.getSubjectDN().toString());
                 }
                 return verifySignature(docElement, signingcert.getPublicKey(), OutErrorMessage);
@@ -551,9 +552,16 @@ public class DigSigUtil {
                 } catch (Exception x) {
                 }
             }
+            if (url == null) {
+                logger.error("");
+                OutErrorMessage.set("The signed entity is signed but does not have a certificate attached and"
+                        + "you didn't specify a keystore for me to look it up in");
+                return false;
+            }
+            KeyStore.PrivateKeyEntry keyEntry = null;
 
             ks.load(url.openStream(), map.getProperty(SIGNATURE_KEYSTORE_FILE_PASSWORD).toCharArray());
-            KeyStore.PrivateKeyEntry keyEntry = null;
+
             if (map.getProperty(SIGNATURE_KEYSTORE_KEY_PASSWORD) == null) {
                 keyEntry =
                         (KeyStore.PrivateKeyEntry) ks.getEntry(map.getProperty(SIGNATURE_KEYSTORE_KEY_ALIAS),

Modified: juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/BPEL2UDDI.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/BPEL2UDDI.java?rev=1540346&r1=1540345&r2=1540346&view=diff
==============================================================================
--- juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/BPEL2UDDI.java (original)
+++ juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/BPEL2UDDI.java Sat Nov  9 17:34:10 2013
@@ -495,7 +495,7 @@ public class BPEL2UDDI extends Annotatio
     	CategoryBag categoryBag = new CategoryBag();
     	
     	String namespace = serviceName.getNamespaceURI();
-    	if (namespace!=null && namespace!="") {
+    	if (namespace!=null && namespace.length()!=0) {
     		KeyedReference namespaceReference = WSDL2UDDI.newKeyedReference(
     			"uddi:uddi.org:xml:namespace", "uddi-org:xml:namespace", namespace);
     		categoryBag.getKeyedReference().add(namespaceReference);

Modified: juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/UDDIServiceCache.java
URL: http://svn.apache.org/viewvc/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/UDDIServiceCache.java?rev=1540346&r1=1540345&r2=1540346&view=diff
==============================================================================
--- juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/UDDIServiceCache.java (original)
+++ juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/mapping/UDDIServiceCache.java Sat Nov  9 17:34:10 2013
@@ -216,7 +216,7 @@ public class UDDIServiceCache implements
         }
         
         try {
-        	if (! mbeanServer.isRegistered(mbeanName))
+        	if (mbeanServer!=null && ! mbeanServer.isRegistered(mbeanName))
         		mbeanServer.registerMBean(this, mbeanName);
         } catch (InstanceAlreadyExistsException e) {
             log.warn("", e);



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