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>
+