|  | <!-- | 
|  |  | 
|  | Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved. | 
|  |  | 
|  | This program and the accompanying materials are made available under the | 
|  | terms of the Eclipse Public License v. 2.0, which is available at | 
|  | http://www.eclipse.org/legal/epl-2.0. | 
|  |  | 
|  | This Source Code may also be made available under the following Secondary | 
|  | Licenses when the conditions for such availability set forth in the | 
|  | Eclipse Public License v. 2.0 are satisfied: GNU General Public License, | 
|  | version 2 with the GNU Classpath Exception, which is available at | 
|  | https://www.gnu.org/software/classpath/license.html. | 
|  |  | 
|  | SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 | 
|  |  | 
|  | --> | 
|  |  | 
|  | <definitions | 
|  | name="HelloTest" | 
|  | targetNamespace="urn:test" | 
|  | xmlns="http://schemas.xmlsoap.org/wsdl/" | 
|  | xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" | 
|  | xmlns:xsd="http://www.w3.org/2001/XMLSchema" | 
|  | xmlns:ttns="urn:test:types" | 
|  | xmlns:tns="urn:test"> | 
|  |  | 
|  | <types> | 
|  | <xsd:schema targetNamespace="urn:test:types"> | 
|  |  | 
|  | <xsd:element name="Test1Response" type="ttns:Test1ResponseType"/> | 
|  | <xsd:complexType name="Test1ResponseType"> | 
|  | <xsd:sequence> | 
|  | <xsd:element name="c" type="xsd:int"/> | 
|  | <xsd:element name="d" type="xsd:int"/> | 
|  | </xsd:sequence> | 
|  | </xsd:complexType> | 
|  |  | 
|  | <!-- Case 1A --> | 
|  | <xsd:element name="Root1A" type="ttns:Root1AType"/> | 
|  | <xsd:complexType name="Root1AType"> | 
|  | <xsd:sequence> | 
|  | <xsd:element name="data1a" type="xsd:string"/> | 
|  | </xsd:sequence> | 
|  | </xsd:complexType> | 
|  |  | 
|  | <!-- Case 1A Simple--> | 
|  | <xsd:element name="Root1ASimple" type="ttns:Root1ATypeSimple"/> | 
|  | <xsd:simpleType name="Root1ATypeSimple"> | 
|  | <xsd:restriction base="xsd:string"> | 
|  | <xsd:enumeration value="oneASimple1" /> | 
|  | <xsd:enumeration value="oneASimple2" /> | 
|  | </xsd:restriction> | 
|  | </xsd:simpleType> | 
|  |  | 
|  | <!-- Case 1B --> | 
|  | <xsd:element name="Root1B"> | 
|  | <xsd:complexType> | 
|  | <xsd:sequence> | 
|  | <xsd:element name="data1b" type="xsd:string"/> | 
|  | </xsd:sequence> | 
|  | </xsd:complexType> | 
|  | </xsd:element> | 
|  |  | 
|  | <!-- Case 2A --> | 
|  | <xsd:element name="Root2A" type="xsd:string"/> | 
|  |  | 
|  | <!-- Case 2B --> | 
|  | <xsd:element name="Root2B" type="ttns:Root2BType"/> | 
|  | <xsd:complexType name="Root2BType"> | 
|  | <xsd:sequence> | 
|  | <xsd:element name="Inside2B"> | 
|  | <xsd:complexType> | 
|  | <xsd:sequence> | 
|  | <xsd:element name="data2b" type="xsd:string"/> | 
|  | </xsd:sequence> | 
|  | </xsd:complexType> | 
|  | </xsd:element> | 
|  | </xsd:sequence> | 
|  | </xsd:complexType> | 
|  |  | 
|  | <!-- Case 1B and Case 2B --> | 
|  | <xsd:element name="Root1B2B"> | 
|  | <xsd:complexType> | 
|  | <xsd:sequence> | 
|  | <xsd:element name="Inside1B2B"> | 
|  | <xsd:complexType> | 
|  | <xsd:sequence> | 
|  | <xsd:element name="data1b2b" type="xsd:string"/> | 
|  | </xsd:sequence> | 
|  | </xsd:complexType> | 
|  | </xsd:element> | 
|  | </xsd:sequence> | 
|  | </xsd:complexType> | 
|  | </xsd:element> | 
|  |  | 
|  | <!-- Case 3A --> | 
|  | <xsd:element name="Root3A"> | 
|  | <xsd:complexType> | 
|  | <xsd:sequence> | 
|  | <xsd:element name="Inside3A1" minOccurs="1" maxOccurs="2"> | 
|  | <xsd:complexType> | 
|  | <xsd:sequence> | 
|  | <xsd:element name="data3a1" type="xsd:string"/> | 
|  | </xsd:sequence> | 
|  | </xsd:complexType> | 
|  | </xsd:element> | 
|  | <xsd:element name="Inside3A2" maxOccurs="unbounded"> | 
|  | <xsd:complexType> | 
|  | <xsd:sequence> | 
|  | <xsd:element name="data3a2" type="xsd:string"/> | 
|  | </xsd:sequence> | 
|  | </xsd:complexType> | 
|  | </xsd:element> | 
|  | </xsd:sequence> | 
|  | </xsd:complexType> | 
|  | </xsd:element> | 
|  |  | 
|  | <!-- Case 1B Simple --> | 
|  | <xsd:element name="Root1BSimple"> | 
|  | <xsd:simpleType> | 
|  | <xsd:restriction base="xsd:string"> | 
|  | <xsd:enumeration value="String1" /> | 
|  | <xsd:enumeration value="String2" /> | 
|  | </xsd:restriction> | 
|  | </xsd:simpleType> | 
|  | </xsd:element> | 
|  |  | 
|  | </xsd:schema> | 
|  | </types> | 
|  |  | 
|  | <message name="TestRequest1A"> | 
|  | <part name="oneA" element="ttns:Root1A"/> | 
|  | </message> | 
|  |  | 
|  | <message name="TestRequest1ASimple"> | 
|  | <part name="oneA" element="ttns:Root1ASimple"/> | 
|  | </message> | 
|  |  | 
|  | <message name="TestRequest1B"> | 
|  | <part name="oneB" element="ttns:Root1B"/> | 
|  | </message> | 
|  |  | 
|  | <message name="TestRequest1BSimple"> | 
|  | <part name="oneB" element="ttns:Root1BSimple"/> | 
|  | </message> | 
|  |  | 
|  | <message name="TestRequest2A"> | 
|  | <part name="twoA" element="ttns:Root2A"/> | 
|  | </message> | 
|  |  | 
|  | <message name="TestRequest2B"> | 
|  | <part name="twoB" element="ttns:Root2B"/> | 
|  | </message> | 
|  |  | 
|  | <message name="TestRequest1B2B"> | 
|  | <part name="oneBtwoB" element="ttns:Root1B2B"/> | 
|  | </message> | 
|  |  | 
|  | <message name="TestRequest3A"> | 
|  | <part name="threeA" element="ttns:Root3A"/> | 
|  | </message> | 
|  |  | 
|  | <message name="Test1Response"> | 
|  | <part name="result" element="ttns:Test1Response"/> | 
|  | </message> | 
|  |  | 
|  | <portType name="Test1A"> | 
|  | <operation name="test1"> | 
|  | <input message="tns:TestRequest1A"/> | 
|  | <output message="tns:Test1Response"/> | 
|  | </operation> | 
|  | </portType> | 
|  |  | 
|  | <portType name="Test1ASimple"> | 
|  | <operation name="test1"> | 
|  | <input message="tns:TestRequest1ASimple"/> | 
|  | <output message="tns:Test1Response"/> | 
|  | </operation> | 
|  | </portType> | 
|  |  | 
|  | <portType name="Test1B"> | 
|  | <operation name="test1"> | 
|  | <input message="tns:TestRequest1B"/> | 
|  | <output message="tns:Test1Response"/> | 
|  | </operation> | 
|  | </portType> | 
|  |  | 
|  | <portType name="Test1BSimple"> | 
|  | <operation name="test1"> | 
|  | <input message="tns:TestRequest1BSimple"/> | 
|  | <output message="tns:Test1Response"/> | 
|  | </operation> | 
|  | </portType> | 
|  |  | 
|  | <portType name="Test2A"> | 
|  | <operation name="test1"> | 
|  | <input message="tns:TestRequest2A"/> | 
|  | <output message="tns:Test1Response"/> | 
|  | </operation> | 
|  | </portType> | 
|  |  | 
|  | <portType name="Test2B"> | 
|  | <operation name="test1"> | 
|  | <input message="tns:TestRequest2B"/> | 
|  | <output message="tns:Test1Response"/> | 
|  | </operation> | 
|  | </portType> | 
|  |  | 
|  | <portType name="Test1B2B"> | 
|  | <operation name="test1"> | 
|  | <input message="tns:TestRequest1B2B"/> | 
|  | <output message="tns:Test1Response"/> | 
|  | </operation> | 
|  | </portType> | 
|  |  | 
|  | <portType name="Test3A"> | 
|  | <operation name="test1"> | 
|  | <input message="tns:TestRequest3A"/> | 
|  | <output message="tns:Test1Response"/> | 
|  | </operation> | 
|  | </portType> | 
|  |  | 
|  | <binding name="TestBinding1A" type="tns:Test1A"> | 
|  | <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> | 
|  | <operation name="test1"> | 
|  | <soap:operation soapAction=""/> | 
|  | <input> <soap:body use="literal"/> </input> | 
|  | <output> <soap:body use="literal"/> </output> | 
|  | </operation> | 
|  | </binding> | 
|  |  | 
|  | <binding name="TestBinding1ASimple" type="tns:Test1ASimple"> | 
|  | <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> | 
|  | <operation name="test1"> | 
|  | <soap:operation soapAction=""/> | 
|  | <input> <soap:body use="literal"/> </input> | 
|  | <output> <soap:body use="literal"/> </output> | 
|  | </operation> | 
|  | </binding> | 
|  |  | 
|  | <binding name="TestBinding1B" type="tns:Test1B"> | 
|  | <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> | 
|  | <operation name="test1"> | 
|  | <soap:operation soapAction=""/> | 
|  | <input> <soap:body use="literal"/> </input> | 
|  | <output> <soap:body use="literal"/> </output> | 
|  | </operation> | 
|  | </binding> | 
|  |  | 
|  | <binding name="TestBinding1BSimple" type="tns:Test1BSimple"> | 
|  | <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> | 
|  | <operation name="test1"> | 
|  | <soap:operation soapAction=""/> | 
|  | <input> <soap:body use="literal"/> </input> | 
|  | <output> <soap:body use="literal"/> </output> | 
|  | </operation> | 
|  | </binding> | 
|  |  | 
|  | <binding name="TestBinding2A" type="tns:Test2A"> | 
|  | <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> | 
|  | <operation name="test1"> | 
|  | <soap:operation soapAction=""/> | 
|  | <input> <soap:body use="literal"/> </input> | 
|  | <output> <soap:body use="literal"/> </output> | 
|  | </operation> | 
|  | </binding> | 
|  |  | 
|  | <binding name="TestBinding2B" type="tns:Test2B"> | 
|  | <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> | 
|  | <operation name="test1"> | 
|  | <soap:operation soapAction=""/> | 
|  | <input> <soap:body use="literal"/> </input> | 
|  | <output> <soap:body use="literal"/> </output> | 
|  | </operation> | 
|  | </binding> | 
|  |  | 
|  | <binding name="TestBinding1B2B" type="tns:Test1B2B"> | 
|  | <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> | 
|  | <operation name="test1"> | 
|  | <soap:operation soapAction=""/> | 
|  | <input> <soap:body use="literal"/> </input> | 
|  | <output> <soap:body use="literal"/> </output> | 
|  | </operation> | 
|  | </binding> | 
|  |  | 
|  | <binding name="TestBinding3A" type="tns:Test3A"> | 
|  | <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> | 
|  | <operation name="test1"> | 
|  | <soap:operation soapAction=""/> | 
|  | <input> <soap:body use="literal"/> </input> | 
|  | <output> <soap:body use="literal"/> </output> | 
|  | </operation> | 
|  | </binding> | 
|  |  | 
|  | <service name="TestService"> | 
|  | <port name="TestPort1A" binding="tns:TestBinding1A"> | 
|  | <soap:address location="http://test.org/test"/> | 
|  | </port> | 
|  | <port name="TestPort1ASimple" binding="tns:TestBinding1ASimple"> | 
|  | <soap:address location="http://test.org/test"/> | 
|  | </port> | 
|  | <port name="TestPort1B" binding="tns:TestBinding1B"> | 
|  | <soap:address location="http://test.org/test"/> | 
|  | </port> | 
|  | <port name="TestPort1BSimple" binding="tns:TestBinding1BSimple"> | 
|  | <soap:address location="http://test.org/test"/> | 
|  | </port> | 
|  | <port name="TestPort2A" binding="tns:TestBinding2A"> | 
|  | <soap:address location="http://test.org/test"/> | 
|  | </port> | 
|  | <port name="TestPort2B" binding="tns:TestBinding2B"> | 
|  | <soap:address location="http://test.org/test"/> | 
|  | </port> | 
|  | <port name="TestPort1B2B" binding="tns:TestBinding1B2B"> | 
|  | <soap:address location="http://test.org/test"/> | 
|  | </port> | 
|  | <port name="TestPort3A" binding="tns:TestBinding3A"> | 
|  | <soap:address location="http://test.org/test"/> | 
|  | </port> | 
|  | </service> | 
|  |  | 
|  | </definitions> |