cxf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From e..@apache.org
Subject svn commit: r551104 - in /incubator/cxf/trunk: rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/ rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ tools/javato/test/ tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/pro...
Date Wed, 27 Jun 2007 09:09:30 GMT
Author: ema
Date: Wed Jun 27 02:09:29 2007
New Revision: 551104

URL: http://svn.apache.org/viewvc?view=rev&rev=551104
Log:
Fiexd issue CXF-745 and issue with wrong namespace for fault message

Added:
    incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/hello_world_fault_expected.wsdl
    incubator/cxf/trunk/tools/javato/test/src/test/resources/java2wsdl_wsdl/hello_world_fault.wsdl
Modified:
    incubator/cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBSchemaInitializer.java
    incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
    incubator/cxf/trunk/tools/javato/test/pom.xml
    incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java
    incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/hello_soap12.wsdl
    incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/my_hello_soap12.wsdl
    incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/expected/expected_hello_world_doc_lit.wsdl

Modified: incubator/cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBSchemaInitializer.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBSchemaInitializer.java?view=diff&rev=551104&r1=551103&r2=551104
==============================================================================
--- incubator/cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBSchemaInitializer.java
(original)
+++ incubator/cxf/trunk/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBSchemaInitializer.java
Wed Jun 27 02:09:29 2007
@@ -38,6 +38,7 @@
 import org.apache.ws.commons.schema.XmlSchemaComplexType;
 import org.apache.ws.commons.schema.XmlSchemaElement;
 import org.apache.ws.commons.schema.XmlSchemaForm;
+import org.apache.ws.commons.schema.XmlSchemaObject;
 import org.apache.ws.commons.schema.XmlSchemaSequence;
 import org.apache.ws.commons.schema.utils.NamespaceMap;
 
@@ -184,22 +185,22 @@
         Class<?> cls = part.getTypeClass();
         Class<?> cl2 = (Class)fault.getProperty(Class.class.getName());
         if (cls != cl2) {
-            QName name = part.getMessageInfo().getName();
-            part.setElementQName(name);
-            
+            QName name = fault.getFaultName();
+            part.setElementQName(name);           
             JaxBeanInfo<?> beanInfo = context.getBeanInfo(cls);
-
-
             SchemaInfo schemaInfo = null;
             for (SchemaInfo s : serviceInfo.getSchemas()) {
                 if (s.getNamespaceURI().equals(part.getElementQName().getNamespaceURI()))
{
                     schemaInfo = s;
-
+                    
                     XmlSchemaElement el = new XmlSchemaElement();
                     el.setQName(part.getElementQName());
                     el.setName(part.getElementQName().getLocalPart());
                     el.setNillable(true);
-                    schemaInfo.getSchema().getItems().add(el);
+                    
+                    if (!isExistSchemaElement(schemaInfo.getSchema(), part.getElementQName()))
{
+                        schemaInfo.getSchema().getItems().add(el);
+                    }
                     
                     Iterator<QName> itr = beanInfo.getTypeNames().iterator();
                     if (!itr.hasNext()) {
@@ -239,7 +240,7 @@
         } else {
             schema = schemaInfo.getSchema();
         }
-
+        
         XmlSchemaComplexType ct = new XmlSchemaComplexType(schema);
         ct.setName(part.getElementQName().getLocalPart());
         // Before updating everything, make sure we haven't added this 
@@ -304,5 +305,21 @@
             el.setSchemaTypeName(beanInfo.getTypeName(null));
         }
         seq.getItems().add(el);
+    }
+    
+    
+    private boolean isExistSchemaElement(XmlSchema schema, QName qn) {
+        boolean isExist = false;
+        for (Iterator ite = schema.getItems().getIterator(); ite.hasNext();) {
+            XmlSchemaObject obj = (XmlSchemaObject)ite.next();
+            if (obj instanceof XmlSchemaElement) {
+                XmlSchemaElement xsEle = (XmlSchemaElement)obj;
+                if (xsEle.getQName().equals(qn)) {
+                    isExist = true;
+                    break;
+                }
+            }
+        }
+        return isExist;
     }
 }

Modified: incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java?view=diff&rev=551104&r1=551103&r2=551104
==============================================================================
--- incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
(original)
+++ incubator/cxf/trunk/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
Wed Jun 27 02:09:29 2007
@@ -804,6 +804,7 @@
         MessagePartInfo part = fault.addMessagePart("fault");
         part.setElement(true);
         if (part.getElementQName() == null) {
+            System.out.println("----fault.getFaultname --- " + fault.getFaultName());
             part.setElementQName(fault.getFaultName());
         }
     }
@@ -1080,10 +1081,10 @@
         }
 
         QName faultName = getFaultName(service, op, exClass, beanClass);
-        FaultInfo fi = op.addFault(faultName, faultName);
+        FaultInfo fi = op.addFault(faultName, 
+                                   new QName(op.getName().getNamespaceURI(), faultName.getLocalPart()));
         fi.setProperty(Class.class.getName(), exClass);
-
-        MessagePartInfo mpi = fi.addMessagePart(new QName(op.getName().getNamespaceURI(),
"fault"));
+        MessagePartInfo mpi = fi.addMessagePart(new QName(faultName.getNamespaceURI(), "fault"));
         mpi.setTypeClass(beanClass);
         return fi;
     }
@@ -1095,6 +1096,7 @@
                 .addMessagePart(new QName(fi.getName().getNamespaceURI(), field.getName()));
             mpi.setProperty(Class.class.getName(), field.getType());
         }
+        
         MessagePartInfo mpi = fi.addMessagePart(new QName(fi.getName().getNamespaceURI(),
"message"));
         mpi.setProperty(Class.class.getName(), String.class);
     }

Modified: incubator/cxf/trunk/tools/javato/test/pom.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/javato/test/pom.xml?view=diff&rev=551104&r1=551103&r2=551104
==============================================================================
--- incubator/cxf/trunk/tools/javato/test/pom.xml (original)
+++ incubator/cxf/trunk/tools/javato/test/pom.xml Wed Jun 27 02:09:29 2007
@@ -168,6 +168,9 @@
                                 <wsdlOption>
 				    <wsdl>${basedir}/src/test/resources/java2wsdl_wsdl/hello_world_bare.wsdl</wsdl>
                                 </wsdlOption>
+                                <wsdlOption>
+				    <wsdl>${basedir}/src/test/resources/java2wsdl_wsdl/hello_world_fault.wsdl</wsdl>
+                                </wsdlOption>                                
                             </wsdlOptions>
                         </configuration>
                         <goals>

Modified: incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java?view=diff&rev=551104&r1=551103&r2=551104
==============================================================================
--- incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java
(original)
+++ incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java
Wed Jun 27 02:09:29 2007
@@ -318,6 +318,22 @@
     }
     
     
+    @Test
+    public void testFault() throws Exception {
+        env.put(ToolConstants.CFG_OUTPUTFILE, output.getPath() + "/fault.wsdl");
+        env.put(ToolConstants.CFG_CLASSNAME, "org.apache.fault.Greeter");
+        processor.setEnvironment(env);
+        processor.process();
+        
+        File wsdlFile = new File(output, "fault.wsdl");
+        assertTrue("Generate Wsdl Fail", wsdlFile.exists());
+        
+        String expectedFile = getClass().getResource("expected/hello_world_fault_expected.wsdl").getFile();
+        assertFileEquals(new File(expectedFile), new File(output, "/fault.wsdl"));
+
+    }
+    
+    
 
     @Test
     public void testResumeClasspath() throws Exception {

Modified: incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/hello_soap12.wsdl
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/hello_soap12.wsdl?view=diff&rev=551104&r1=551103&r2=551104
==============================================================================
--- incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/hello_soap12.wsdl
(original)
+++ incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/hello_soap12.wsdl
Wed Jun 27 02:09:29 2007
@@ -44,8 +44,6 @@
 </xs:sequence>
 </xs:complexType>
 </xs:element>
-<xs:element name="faultDetail" nillable="true"/>
-<xs:element name="faultDetail" nillable="true"/>
 </xs:schema>
   </wsdl:types>
   <wsdl:message name="sayHi">
@@ -80,7 +78,7 @@
     </wsdl:input>
       <wsdl:output name="pingMeResponse" message="ns1:pingMeResponse">
     </wsdl:output>
-      <wsdl:fault name="faultDetail" message="ns2:faultDetail">
+      <wsdl:fault name="faultDetail" message="ns1:faultDetail">
     </wsdl:fault>
     </wsdl:operation>
   </wsdl:portType>

Added: incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/hello_world_fault_expected.wsdl
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/hello_world_fault_expected.wsdl?view=auto&rev=551104
==============================================================================
--- incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/hello_world_fault_expected.wsdl
(added)
+++ incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/hello_world_fault_expected.wsdl
Wed Jun 27 02:09:29 2007
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<wsdl:definitions name="GreeterService" targetNamespace="http://apache.org/fault" xmlns:ns1="http://apache.org/fault"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://apache.org/fault/types" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+  <wsdl:types>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://apache.org/fault/types"
attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://apache.org/fault/types">
+<xs:element name="BadRecordLit" nillable="true" type="xs:string"/>
+<xs:element name="NoSuchCodeLit">
+<xs:complexType>
+<xs:sequence>
+<xs:element form="qualified" name="code" type="tns:ErrorCode"/>
+</xs:sequence>
+</xs:complexType>
+</xs:element>
+<xs:element name="greetMe">
+<xs:complexType>
+<xs:sequence>
+<xs:element form="qualified" name="requestType" type="xs:string"/>
+</xs:sequence>
+</xs:complexType>
+</xs:element>
+<xs:element name="greetMeResponse">
+<xs:complexType>
+<xs:sequence>
+<xs:element form="qualified" name="responseType" type="xs:string"/>
+</xs:sequence>
+</xs:complexType>
+</xs:element>
+<xs:element name="testDocLitFault">
+<xs:complexType>
+<xs:sequence>
+<xs:element form="qualified" name="faultType" type="xs:string"/>
+</xs:sequence>
+</xs:complexType>
+</xs:element>
+<xs:element name="testDocLitFaultResponse">
+<xs:complexType/>
+</xs:element>
+<xs:complexType name="ErrorCode">
+<xs:sequence>
+<xs:element form="qualified" name="minor" type="xs:short"/>
+<xs:element form="qualified" name="major" type="xs:short"/>
+</xs:sequence>
+</xs:complexType>
+<xs:complexType name="BadRecord">
+<xs:sequence>
+<xs:element form="qualified" name="reason" type="xs:string"/>
+<xs:element form="qualified" name="code" type="xs:short"/>
+</xs:sequence>
+</xs:complexType>
+</xs:schema>
+  </wsdl:types>
+  <wsdl:message name="BadRecordLit">
+    <wsdl:part name="fault" element="ns2:BadRecordLit">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="testDocLitFault">
+    <wsdl:part name="parameters" element="ns2:testDocLitFault">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="greetMeResponse">
+    <wsdl:part name="parameters" element="ns2:greetMeResponse">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="testDocLitFaultResponse">
+    <wsdl:part name="parameters" element="ns2:testDocLitFaultResponse">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="NoSuchCodeLit">
+    <wsdl:part name="fault" element="ns2:NoSuchCodeLit">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="greetMe">
+    <wsdl:part name="parameters" element="ns2:greetMe">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:portType name="Greeter">
+    <wsdl:operation name="greetMe">
+      <wsdl:input name="greetMe" message="ns1:greetMe">
+    </wsdl:input>
+      <wsdl:output name="greetMeResponse" message="ns1:greetMeResponse">
+    </wsdl:output>
+      <wsdl:fault name="NoSuchCodeLit" message="ns1:NoSuchCodeLit">
+    </wsdl:fault>
+    </wsdl:operation>
+    <wsdl:operation name="testDocLitFault">
+      <wsdl:input name="testDocLitFault" message="ns1:testDocLitFault">
+    </wsdl:input>
+      <wsdl:output name="testDocLitFaultResponse" message="ns1:testDocLitFaultResponse">
+    </wsdl:output>
+      <wsdl:fault name="NoSuchCodeLit" message="ns1:NoSuchCodeLit">
+    </wsdl:fault>
+      <wsdl:fault name="BadRecordLit" message="ns1:BadRecordLit">
+    </wsdl:fault>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="GreeterServiceSoapBinding" type="ns1:Greeter">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="greetMe">
+      <soap:operation soapAction="" style="document"/>
+      <wsdl:input name="greetMe">
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output name="greetMeResponse">
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="NoSuchCodeLit">
+        <soap:fault name="NoSuchCodeLit" use="literal"/>
+      </wsdl:fault>
+    </wsdl:operation>
+    <wsdl:operation name="testDocLitFault">
+      <soap:operation soapAction="" style="document"/>
+      <wsdl:input name="testDocLitFault">
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output name="testDocLitFaultResponse">
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="NoSuchCodeLit">
+        <soap:fault name="NoSuchCodeLit" use="literal"/>
+      </wsdl:fault>
+      <wsdl:fault name="BadRecordLit">
+        <soap:fault name="BadRecordLit" use="literal"/>
+      </wsdl:fault>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="GreeterService">
+    <wsdl:port name="GreeterPort" binding="ns1:GreeterServiceSoapBinding">
+      <soap:address location="http://localhost:9090/hello"/>
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>

Modified: incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/my_hello_soap12.wsdl
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/my_hello_soap12.wsdl?view=diff&rev=551104&r1=551103&r2=551104
==============================================================================
--- incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/my_hello_soap12.wsdl
(original)
+++ incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/my_hello_soap12.wsdl
Wed Jun 27 02:09:29 2007
@@ -44,8 +44,6 @@
 </xs:sequence>
 </xs:complexType>
 </xs:element>
-<xs:element name="faultDetail" nillable="true"/>
-<xs:element name="faultDetail" nillable="true"/>
 </xs:schema>
   </wsdl:types>
   <wsdl:message name="sayHi">
@@ -80,7 +78,7 @@
     </wsdl:input>
       <wsdl:output name="pingMeResponse" message="ns1:pingMeResponse">
     </wsdl:output>
-      <wsdl:fault name="faultDetail" message="ns2:faultDetail">
+      <wsdl:fault name="faultDetail" message="ns1:faultDetail">
     </wsdl:fault>
     </wsdl:operation>
   </wsdl:portType>

Modified: incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/expected/expected_hello_world_doc_lit.wsdl
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/expected/expected_hello_world_doc_lit.wsdl?view=diff&rev=551104&r1=551103&r2=551104
==============================================================================
--- incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/expected/expected_hello_world_doc_lit.wsdl
(original)
+++ incubator/cxf/trunk/tools/javato/test/src/test/java/org/apache/cxf/tools/java2wsdl/processor/internal/jaxws/expected/expected_hello_world_doc_lit.wsdl
Wed Jun 27 02:09:29 2007
@@ -65,8 +65,6 @@
 </xs:sequence>
 </xs:complexType>
 </xs:element>
-<xs:element name="faultDetail" nillable="true"/>
-<xs:element name="faultDetail" nillable="true"/>
 </xs:schema>
   </wsdl:types>
   <wsdl:message name="faultDetail">
@@ -123,7 +121,7 @@
     </wsdl:input>
       <wsdl:output name="pingMeResponse" message="ns1:pingMeResponse">
     </wsdl:output>
-      <wsdl:fault name="faultDetail" message="ns2:faultDetail">
+      <wsdl:fault name="faultDetail" message="ns1:faultDetail">
     </wsdl:fault>
     </wsdl:operation>
   </wsdl:portType>

Added: incubator/cxf/trunk/tools/javato/test/src/test/resources/java2wsdl_wsdl/hello_world_fault.wsdl
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/javato/test/src/test/resources/java2wsdl_wsdl/hello_world_fault.wsdl?view=auto&rev=551104
==============================================================================
--- incubator/cxf/trunk/tools/javato/test/src/test/resources/java2wsdl_wsdl/hello_world_fault.wsdl
(added)
+++ incubator/cxf/trunk/tools/javato/test/src/test/resources/java2wsdl_wsdl/hello_world_fault.wsdl
Wed Jun 27 02:09:29 2007
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements. See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership. The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License. You may obtain a copy of the License at
+ 
+  http://www.apache.org/licenses/LICENSE-2.0
+ 
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied. See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<wsdl:definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
+    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+    xmlns:tns="http://apache.org/fault"
+    xmlns:x1="http://apache.org/fault/types"
+    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+    targetNamespace="http://apache.org/fault" name="HelloWorld">
+    <wsdl:types>
+        <schema targetNamespace="http://apache.org/fault/types" xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:x1="http://apache.org/fault/types" elementFormDefault="qualified">
+           
+            <element name="greetMe">
+                <complexType>
+                    <sequence>
+                        <element name="requestType" type="string"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="greetMeResponse">
+                <complexType>
+                    <sequence>
+                        <element name="responseType" type="string"/>
+                    </sequence>
+                </complexType>
+            </element>
+
+
+            <element name="testDocLitFault">
+                <complexType>
+                    <sequence>
+                        <element name="faultType" type="string"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="testDocLitFaultResponse">
+                <complexType>
+                    <sequence/>
+                </complexType>
+            </element>
+            <complexType name="ErrorCode">
+                <sequence>
+                    <element name="minor" type="short"/>
+                    <element name="major" type="short"/>
+                </sequence>
+            </complexType>
+            <element name="NoSuchCodeLit">
+                <complexType>
+                    <sequence>
+                        <element name="code" type="x1:ErrorCode"/>
+                    </sequence>
+                </complexType>
+            </element>
+            <element name="BadRecordLit" type="string"/>
+            <complexType name="BadRecord">
+                <sequence>
+                    <element name="reason" type="string"/>
+                    <element name="code" type="short"/>
+                </sequence>
+            </complexType>
+            
+        </schema>
+    </wsdl:types>
+
+    <wsdl:message name="greetMeRequest">
+        <wsdl:part name="in" element="x1:greetMe"/>
+    </wsdl:message>
+    <wsdl:message name="greetMeResponse">
+        <wsdl:part name="out" element="x1:greetMeResponse"/>
+    </wsdl:message>
+
+    <wsdl:message name="testDocLitFaultRequest">
+        <wsdl:part name="in" element="x1:testDocLitFault"/>
+    </wsdl:message>
+    <wsdl:message name="testDocLitFaultResponse">
+        <wsdl:part name="out" element="x1:testDocLitFaultResponse"/>
+    </wsdl:message>
+    <wsdl:message name="NoSuchCodeLitFault">
+        <wsdl:part name="NoSuchCodeLit" element="x1:NoSuchCodeLit"/>
+    </wsdl:message>
+    <wsdl:message name="BadRecordLitFault">
+        <wsdl:part name="BadRecordLit" element="x1:BadRecordLit"/>
+    </wsdl:message>
+ 
+    <wsdl:portType name="Greeter">
+        <wsdl:operation name="greetMe">
+            <wsdl:input name="greetMeRequest" message="tns:greetMeRequest"/>
+            <wsdl:output name="greetMeResponse" message="tns:greetMeResponse"/>
+            <wsdl:fault name="greetMeFault" message="tns:NoSuchCodeLitFault"/>
+        </wsdl:operation>
+ 
+        <wsdl:operation name="testDocLitFault">
+            <wsdl:input name="testDocLitFaultRequest" message="tns:testDocLitFaultRequest"/>
+            <wsdl:output name="testDocLitFaultResponse" message="tns:testDocLitFaultResponse"/>
+            <wsdl:fault name="NoSuchCodeLitFault" message="tns:NoSuchCodeLitFault"/>
+            <wsdl:fault name="BadRecordLitFault" message="tns:BadRecordLitFault"/>
+        </wsdl:operation>
+       
+    </wsdl:portType>
+    <wsdl:binding name="Greeter_SOAPBinding" type="tns:Greeter">
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+       
+        <wsdl:operation name="greetMe">
+            <soap:operation style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+        </wsdl:operation>
+        
+        <wsdl:operation name="testDocLitFault">
+            <soap:operation style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+            <wsdl:fault name="NoSuchCodeLitFault">
+                <soap:fault name="NoSuchCodeLitFault" use="literal"/>
+            </wsdl:fault>
+            <wsdl:fault name="BadRecordLitFault">
+                <soap:fault name="BadRecordLitFault" use="literal"/>
+            </wsdl:fault>
+        </wsdl:operation>
+        
+    </wsdl:binding>
+    <wsdl:service name="SOAPService">
+        <wsdl:port name="SoapPort" binding="tns:Greeter_SOAPBinding">
+            <soap:address location="http://localhost:9000/SoapContext/SoapPort"/>\
+        </wsdl:port>
+    </wsdl:service>
+
+</wsdl:definitions>
+



Mime
View raw message