Author: ryman
Date: Fri May 19 12:09:26 2006
New Revision: 407885

URL: http://svn.apache.org/viewvc?rev=407885&view=rev
Log:
Added SOAP binding extension output to Ant task and regenerated test results.

Modified:
    incubator/woden/java/   (props changed)
    incubator/woden/java/ant-test/build.xml
    incubator/woden/java/ant-test/test-suite-results.zip
    incubator/woden/java/ant-test/test.xml
    incubator/woden/java/src/org/apache/woden/ant/WsdlCm.java

Propchange: incubator/woden/java/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Fri May 19 12:09:26 2006
@@ -4,3 +4,4 @@
 bin
 getBalance.wsdlcm
 out.wsdlcm
+.settings

Modified: incubator/woden/java/ant-test/build.xml
URL: 
http://svn.apache.org/viewvc/incubator/woden/java/ant-test/build.xml?rev=407885&r1=407884&r2=407885&view=diff
==============================================================================
--- incubator/woden/java/ant-test/build.xml (original)
+++ incubator/woden/java/ant-test/build.xml Fri May 19 12:09:26 2006
@@ -32,7 +32,8 @@
        </target>
 
        <target name="schemavalidate-results" description="---> Validates 
component model interchange format results againt schema.">
-               <schemavalidate>
+               <schemavalidate failonerror="no">
+                       <schema 
namespace="http://www.w3.org/XML/1998/namespace"; file="${xsd.dir}/xml.xsd" />
                        <schema 
namespace="http://www.w3.org/2002/ws/desc/wsdl/component"; 
file="${xsd.dir}/wsdlcm.xsd" />
                        <schema 
namespace="http://www.w3.org/2002/ws/desc/wsdl/component-base"; 
file="${xsd.dir}/wsdlcm-base.xsd" />
                        <schema 
namespace="http://www.w3.org/2002/ws/desc/wsdl/component-extensions"; 
file="${xsd.dir}/wsdlcm-extensions.xsd" />

Modified: incubator/woden/java/ant-test/test-suite-results.zip
URL: 
http://svn.apache.org/viewvc/incubator/woden/java/ant-test/test-suite-results.zip?rev=407885&r1=407884&r2=407885&view=diff
==============================================================================
Binary files - no diff available.

Modified: incubator/woden/java/ant-test/test.xml
URL: 
http://svn.apache.org/viewvc/incubator/woden/java/ant-test/test.xml?rev=407885&r1=407884&r2=407885&view=diff
==============================================================================
--- incubator/woden/java/ant-test/test.xml (original)
+++ incubator/woden/java/ant-test/test.xml Fri May 19 12:09:26 2006
@@ -1,476 +1,549 @@
+<?xml version='1.0' encoding='UTF-8'?>
 <descriptionComponent xmlns='http://www.w3.org/2002/ws/desc/wsdl/component'
  xmlns:cmextensions='http://www.w3.org/2002/ws/desc/wsdl/component-extensions'
+ xmlns:cmbase='http://www.w3.org/2002/ws/desc/wsdl/component-base'
  xmlns:cmhttp='http://www.w3.org/2002/ws/desc/wsdl/component-http'
  xmlns:cmrpc='http://www.w3.org/2002/ws/desc/wsdl/component-rpc'
  xmlns:cmsoap='http://www.w3.org/2002/ws/desc/wsdl/component-soap'
-xml:id='id-18055655'>
+xml:id='id-30533424'>
   <interfaces>
-    <interfaceComponent xml:id='id-24417480'>
+    <interfaceComponent xml:id='id-14620722'>
       <name>
-        
<namespaceName>http://greath.example.com/2004/wsdl/resSvc</namespaceName>
-        <localName>reservationInterface</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2005/08/sparql-protocol-query/#</cmbase:namespaceName>
+        <cmbase:localName>SparqlQuery</cmbase:localName>
       </name>
       <interfaceFaults>
-        <interfaceFaultComponent xml:id='id-22507120'>
+        <interfaceFaultComponent xml:id='id-5226838'>
           <name>
-            
<namespaceName>http://greath.example.com/2004/wsdl/resSvc</namespaceName>
-            <localName>invalidDataFault</localName>
+            
<cmbase:namespaceName>http://www.w3.org/2005/08/sparql-protocol-query/#</cmbase:namespaceName>
+            <cmbase:localName>MalformedQuery</cmbase:localName>
           </name>
-          <elementDeclaration ref='id-14927396'/>
-          <parent ref='id-24417480'/>
+          <elementDeclaration ref='id-null'/>
+          <parent ref='id-14620722'/>
+        </interfaceFaultComponent>
+        <interfaceFaultComponent xml:id='id-1977511'>
+          <name>
+            
<cmbase:namespaceName>http://www.w3.org/2005/08/sparql-protocol-query/#</cmbase:namespaceName>
+            <cmbase:localName>QueryRequestRefused</cmbase:localName>
+          </name>
+          <elementDeclaration ref='id-null'/>
+          <parent ref='id-14620722'/>
         </interfaceFaultComponent>
       </interfaceFaults>
       <interfaceOperations>
-        <interfaceOperationComponent xml:id='id-30931963'>
+        <interfaceOperationComponent xml:id='id-6504030'>
           <name>
-            
<namespaceName>http://greath.example.com/2004/wsdl/resSvc</namespaceName>
-            <localName>opCheckAvailability</localName>
+            
<cmbase:namespaceName>http://www.w3.org/2005/08/sparql-protocol-query/#</cmbase:namespaceName>
+            <cmbase:localName>query</cmbase:localName>
           </name>
           
<messageExchangePattern>http://www.w3.org/2006/01/wsdl/in-out</messageExchangePattern>
           <interfaceMessageReferences>
-            <interfaceMessageReferenceComponent xml:id='id-8949356'>
+            <interfaceMessageReferenceComponent xml:id='id-22507120'>
               <messageLabel>In</messageLabel>
               <direction>in</direction>
               <messageContentModel>#element</messageContentModel>
-              <elementDeclaration ref='id-20863188'/>
-              <parent ref='id-30931963'/>
+              <elementDeclaration ref='id-null'/>
+              <parent ref='id-6504030'/>
             </interfaceMessageReferenceComponent>
-            <interfaceMessageReferenceComponent xml:id='id-3794357'>
+            <interfaceMessageReferenceComponent xml:id='id-18055655'>
               <messageLabel>Out</messageLabel>
               <direction>out</direction>
               <messageContentModel>#element</messageContentModel>
-              <elementDeclaration ref='id-18346782'/>
-              <parent ref='id-30931963'/>
+              <elementDeclaration ref='id-null'/>
+              <parent ref='id-6504030'/>
             </interfaceMessageReferenceComponent>
           </interfaceMessageReferences>
           <interfaceFaultReferences>
-            <interfaceFaultReferenceComponent xml:id='id-6251267'>
-              <interfaceFault ref='id-22507120'/>
+            <interfaceFaultReferenceComponent xml:id='id-24417480'>
+              <interfaceFault ref='id-5226838'/>
               <messageLabel>Out</messageLabel>
               <direction>out</direction>
-              <parent ref='id-30931963'/>
+              <parent ref='id-6504030'/>
+            </interfaceFaultReferenceComponent>
+            <interfaceFaultReferenceComponent xml:id='id-13884241'>
+              <interfaceFault ref='id-1977511'/>
+              <messageLabel>Out</messageLabel>
+              <direction>out</direction>
+              <parent ref='id-6504030'/>
             </interfaceFaultReferenceComponent>
           </interfaceFaultReferences>
-          <style>
-            <uri>http://www.w3.org/2006/01/wsdl/style/rpc</uri>
-          </style>
-          <parent ref='id-24417480'/>
-          <cmrpc:rpcSignature>
-            <cmrpc:argument>
-              <cmrpc:name>
-                
<namespaceName>http://greath.example.com/2004/schemas/resSvc</namespaceName>
-                <localName>checkInDate</localName>
-              </cmrpc:name>
-              <cmrpc:direction>#in</cmrpc:direction>
-            </cmrpc:argument>
-            <cmrpc:argument>
-              <cmrpc:name>
-                
<namespaceName>http://greath.example.com/2004/schemas/resSvc</namespaceName>
-                <localName>checkOutDate</localName>
-              </cmrpc:name>
-              <cmrpc:direction>#in</cmrpc:direction>
-            </cmrpc:argument>
-            <cmrpc:argument>
-              <cmrpc:name>
-                
<namespaceName>http://greath.example.com/2004/schemas/resSvc</namespaceName>
-                <localName>roomType</localName>
-              </cmrpc:name>
-              <cmrpc:direction>#in</cmrpc:direction>
-            </cmrpc:argument>
-            <cmrpc:argument>
-              <cmrpc:name>
-                
<namespaceName>http://greath.example.com/2004/schemas/resSvc</namespaceName>
-                <localName>availability</localName>
-              </cmrpc:name>
-              <cmrpc:direction>#return</cmrpc:direction>
-            </cmrpc:argument>
-          </cmrpc:rpcSignature>
+          <parent ref='id-14620722'/>
         </interfaceOperationComponent>
       </interfaceOperations>
     </interfaceComponent>
   </interfaces>
   <bindings>
-    <bindingComponent xml:id='id-15081425'>
+    <bindingComponent xml:id='id-31817359'>
+      <name>
+        
<cmbase:namespaceName>http://www.w3.org/2005/08/sparql-protocol-query/#</cmbase:namespaceName>
+        <cmbase:localName>queryHttpGet</cmbase:localName>
+      </name>
+      <interface ref='id-14620722'/>
+      <type>http://www.w3.org/2006/01/wsdl/http</type>
+      <bindingFaults>
+        <bindingFaultComponent xml:id='id-14688457'>
+          <interfaceFault ref='id-5226838'/>
+          <parent ref='id-31817359'/>
+        </bindingFaultComponent>
+        <bindingFaultComponent xml:id='id-8949356'>
+          <interfaceFault ref='id-1977511'/>
+          <parent ref='id-31817359'/>
+        </bindingFaultComponent>
+      </bindingFaults>
+      <bindingOperations>
+        <bindingOperationComponent xml:id='id-3794357'>
+          <interfaceOperation ref='id-6504030'/>
+          <parent ref='id-31817359'/>
+        </bindingOperationComponent>
+      </bindingOperations>
+    </bindingComponent>
+    <bindingComponent xml:id='id-18346782'>
+      <name>
+        
<cmbase:namespaceName>http://www.w3.org/2005/08/sparql-protocol-query/#</cmbase:namespaceName>
+        <cmbase:localName>queryHttpPost</cmbase:localName>
+      </name>
+      <interface ref='id-14620722'/>
+      <type>http://www.w3.org/2006/01/wsdl/http</type>
+      <bindingFaults>
+        <bindingFaultComponent xml:id='id-22700073'>
+          <interfaceFault ref='id-5226838'/>
+          <parent ref='id-18346782'/>
+        </bindingFaultComponent>
+        <bindingFaultComponent xml:id='id-6131844'>
+          <interfaceFault ref='id-1977511'/>
+          <parent ref='id-18346782'/>
+        </bindingFaultComponent>
+      </bindingFaults>
+      <bindingOperations>
+        <bindingOperationComponent xml:id='id-12245160'>
+          <interfaceOperation ref='id-6504030'/>
+          <parent ref='id-18346782'/>
+        </bindingOperationComponent>
+      </bindingOperations>
+    </bindingComponent>
+    <bindingComponent xml:id='id-3346521'>
       <name>
-        
<namespaceName>http://greath.example.com/2004/wsdl/resSvc</namespaceName>
-        <localName>reservationSOAPBinding</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2005/08/sparql-protocol-query/#</cmbase:namespaceName>
+        <cmbase:localName>querySoap</cmbase:localName>
       </name>
-      <interface ref='id-24417480'/>
+      <interface ref='id-14620722'/>
       <type>http://www.w3.org/2006/01/wsdl/soap</type>
       <bindingFaults>
         <bindingFaultComponent xml:id='id-7760420'>
-          <interfaceFault ref='id-22507120'/>
-          <parent ref='id-15081425'/>
+          <interfaceFault ref='id-5226838'/>
+          <parent ref='id-3346521'/>
+          <cmsoap:soapFaultCode>[EMAIL PROTECTED]</cmsoap:soapFaultCode>
+          <cmsoap:soapFaultSubodes>[EMAIL PROTECTED]</cmsoap:soapFaultSubodes>
+        </bindingFaultComponent>
+        <bindingFaultComponent xml:id='id-9818046'>
+          <interfaceFault ref='id-1977511'/>
+          <parent ref='id-3346521'/>
+          <cmsoap:soapFaultCode>[EMAIL PROTECTED]</cmsoap:soapFaultCode>
+          <cmsoap:soapFaultSubodes>[EMAIL PROTECTED]</cmsoap:soapFaultSubodes>
         </bindingFaultComponent>
       </bindingFaults>
       <bindingOperations>
-        <bindingOperationComponent xml:id='id-24595355'>
-          <interfaceOperation ref='id-30931963'/>
-          <parent ref='id-15081425'/>
+        <bindingOperationComponent xml:id='id-26542488'>
+          <interfaceOperation ref='id-6504030'/>
+          <parent ref='id-3346521'/>
+          
<cmsoap:soapMep>http://www.w3.org/2003/05/soap/mep/request-response</cmsoap:soapMep>
         </bindingOperationComponent>
       </bindingOperations>
+      <cmsoap:soapVersion>1.2</cmsoap:soapVersion>
     </bindingComponent>
   </bindings>
-  <services>
-    <serviceComponent xml:id='id-9818046'>
-      <name>
-        
<namespaceName>http://greath.example.com/2004/wsdl/resSvc</namespaceName>
-        <localName>reservationService</localName>
-      </name>
-      <interface ref='id-24417480'/>
-      <endpoints>
-        <endpointComponent xml:id='id-26542488'>
-          <name>reservationEndpoint</name>
-          <binding ref='id-15081425'/>
-          <address>http://greath.example.com/2004/reservation</address>
-          <parent ref='id-9818046'/>
-        </endpointComponent>
-      </endpoints>
-    </serviceComponent>
-  </services>
   <elementDeclarations>
-    <elementDeclarationComponent xml:id='id-14927396'>
+    <elementDeclarationComponent xml:id='id-14314484'>
       <name>
-        
<namespaceName>http://greath.example.com/2004/schemas/resSvc</namespaceName>
-        <localName>invalidDataError</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2005/sparql-results#</cmbase:namespaceName>
+        <cmbase:localName>binding</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </elementDeclarationComponent>
-    <elementDeclarationComponent xml:id='id-20863188'>
+    <elementDeclarationComponent xml:id='id-31820984'>
       <name>
-        
<namespaceName>http://greath.example.com/2004/schemas/resSvc</namespaceName>
-        <localName>opCheckAvailability</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2005/sparql-results#</cmbase:namespaceName>
+        <cmbase:localName>bnode</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </elementDeclarationComponent>
-    <elementDeclarationComponent xml:id='id-18346782'>
+    <elementDeclarationComponent xml:id='id-24744797'>
       <name>
-        
<namespaceName>http://greath.example.com/2004/schemas/resSvc</namespaceName>
-        <localName>opCheckAvailabilityResponse</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2005/sparql-results#</cmbase:namespaceName>
+        <cmbase:localName>boolean</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </elementDeclarationComponent>
-  </elementDeclarations>
-  <typeDefinitions>
-    <typeDefinitionComponent xml:id='id-31820984'>
-      <name>
-        
<namespaceName>http://greath.example.com/2004/schemas/resSvc</namespaceName>
-        <localName>tCheckAvailability</localName>
-      </name>
-      <system>http://www.w3.org/2001/XMLSchema</system>
-    </typeDefinitionComponent>
-    <typeDefinitionComponent xml:id='id-24744797'>
+    <elementDeclarationComponent xml:id='id-12182618'>
       <name>
-        
<namespaceName>http://greath.example.com/2004/schemas/resSvc</namespaceName>
-        <localName>tCheckAvailabilityResponse</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2005/sparql-results#</cmbase:namespaceName>
+        <cmbase:localName>head</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
-    </typeDefinitionComponent>
-    <typeDefinitionComponent xml:id='id-12182618'>
-      <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>ENTITIES</localName>
-      </name>
-      <system>http://www.w3.org/2001/XMLSchema</system>
-    </typeDefinitionComponent>
-    <typeDefinitionComponent xml:id='id-4126736'>
-      <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>ENTITY</localName>
-      </name>
-      <system>http://www.w3.org/2001/XMLSchema</system>
-    </typeDefinitionComponent>
-    <typeDefinitionComponent xml:id='id-421988'>
+    </elementDeclarationComponent>
+    <elementDeclarationComponent xml:id='id-4126736'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>ID</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2005/sparql-results#</cmbase:namespaceName>
+        <cmbase:localName>link</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
-    </typeDefinitionComponent>
-    <typeDefinitionComponent xml:id='id-12376621'>
+    </elementDeclarationComponent>
+    <elementDeclarationComponent xml:id='id-421988'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>IDREF</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2005/sparql-results#</cmbase:namespaceName>
+        <cmbase:localName>literal</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
-    </typeDefinitionComponent>
-    <typeDefinitionComponent xml:id='id-9949215'>
+    </elementDeclarationComponent>
+    <elementDeclarationComponent xml:id='id-12376621'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>IDREFS</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2005/sparql-results#</cmbase:namespaceName>
+        <cmbase:localName>result</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
-    </typeDefinitionComponent>
-    <typeDefinitionComponent xml:id='id-14721926'>
+    </elementDeclarationComponent>
+    <elementDeclarationComponent xml:id='id-9949215'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>NCName</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2005/sparql-results#</cmbase:namespaceName>
+        <cmbase:localName>results</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
-    </typeDefinitionComponent>
-    <typeDefinitionComponent xml:id='id-1043272'>
+    </elementDeclarationComponent>
+    <elementDeclarationComponent xml:id='id-14721926'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>NMTOKEN</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2005/sparql-results#</cmbase:namespaceName>
+        <cmbase:localName>sparql</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
-    </typeDefinitionComponent>
-    <typeDefinitionComponent xml:id='id-18871350'>
+    </elementDeclarationComponent>
+    <elementDeclarationComponent xml:id='id-1043272'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>NMTOKENS</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2005/sparql-results#</cmbase:namespaceName>
+        <cmbase:localName>uri</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
-    </typeDefinitionComponent>
-    <typeDefinitionComponent xml:id='id-14301726'>
+    </elementDeclarationComponent>
+    <elementDeclarationComponent xml:id='id-18871350'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>NOTATION</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2005/sparql-results#</cmbase:namespaceName>
+        <cmbase:localName>variable</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
-    </typeDefinitionComponent>
+    </elementDeclarationComponent>
+  </elementDeclarations>
+  <typeDefinitions>
     <typeDefinitionComponent xml:id='id-18725445'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>Name</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>ENTITIES</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-11549664'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>QName</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>ENTITY</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-2814081'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>anyURI</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>ID</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-18064701'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>base64Binary</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>IDREF</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-12929374'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>boolean</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>IDREFS</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-5503831'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>byte</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>NCName</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-26882784'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>date</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>NMTOKEN</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-8534260'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>dateTime</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>NMTOKENS</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-23668144'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>decimal</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>NOTATION</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-2719739'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>double</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>Name</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-9523050'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>duration</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>QName</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-32820206'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>float</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>anyURI</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-7896426'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>gDay</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>base64Binary</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-7461949'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>gMonth</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>boolean</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-20079748'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>gMonthDay</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>byte</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-23414511'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>gYear</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>date</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-1321194'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>gYearMonth</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>dateTime</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-25840096'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>hexBinary</localName>
-      </name>
-      <system>http://www.w3.org/2001/XMLSchema</system>
-    </typeDefinitionComponent>
-    <typeDefinitionComponent xml:id='id-33040770'>
-      <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>int</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>decimal</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-23930419'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>integer</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>double</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-15142448'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>language</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>duration</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-22316618'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>long</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>float</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-3969559'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>negativeInteger</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>gDay</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-10175206'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>nonNegativeInteger</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>gMonth</cmbase:localName>
+      </name>
+      <system>http://www.w3.org/2001/XMLSchema</system>
+    </typeDefinitionComponent>
+    <typeDefinitionComponent xml:id='id-21307627'>
+      <name>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>gMonthDay</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-24389376'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>nonPositiveInteger</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>gYear</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-11317592'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>normalizedString</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>gYearMonth</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-28259286'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>positiveInteger</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>hexBinary</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-24392121'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>short</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>int</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-23886295'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>string</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>integer</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-11746570'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>time</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>language</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-23894119'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>token</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>long</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-9030750'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>unsignedByte</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>negativeInteger</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-13121485'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>unsignedInt</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>nonNegativeInteger</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-13080585'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>unsignedLong</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>nonPositiveInteger</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>
     <typeDefinitionComponent xml:id='id-30308427'>
       <name>
-        <namespaceName>http://www.w3.org/2001/XMLSchema</namespaceName>
-        <localName>unsignedShort</localName>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>normalizedString</cmbase:localName>
+      </name>
+      <system>http://www.w3.org/2001/XMLSchema</system>
+    </typeDefinitionComponent>
+    <typeDefinitionComponent xml:id='id-3916915'>
+      <name>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>positiveInteger</cmbase:localName>
+      </name>
+      <system>http://www.w3.org/2001/XMLSchema</system>
+    </typeDefinitionComponent>
+    <typeDefinitionComponent xml:id='id-31365828'>
+      <name>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>short</cmbase:localName>
+      </name>
+      <system>http://www.w3.org/2001/XMLSchema</system>
+    </typeDefinitionComponent>
+    <typeDefinitionComponent xml:id='id-25345246'>
+      <name>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>string</cmbase:localName>
+      </name>
+      <system>http://www.w3.org/2001/XMLSchema</system>
+    </typeDefinitionComponent>
+    <typeDefinitionComponent xml:id='id-4047035'>
+      <name>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>time</cmbase:localName>
+      </name>
+      <system>http://www.w3.org/2001/XMLSchema</system>
+    </typeDefinitionComponent>
+    <typeDefinitionComponent xml:id='id-3686501'>
+      <name>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>token</cmbase:localName>
+      </name>
+      <system>http://www.w3.org/2001/XMLSchema</system>
+    </typeDefinitionComponent>
+    <typeDefinitionComponent xml:id='id-17547166'>
+      <name>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>unsignedByte</cmbase:localName>
+      </name>
+      <system>http://www.w3.org/2001/XMLSchema</system>
+    </typeDefinitionComponent>
+    <typeDefinitionComponent xml:id='id-5324129'>
+      <name>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>unsignedInt</cmbase:localName>
+      </name>
+      <system>http://www.w3.org/2001/XMLSchema</system>
+    </typeDefinitionComponent>
+    <typeDefinitionComponent xml:id='id-26530674'>
+      <name>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>unsignedLong</cmbase:localName>
+      </name>
+      <system>http://www.w3.org/2001/XMLSchema</system>
+    </typeDefinitionComponent>
+    <typeDefinitionComponent xml:id='id-29752800'>
+      <name>
+        
<cmbase:namespaceName>http://www.w3.org/2001/XMLSchema</cmbase:namespaceName>
+        <cmbase:localName>unsignedShort</cmbase:localName>
+      </name>
+      <system>http://www.w3.org/2001/XMLSchema</system>
+    </typeDefinitionComponent>
+    <typeDefinitionComponent xml:id='id-27165481'>
+      <name>
+        
<cmbase:namespaceName>http://www.w3.org/2005/sparql-results#</cmbase:namespaceName>
+        <cmbase:localName>URI-reference</cmbase:localName>
       </name>
       <system>http://www.w3.org/2001/XMLSchema</system>
     </typeDefinitionComponent>

Modified: incubator/woden/java/src/org/apache/woden/ant/WsdlCm.java
URL: 
http://svn.apache.org/viewvc/incubator/woden/java/src/org/apache/woden/ant/WsdlCm.java?rev=407885&r1=407884&r2=407885&view=diff
==============================================================================
--- incubator/woden/java/src/org/apache/woden/ant/WsdlCm.java (original)
+++ incubator/woden/java/src/org/apache/woden/ant/WsdlCm.java Fri May 19 
12:09:26 2006
@@ -66,10 +66,19 @@
 import org.apache.woden.wsdl20.Property;
 import org.apache.woden.wsdl20.Service;
 import org.apache.woden.wsdl20.TypeDefinition;
+import org.apache.woden.wsdl20.enumeration.SoapFaultCode;
+import org.apache.woden.wsdl20.enumeration.SoapFaultSubcodes;
 import org.apache.woden.wsdl20.extensions.ComponentExtensions;
 import org.apache.woden.wsdl20.extensions.InterfaceOperationExtensions;
 import org.apache.woden.wsdl20.extensions.rpc.Argument;
 import org.apache.woden.wsdl20.extensions.rpc.RPCInterfaceOperationExtensions;
+import org.apache.woden.wsdl20.extensions.soap.SOAPBindingExtensions;
+import org.apache.woden.wsdl20.extensions.soap.SOAPBindingFaultExtensions;
+import 
org.apache.woden.wsdl20.extensions.soap.SOAPBindingFaultReferenceExtensions;
+import 
org.apache.woden.wsdl20.extensions.soap.SOAPBindingMessageReferenceExtensions;
+import org.apache.woden.wsdl20.extensions.soap.SOAPBindingOperationExtensions;
+import org.apache.woden.wsdl20.extensions.soap.SOAPHeaderBlock;
+import org.apache.woden.wsdl20.extensions.soap.SOAPModule;
 import org.apache.woden.wsdl20.xml.DescriptionElement;
 
 public class WsdlCm {
@@ -83,6 +92,10 @@
        /** WSDL CM namespaces */
        private static String WSDLCM_NS = 
"http://www.w3.org/2002/ws/desc/wsdl/component";;
 
+       private static String WSDLCMBASE_PREFIX = "cmbase";
+
+       private static String WSDLCMBASE_NS = 
"http://www.w3.org/2002/ws/desc/wsdl/component-base";;
+
        private static String WSDLCMEXTENSIONS_PREFIX = "cmextensions";
 
        private static String WSDLCMEXTENSIONS_NS = 
"http://www.w3.org/2002/ws/desc/wsdl/component-extensions";;
@@ -200,7 +213,9 @@
                        FileOutputStream fos = new FileOutputStream(xml);
                        PrintWriter out = new PrintWriter(fos);
                        WsdlCm wsdlCm = new WsdlCm(out);
+
                        wsdlCm.write(descComp);
+
                        out.flush();
 
                } catch (WSDLException e) {
@@ -217,9 +232,13 @@
 
        public void write(Description component) {
 
+               out.println("<?xml version='1.0' encoding='UTF-8'?>");
+
                String attributes = "xmlns='" + WSDLCM_NS + "'\n";
                attributes += " xmlns:" + WSDLCMEXTENSIONS_PREFIX + "='"
                                + WSDLCMEXTENSIONS_NS + "'\n";
+               attributes += " xmlns:" + WSDLCMBASE_PREFIX + "='" + 
WSDLCMBASE_NS
+                               + "'\n";
                attributes += " xmlns:" + WSDLCMHTTP_PREFIX + "='" + 
WSDLCMHTTP_NS
                                + "'\n";
                attributes += " xmlns:" + WSDLCMRPC_PREFIX + "='" + WSDLCMRPC_NS
@@ -405,11 +424,11 @@
        private void write(String tag, Argument argument) {
 
                beginElement(tag);
-               
+
                write(WSDLCMRPC_PREFIX + ":name", argument.getName());
                write(WSDLCMRPC_PREFIX + ":direction", argument.getDirection()
                                .toString());
-               
+
                endElement();
        }
 
@@ -552,16 +571,60 @@
                // <xs:element ref="cmhttp:httpTransferCodingDefault"
                // minOccurs="0" />
                //
+
                // <!-- SOAP Binding Extension -->
-               // <xs:element ref="cmsoap:soapMepDefault"
-               // minOccurs="0" />
-               // <xs:element ref="cmsoap:soapModules" minOccurs="0" />
-               // <xs:element ref="cmsoap:soapUnderlyingProtocol"
-               // minOccurs="0" />
-               // <xs:element ref="cmsoap:soapVersion" minOccurs="0" />
-               //
+
+               SOAPBindingExtensions soap = (SOAPBindingExtensions) component
+                               
.getComponentExtensionsForNamespace(ComponentExtensions.URI_NS_SOAP);
+               if (soap != null) {
+
+                       write(WSDLCMSOAP_PREFIX + ":soapMepDefault", soap
+                                       .getSoapMepDefault());
+
+                       write(WSDLCMSOAP_PREFIX + ":soapModules", 
soap.getSoapModules());
+
+                       write(WSDLCMSOAP_PREFIX + ":soapUnderlyingProtocols", 
soap
+                                       .getSoapMepDefault());
+
+                       write(WSDLCMSOAP_PREFIX + ":soapVersion", 
soap.getSoapVersion());
+
+               }
+
+               endElement();
+       }
+
+       private void write(String tag, SOAPModule[] components) {
+
+               if (components.length == 0)
+                       return;
+
+               Arrays.sort(components, new Comparator() {
+
+                       public int compare(Object o1, Object o2) {
+
+                               URI uri1 = ((SOAPModule) o1).getRef();
+                               URI uri2 = ((SOAPModule) o2).getRef();
+
+                               return uri1.compareTo(uri2);
+                       }
+               });
+               beginElement(tag);
+
+               for (int i = 0; i < components.length; i++)
+                       write("SoapModuleComponent", components[i]);
 
                endElement();
+
+       }
+
+       private void write(String tag, SOAPModule component) {
+
+               write(WSDLCMSOAP_PREFIX + ":ref", component.getRef());
+
+               write(WSDLCMSOAP_PREFIX + ":required", component.isRequired()
+                               .booleanValue());
+
+               writeRef(WSDLCMSOAP_PREFIX + ":parent", component.getParent());
        }
 
        private void write(String tag, BindingFault[] components) {
@@ -614,17 +677,102 @@
                // <xs:element ref="cmhttp:httpTransferCoding"
                // minOccurs="0" />
                //
+
                // <!-- SOAP Binding Extension -->
-               // <xs:element ref="cmsoap:soapFaultCode"
-               // minOccurs="0" />
-               // <xs:element ref="cmsoap:soapFaultSubcodes"
-               // minOccurs="0" />
-               // <xs:element ref="cmsoap:soapHeaders" minOccurs="0" />
-               // <xs:element ref="cmsoap:soapModules" minOccurs="0" />
+
+               SOAPBindingFaultExtensions soap = (SOAPBindingFaultExtensions) 
component
+                               
.getComponentExtensionsForNamespace(ComponentExtensions.URI_NS_SOAP);
+
+               if (soap != null) {
+
+                       write(WSDLCMSOAP_PREFIX + ":soapFaultCode", 
soap.getSoapFaultCode());
+
+                       write(WSDLCMSOAP_PREFIX + ":soapFaultSubcodes", soap
+                                       .getSoapFaultSubcodes());
+
+                       write(WSDLCMSOAP_PREFIX + ":soapHeaders", 
soap.getSoapHeaders());
+
+                       write(WSDLCMSOAP_PREFIX + ":soapModules", 
soap.getSoapModules());
+               }
 
                endElement();
        }
 
+       private void write(String tag, SoapFaultSubcodes soapFaultSubcodes) {
+
+               beginElement(tag);
+               if (soapFaultSubcodes.isQNames()) {
+                       beginElement(WSDLCMSOAP_PREFIX + ":subcodes");
+                       QName[] codes = soapFaultSubcodes.getQNames();
+                       for (int i = 0; i < codes.length; i++) {
+                               write(WSDLCMSOAP_PREFIX + ":code", codes[i]);
+                       }
+                       endElement();
+               }
+               endElement();
+       }
+
+       private void write(String tag, SoapFaultCode soapFaultCode) {
+
+               beginElement(tag);
+               if (soapFaultCode.isQName()) {
+                       write(WSDLCMSOAP_PREFIX + ":code", 
soapFaultCode.getQName());
+               }
+               endElement();
+       }
+
+       private void write(String tag, SOAPHeaderBlock[] components) {
+
+               if (components.length == 0)
+                       return;
+
+               Arrays.sort(components, new Comparator() {
+
+                       public int compare(Object o1, Object o2) {
+
+                               ElementDeclaration ed1 = ((SOAPHeaderBlock) o1)
+                                               .getElementDeclaration();
+                               ElementDeclaration ed2 = ((SOAPHeaderBlock) o2)
+                                               .getElementDeclaration();
+
+                               if (ed1 == ed2)
+                                       return 0;
+                               if (ed1 == null)
+                                       return -1;
+                               if (ed2 == null)
+                                       return 1;
+
+                               QName x1 = ed1.getName();
+                               QName x2 = ed2.getName();
+
+                               return compareQName(x1, x2);
+                       }
+               });
+
+               beginElement(tag);
+
+               for (int i = 0; i < components.length; i++)
+                       write(WSDLCMSOAP_PREFIX + ":SoapHeaderBlockComponent",
+                                       components[i]);
+
+               endElement();
+       }
+
+       private void write(String tag, SOAPHeaderBlock component) {
+
+               writeRef(WSDLCMSOAP_PREFIX + ":elementDeclaration", component
+                               .getElementDeclaration());
+
+               write(WSDLCMSOAP_PREFIX + ":mustUnderstand", 
component.mustUnderstand()
+                               .booleanValue());
+
+               write(WSDLCMSOAP_PREFIX + ":required", component.isRequired()
+                               .booleanValue());
+
+               writeRef(WSDLCMSOAP_PREFIX + ":parent", component.getParent());
+
+       }
+
        private void write(String tag, BindingOperation[] components) {
 
                if (components.length == 0)
@@ -677,10 +825,19 @@
                // <xs:element ref="cmhttp:httpTransferCodingDefault"
                // minOccurs="0" />
                //
+
                // <!-- SOAP Binding Extension -->
-               // <xs:element ref="cmsoap:soapAction" minOccurs="0" />
-               // <xs:element ref="cmsoap:soapMep" minOccurs="0" />
-               // <xs:element ref="cmsoap:soapModules" minOccurs="0" />
+
+               SOAPBindingOperationExtensions soap = 
(SOAPBindingOperationExtensions) component
+                               
.getComponentExtensionsForNamespace(ComponentExtensions.URI_NS_SOAP);
+               if (soap != null) {
+
+                       write(WSDLCMSOAP_PREFIX + ":soapAction", 
soap.getSoapAction());
+
+                       write(WSDLCMSOAP_PREFIX + ":soapMep", 
soap.getSoapMep());
+
+                       write(WSDLCMSOAP_PREFIX + ":soapModules", 
soap.getSoapModules());
+               }
 
                endElement();
        }
@@ -728,9 +885,17 @@
                // <xs:element ref="cmhttp:httpTransferCoding"
                // minOccurs="0" />
                //
+
                // <!-- SOAP Binding Extension -->
-               // <xs:element ref="cmsoap:soapHeaders" minOccurs="0" />
-               // <xs:element ref="cmsoap:soapModules" minOccurs="0" />
+
+               SOAPBindingMessageReferenceExtensions soap = 
(SOAPBindingMessageReferenceExtensions) component
+                               
.getComponentExtensionsForNamespace(ComponentExtensions.URI_NS_SOAP);
+               if (soap != null) {
+
+                       write(WSDLCMSOAP_PREFIX + ":soapHeaders", 
soap.getSoapHeaders());
+
+                       write(WSDLCMSOAP_PREFIX + ":soapModules", 
soap.getSoapModules());
+               }
 
                endElement();
        }
@@ -781,7 +946,13 @@
                writeRef("parent", component.getParent());
 
                // <!-- SOAP Binding Extension -->
-               // <xs:element ref="cmsoap:soapModules" minOccurs="0" />
+
+               SOAPBindingFaultReferenceExtensions soap = 
(SOAPBindingFaultReferenceExtensions) component
+                               
.getComponentExtensionsForNamespace(ComponentExtensions.URI_NS_SOAP);
+               if (soap != null) {
+
+                       write(WSDLCMSOAP_PREFIX + ":soapModules", 
soap.getSoapModules());
+               }
 
                endElement();
        }
@@ -1042,8 +1213,8 @@
 
                beginElement(tag);
 
-               element("namespaceName", qname.getNamespaceURI());
-               element("localName", qname.getLocalPart());
+               element(WSDLCMBASE_PREFIX + ":namespaceName", 
qname.getNamespaceURI());
+               element(WSDLCMBASE_PREFIX + ":localName", qname.getLocalPart());
 
                endElement();
        }
@@ -1067,9 +1238,6 @@
 
        private void writeRef(String tag, Object o) {
 
-               if (o == null)
-                       return;
-
                emptyElement(tag, refAttribute(o));
        }
 
@@ -1083,7 +1251,7 @@
                beginElement(tag);
 
                for (int i = 0; i < uris.length; i++)
-                       write("uri", uris[i]);
+                       write(WSDLCMBASE_PREFIX + ":uri", uris[i]);
 
                endElement();
        }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to