1<?xml version="1.0" encoding="UTF-8"?> 2<definitions 3 xmlns="http://schemas.xmlsoap.org/wsdl/" 4 xmlns:tns="http://soapinterop.org/wsdl" 5 xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 6 xmlns:xsd="http://www.w3.org/2001/XMLSchema" 7 xmlns:ns2="http://soapinterop.org/types" 8 xmlns:ns3="http://soapinterop.org/types/part" 9 xmlns:ns4="http://soapinterop.org/types/requestresponse" 10 targetNamespace="http://soapinterop.org/wsdl"> 11 12 <types> 13 <schema elementFormDefault="qualified" 14 xmlns="http://www.w3.org/2001/XMLSchema" 15 xmlns:tns="http://soapinterop.org/types" 16 targetNamespace="http://soapinterop.org/types"> 17 18 <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> 19 20 <complexType name="SOAPStruct"> 21 <sequence> 22 <element name="varString" type="xsd:string"/> 23 <element name="varInt" type="xsd:int"/> 24 <element name="varFloat" type="xsd:float"/> 25 </sequence> 26 </complexType> 27 28 <complexType name="SOAPStructFault"> 29 <sequence> 30 <element name="soapStruct" type="tns:SOAPStruct"/> 31 </sequence> 32 </complexType> 33 34 <complexType name="BaseStruct"> 35 <sequence> 36 <element name="structMessage" type="tns:SOAPStruct"/> 37 <element name="shortMessage" type="xsd:short"/> 38 </sequence> 39 </complexType> 40 41 <complexType name="ExtendedStruct"> 42 <complexContent> 43 <extension base="tns:BaseStruct"> 44 <sequence> 45 <element name="stringMessage" type="xsd:string"/> 46 <element name="intMessage" type="xsd:int"/> 47 <element name="anotherIntMessage" type="xsd:int"/> 48 </sequence> 49 </extension> 50 </complexContent> 51 </complexType> 52 53 <complexType name="MoreExtendedStruct"> 54 <complexContent> 55 <extension base="tns:ExtendedStruct"> 56 <sequence> 57 <element name="booleanMessage" type="xsd:boolean"/> 58 </sequence> 59 </extension> 60 </complexContent> 61 </complexType> 62 63 </schema> 64 65 <schema elementFormDefault="qualified" 66 xmlns="http://www.w3.org/2001/XMLSchema" 67 xmlns:tns="http://soapinterop.org/types/part" 68 targetNamespace="http://soapinterop.org/types/part"> 69 70 <element name="SOAPStructFaultPart" type="ns2:SOAPStructFault"/> 71 <element name="BaseStructPart" type="ns2:BaseStruct"/> 72 <element name="ExtendedStructPart" type="ns2:ExtendedStruct"/> 73 <element name="MoreExtendedStructPart" type="ns2:MoreExtendedStruct"/> 74 75 </schema> 76 77 <schema elementFormDefault="qualified" 78 xmlns="http://www.w3.org/2001/XMLSchema" 79 xmlns:tns="http://soapinterop.org/types/requestresponse" 80 targetNamespace="http://soapinterop.org/types/requestresponse"> 81 82 <element name="echoSOAPStructFaultRequest" type="ns2:SOAPStruct"/> 83 <element name="echoSOAPStructFaultResponse"> 84 <complexType/> 85 </element> 86 87 <element name="echoBaseStructFaultRequest" type="ns2:BaseStruct"/> 88 <element name="echoBaseStructFaultResponse"> 89 <complexType/> 90 </element> 91 92 <element name="echoExtendedStructFaultRequest" type="ns2:ExtendedStruct"/> 93 <element name="echoExtendedStructFaultResponse"> 94 <complexType/> 95 </element> 96 97 <element name="echoMultipleFaults1Request"> 98 <complexType> 99 <sequence> 100 <element name="whichFault" type="xsd:int"/> 101 <element name="param1" type="ns2:SOAPStruct"/> 102 <element name="param2" type="ns2:BaseStruct"/> 103 </sequence> 104 </complexType> 105 </element> 106 <element name="echoMultipleFaults1Response"> 107 <complexType/> 108 </element> 109 110 <element name="echoMultipleFaults2Request"> 111 <complexType> 112 <sequence> 113 <element name="whichFault" type="xsd:int"/> 114 <element name="param1" type="ns2:BaseStruct"/> 115 <element name="param2" type="ns2:ExtendedStruct"/> 116 <element name="param3" type="ns2:MoreExtendedStruct"/> 117 </sequence> 118 </complexType> 119 </element> 120 <element name="echoMultipleFaults2Response"> 121 <complexType/> 122 </element> 123 124 </schema> 125 </types> 126 127 <message name="echoSOAPStructFaultRequest"> 128 <part name="param" element="ns4:echoSOAPStructFaultRequest"/> 129 </message> 130 <message name="echoSOAPStructFaultResponse"> 131 <part name="param" element="ns4:echoSOAPStructFaultResponse"/> 132 </message> 133 134 <message name="echoBaseStructFaultRequest"> 135 <part name="param" element="ns4:echoBaseStructFaultRequest"/> 136 </message> 137 <message name="echoBaseStructFaultResponse"> 138 <part name="param" element="ns4:echoBaseStructFaultResponse"/> 139 </message> 140 141 <message name="echoExtendedStructFaultRequest"> 142 <part name="param" element="ns4:echoExtendedStructFaultRequest"/> 143 </message> 144 <message name="echoExtendedStructFaultResponse"> 145 <part name="param" element="ns4:echoExtendedStructFaultResponse"/> 146 </message> 147 148 <message name="echoMultipleFaults1Request"> 149 <part name="param" element="ns4:echoMultipleFaults1Request"/> 150 </message> 151 <message name="echoMultipleFaults1Response"> 152 <part name="param" element="ns4:echoMultipleFaults1Response"/> 153 </message> 154 155 <message name="echoMultipleFaults2Request"> 156 <part name="param" element="ns4:echoMultipleFaults2Request"/> 157 </message> 158 <message name="echoMultipleFaults2Response"> 159 <part name="param" element="ns4:echoMultipleFaults2Response"/> 160 </message> 161 162 <!-- Fault messages --> 163 <message name="SOAPStructFault"> 164 <part name="part3" element="ns3:SOAPStructFaultPart"/> 165 </message> 166 <message name="BaseStructFault"> 167 <part name="part1" element="ns3:BaseStructPart"/> 168 </message> 169 <message name="ExtendedStructFault"> 170 <part name="part2" element="ns3:ExtendedStructPart"/> 171 </message> 172 <message name="MoreExtendedStructFault"> 173 <part name="part5" element="ns3:MoreExtendedStructPart"/> 174 </message> 175 176 <portType name="ComplexDocLitPortType"> 177 <!-- 178 Throws a fault with an embedded SOAPStruct 179 --> 180 <operation name="echoSOAPStructFault" parameterOrder=""> 181 <input message="tns:echoSOAPStructFaultRequest"/> 182 <output message="tns:echoSOAPStructFaultResponse"/> 183 <fault name="ComplexFault" message="tns:SOAPStructFault"/> 184 </operation> 185 186 <!-- 187 Throws a fault with a base complex struct 188 --> 189 <operation name="echoBaseStructFault" parameterOrder=""> 190 <input message="tns:echoBaseStructFaultRequest"/> 191 <output message="tns:echoBaseStructFaultResponse"/> 192 <fault name="ComplexFault" message="tns:BaseStructFault"/> 193 </operation> 194 195 <!-- 196 Throws a fault with an en extended complex type 197 --> 198 <operation name="echoExtendedStructFault" parameterOrder=""> 199 <input message="tns:echoExtendedStructFaultRequest"/> 200 <output message="tns:echoExtendedStructFaultResponse"/> 201 <fault name="ComplexFault" message="tns:ExtendedStructFault"/> 202 </operation> 203 204 <!-- 205 Throws a fault with embedded complex type, fault with an 206 extended complex type and fault with an array of a base 207 complex type 208 --> 209 <operation name="echoMultipleFaults1" parameterOrder="param"> 210 <input message="tns:echoMultipleFaults1Request"/> 211 <output message="tns:echoMultipleFaults1Response"/> 212 <fault name="ComplexFault1" message="tns:SOAPStructFault"/> 213 <fault name="ComplexFault2" message="tns:BaseStructFault"/> 214 </operation> 215 216 <!-- 217 Throws a fault with an array of base complex type and 218 a fault with doubly extended complex type 219 --> 220 <operation name="echoMultipleFaults2" parameterOrder="param"> 221 <input message="tns:echoMultipleFaults2Request"/> 222 <output message="tns:echoMultipleFaults2Response"/> 223 <fault name="ComplexFault1" message="tns:BaseStructFault"/> 224 <fault name="ComplexFault2" message="tns:ExtendedStructFault"/> 225 <fault name="ComplexFault3" message="tns:MoreExtendedStructFault"/> 226 </operation> 227 </portType> 228 229 <binding name="ComplexDocLitBinding" type="tns:ComplexDocLitPortType"> 230 <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> 231 <operation name="echoSOAPStructFault"> 232 <input> 233 <soap:body use="literal"/> 234 </input> 235 <output> 236 <soap:body use="literal"/> 237 </output> 238 <fault name="ComplexFault"> 239 <soap:fault 240 name="ComplexFault" 241 use="literal"/> 242 </fault> 243 <soap:operation soapAction=""/> 244 </operation> 245 246 <operation name="echoBaseStructFault"> 247 <input> 248 <soap:body use="literal"/> 249 </input> 250 <output> 251 <soap:body use="literal"/> 252 </output> 253 <fault name="ComplexFault"> 254 <soap:fault 255 name="ComplexFault" 256 use="literal"/> 257 </fault> 258 <soap:operation soapAction=""/> 259 </operation> 260 261 <operation name="echoExtendedStructFault"> 262 <input> 263 <soap:body use="literal"/> 264 </input> 265 <output> 266 <soap:body use="literal"/> 267 </output> 268 <fault name="ComplexFault"> 269 <soap:fault 270 name="ComplexFault" 271 use="literal"/> 272 </fault> 273 <soap:operation soapAction=""/> 274 </operation> 275 276 <operation name="echoMultipleFaults1"> 277 <input> 278 <soap:body use="literal"/> 279 </input> 280 <output> 281 <soap:body use="literal"/> 282 </output> 283 <fault name="ComplexFault1"> 284 <soap:fault 285 name="ComplexFault1" 286 use="literal"/> 287 </fault> 288 <fault name="ComplexFault2"> 289 <soap:fault 290 name="ComplexFault2" 291 use="literal"/> 292 </fault> 293 <soap:operation soapAction=""/> 294 </operation> 295 296 <operation name="echoMultipleFaults2"> 297 <input> 298 <soap:body use="literal"/> 299 </input> 300 <output> 301 <soap:body use="literal"/> 302 </output> 303 <fault name="ComplexFault1"> 304 <soap:fault 305 name="ComplexFault1" 306 use="literal"/> 307 </fault> 308 <fault name="ComplexFault2"> 309 <soap:fault 310 name="ComplexFault2" 311 use="literal"/> 312 </fault> 313 <fault name="ComplexFault3"> 314 <soap:fault 315 name="ComplexFault3" 316 use="literal"/> 317 </fault> 318 <soap:operation soapAction=""/> 319 </operation> 320 </binding> 321 322 <service name="ComplexDocLitService"> 323 <port name="ComplexDocLitPort" binding="tns:ComplexDocLitBinding"> 324 <soap:address 325 location="test://"/> 326 </port> 327 </service> 328</definitions> 329 330