KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > ws > jaxme > xs > junit > WSDLTest


1 /*
2  * Copyright 2003, 2004 The Apache Software Foundation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16  
17  package org.apache.ws.jaxme.xs.junit;
18
19 import java.io.IOException JavaDoc;
20 import java.io.StringReader JavaDoc;
21 import java.util.ArrayList JavaDoc;
22 import java.util.List JavaDoc;
23
24 import javax.xml.parsers.DocumentBuilderFactory JavaDoc;
25 import javax.xml.parsers.ParserConfigurationException JavaDoc;
26 import javax.xml.parsers.SAXParser JavaDoc;
27 import javax.xml.parsers.SAXParserFactory JavaDoc;
28
29 import junit.framework.TestCase;
30 import org.apache.ws.jaxme.xs.XSContentHandler;
31 import org.apache.ws.jaxme.xs.XSParser;
32 import org.apache.ws.jaxme.xs.XSSchema;
33 import org.w3c.dom.Document JavaDoc;
34 import org.w3c.dom.Element JavaDoc;
35 import org.w3c.dom.Node JavaDoc;
36 import org.w3c.dom.NodeList JavaDoc;
37 import org.xml.sax.Attributes JavaDoc;
38 import org.xml.sax.ContentHandler JavaDoc;
39 import org.xml.sax.InputSource JavaDoc;
40 import org.xml.sax.Locator JavaDoc;
41 import org.xml.sax.SAXException JavaDoc;
42 import org.xml.sax.XMLReader JavaDoc;
43
44 /** <p>A variety of WSDL schemas being tested.</p>
45  *
46  * @author Srinath Perera (hemapani@opensource.lk)
47  * @author Jeyakumaran.C (jkumaran@opensource.lk)
48  */

49 public class WSDLTest extends TestCase {
50   private static final boolean parseBySax = false;
51   private static final boolean parseByDom = true;
52
53   public WSDLTest(String JavaDoc pArg0) {
54     super(pArg0);
55   }
56
57   /** <p>This is the actual parsing code.</p>
58    */

59   public void addTypes(org.w3c.dom.Element JavaDoc ele, Document JavaDoc pSoapDataTypes) throws SAXException JavaDoc {
60     Element JavaDoc element = pSoapDataTypes.getDocumentElement();
61     String JavaDoc namespace = element.getAttributeNS(null, "targetNamespace");
62     if (namespace == null || namespace.length() == 0) {
63       throw new IllegalStateException JavaDoc("Namespace is not set");
64     }
65     XSParser parser = new XSParser();
66     parser.addImport(namespace, null, pSoapDataTypes);
67     XSSchema schema = parser.parse(ele);
68     assertNotNull(schema);
69     assertTrue(schema.getElements().length > 0);
70   }
71
72   private class FilterHandler implements ContentHandler {
73     private XSContentHandler xsContentHandler;
74     private List JavaDoc prefixes = new ArrayList JavaDoc();
75     private Locator JavaDoc locator;
76     private List JavaDoc schemas = new ArrayList JavaDoc();
77     private final Document JavaDoc myDataTypes;
78
79     public FilterHandler(Document JavaDoc pSoapDataTypes) {
80       myDataTypes = pSoapDataTypes;
81     }
82
83     public XSSchema[] getSchemas() {
84       return (XSSchema[]) schemas.toArray(new XSSchema[schemas.size()]);
85     }
86
87     public void startDocument() throws SAXException JavaDoc {
88     }
89
90     public void endDocument() throws SAXException JavaDoc {
91     }
92
93     public void characters(char[] pChars, int pOffset, int pLen) throws SAXException JavaDoc {
94       if (xsContentHandler != null) {
95         xsContentHandler.characters(pChars, pOffset, pLen);
96       }
97     }
98
99     public void ignorableWhitespace(char[] pChars, int pOffset, int pLen) throws SAXException JavaDoc {
100       if (xsContentHandler != null) {
101         xsContentHandler.ignorableWhitespace(pChars, pOffset, pLen);
102       }
103     }
104
105     public void endPrefixMapping(String JavaDoc pPrefix) throws SAXException JavaDoc {
106       if (xsContentHandler != null) {
107         xsContentHandler.endPrefixMapping(pPrefix);
108       }
109       int size = prefixes.size();
110       prefixes.remove(size-1);
111       prefixes.remove(size-2);
112     }
113
114     public void skippedEntity(String JavaDoc pEntity) throws SAXException JavaDoc {
115       if (xsContentHandler != null) {
116         xsContentHandler.skippedEntity(pEntity);
117       }
118     }
119
120     public void setDocumentLocator(Locator JavaDoc pLocator) {
121       if (xsContentHandler != null) {
122         xsContentHandler.setDocumentLocator(pLocator);
123       }
124       locator = pLocator;
125     }
126
127     public void processingInstruction(String JavaDoc pTarget, String JavaDoc pData) throws SAXException JavaDoc {
128       if (xsContentHandler != null) {
129         xsContentHandler.processingInstruction(pTarget, pData);
130       }
131     }
132
133     public void startPrefixMapping(String JavaDoc pPrefix, String JavaDoc pUri) throws SAXException JavaDoc {
134       if (xsContentHandler != null) {
135         xsContentHandler.startPrefixMapping(pPrefix, pUri);
136       }
137       prefixes.add(pPrefix);
138       prefixes.add(pUri);
139     }
140
141     public void endElement(String JavaDoc pNamespaceURI, String JavaDoc pLocalName, String JavaDoc pQName) throws SAXException JavaDoc {
142       if (xsContentHandler != null) {
143         xsContentHandler.endElement(pNamespaceURI, pLocalName, pQName);
144         if (XSParser.XML_SCHEMA_URI.equals(pNamespaceURI) && "schema".equals(pLocalName)) {
145           for (int i = prefixes.size(); i > 0; i -= 2) {
146             xsContentHandler.endPrefixMapping((String JavaDoc) prefixes.get(i-2));
147           }
148           xsContentHandler.endDocument();
149           schemas.add(xsContentHandler.getXSSchema());
150           xsContentHandler = null;
151         }
152       }
153     }
154
155     public void startElement(String JavaDoc pNamespaceURI, String JavaDoc pLocalName, String JavaDoc pQName,
156                               Attributes JavaDoc pAttr) throws SAXException JavaDoc {
157       if (xsContentHandler == null) {
158         if (XSParser.XML_SCHEMA_URI.equals(pNamespaceURI) && "schema".equals(pLocalName)) {
159           XSParser parser = new XSParser();
160           Element JavaDoc element = myDataTypes.getDocumentElement();
161           String JavaDoc namespace = element.getAttributeNS(null, "targetNamespace");
162           if (namespace == null || namespace.length() == 0) {
163             throw new IllegalStateException JavaDoc("Namespace is not set");
164           }
165           parser.addImport(namespace, soapDataTypes);
166           xsContentHandler = new XSParser().getXSContentHandler(null);
167           if (locator != null) {
168             xsContentHandler.setDocumentLocator(locator);
169           }
170           xsContentHandler.startDocument();
171           for (int i = 0; i < prefixes.size(); i += 2) {
172             xsContentHandler.startPrefixMapping((String JavaDoc) prefixes.get(i), (String JavaDoc) prefixes.get(i+1));
173           }
174           xsContentHandler.startElement(pNamespaceURI, pLocalName, pQName, pAttr);
175         }
176       } else {
177         xsContentHandler.startElement(pNamespaceURI, pLocalName, pQName, pAttr);
178       }
179     }
180   }
181
182   public void parseBySax(String JavaDoc file, String JavaDoc name, Document JavaDoc pSoapDataTypes)
183       throws SAXException JavaDoc, ParserConfigurationException JavaDoc, IOException JavaDoc {
184     StringReader JavaDoc sr = new StringReader JavaDoc(file);
185     InputSource JavaDoc isource = new InputSource JavaDoc(sr);
186     isource.setSystemId(name);
187     SAXParserFactory JavaDoc spf = SAXParserFactory.newInstance();
188     spf.setValidating(false);
189     spf.setNamespaceAware(true);
190     SAXParser JavaDoc sp = spf.newSAXParser();
191     XMLReader JavaDoc xr = sp.getXMLReader();
192     FilterHandler fh = new FilterHandler(pSoapDataTypes);
193     xr.setContentHandler(fh);
194     xr.parse(isource);
195     assertTrue(fh.getSchemas().length > 0);
196   }
197
198   public void parseByDom(String JavaDoc file, String JavaDoc name, Document JavaDoc pSoapDataTypes)
199       throws SAXException JavaDoc, IOException JavaDoc, ParserConfigurationException JavaDoc {
200     DocumentBuilderFactory JavaDoc dbf = DocumentBuilderFactory.newInstance();
201     dbf.setValidating(false);
202     dbf.setNamespaceAware(true);
203     StringReader JavaDoc sr = new StringReader JavaDoc(file);
204     InputSource JavaDoc isource = new InputSource JavaDoc(sr);
205     isource.setSystemId(name);
206     Document JavaDoc doc = dbf.newDocumentBuilder().parse(isource);
207   
208     org.w3c.dom.Element JavaDoc root = doc.getDocumentElement();
209     NodeList JavaDoc nodes = null;
210             
211     if (root.getTagName() != null
212         && root.getTagName().endsWith("schema")) {
213       addTypes(root, pSoapDataTypes);
214     } else if(root.getTagName()!=null && root.getTagName().endsWith("definitions")) {
215       // search for 'types' element
216
Node JavaDoc node = null;
217       boolean found = false;
218       nodes = root.getChildNodes();
219       for (int i=0; i < nodes.getLength(); i++) {
220         node = nodes.item(i);
221         if (node.getNodeName() != null &&
222             node.getNodeName().endsWith("types")) {
223           found=true;
224           break;
225         }
226       }
227       if (found) {
228         nodes = node.getChildNodes();
229         for(int i=0; i< nodes.getLength() ; i++ ){
230           node = nodes.item(i);
231           if (node.getNodeName()!=null && node.getNodeName().endsWith("schema")) {
232             addTypes((org.w3c.dom.Element JavaDoc) node, pSoapDataTypes);
233           }
234         }//found
235
} else{
236         throw new IllegalStateException JavaDoc("I can not handle this. The parameter passed in -doc's root is not the schema or definition");
237       }
238     }
239   }
240
241   public void parseString(String JavaDoc file, String JavaDoc name) throws Exception JavaDoc{
242     DocumentBuilderFactory JavaDoc dbf = DocumentBuilderFactory.newInstance();
243     dbf.setValidating(false);
244     dbf.setNamespaceAware(true);
245     StringReader JavaDoc sr = new StringReader JavaDoc(soapDataTypes);
246     Document JavaDoc doc = dbf.newDocumentBuilder().parse(new InputSource JavaDoc(sr));
247     
248     // To get better error messages, parse with a special ContentHandler first
249
if (parseBySax) {
250       parseBySax(file, name, doc);
251     }
252
253     if (parseByDom) {
254       parseByDom(file, name, doc);
255     }
256   }
257
258   private static final String JavaDoc soapDataTypes =
259   "<?xml version='1.0' encoding='UTF-8' ?>\n" +
260   "\n" +
261   "<schema xmlns:tns='http://schemas.xmlsoap.org/soap/encoding/'\n" +
262   " targetNamespace='http://schemas.xmlsoap.org/soap/encoding/' \n" +
263   " xmlns='http://www.w3.org/2001/XMLSchema'>\n" +
264   " \n" +
265   " <attribute name='root' >\n" +
266   " <annotation>\n" +
267   " <documentation>\n" +
268   " 'root' can be used to distinguish serialization roots from other\n" +
269   " elements that are present in a serialization but are not roots of\n" +
270   " a serialized value graph \n" +
271   " </documentation>\n" +
272   " </annotation>\n" +
273   " <simpleType>\n" +
274   " <restriction base='boolean'>\n" +
275   " <pattern value='0|1' />\n" +
276   " </restriction>\n" +
277   " </simpleType>\n" +
278   " </attribute>\n" +
279   "\n" +
280   " <attributeGroup name='commonAttributes' >\n" +
281   " <annotation>\n" +
282   " <documentation>\n" +
283   " Attributes common to all elements that function as accessors or \n" +
284   " represent independent (multi-ref) values. The href attribute is\n" +
285   " intended to be used in a manner like CONREF. That is, the element\n" +
286   " content should be empty iff the href attribute appears\n" +
287   " </documentation>\n" +
288   " </annotation>\n" +
289   " <attribute name='id' type='ID' />\n" +
290   " <attribute name='href' type='anyURI' />\n" +
291   " <anyAttribute namespace='##other' processContents='lax' />\n" +
292   " </attributeGroup>\n" +
293   "\n" +
294   " <simpleType name='arrayCoordinate' >\n" +
295   " <restriction base='string' />\n" +
296   " </simpleType>\n" +
297   " \n" +
298   " <attribute name='arrayType' type='string' />\n" +
299   " <attribute name='offset' type='tns:arrayCoordinate' />\n" +
300   " \n" +
301   " <attributeGroup name='arrayAttributes' >\n" +
302   " <attribute ref='tns:arrayType' />\n" +
303   " <attribute ref='tns:offset' />\n" +
304   " </attributeGroup> \n" +
305   " \n" +
306   " <attribute name='position' type='tns:arrayCoordinate' /> \n" +
307   " \n" +
308   " <attributeGroup name='arrayMemberAttributes' >\n" +
309   " <attribute ref='tns:position' />\n" +
310   " </attributeGroup> \n" +
311   "\n" +
312   " <group name='Array' >\n" +
313   " <sequence>\n" +
314   " <any namespace='##any' minOccurs='0' maxOccurs='unbounded' processContents='lax' />\n" +
315   " </sequence>\n" +
316   " </group>\n" +
317   "\n" +
318   " <element name='Array' type='tns:Array' />\n" +
319   " <complexType name='Array' >\n" +
320   " <annotation>\n" +
321   " <documentation>\n" +
322   " 'Array' is a complex type for accessors identified by position \n" +
323   " </documentation>\n" +
324   " </annotation>\n" +
325   " <group ref='tns:Array' minOccurs='0' />\n" +
326   " <attributeGroup ref='tns:arrayAttributes' />\n" +
327   " <attributeGroup ref='tns:commonAttributes' />\n" +
328   " </complexType> \n" +
329   "\n" +
330   " \n" +
331   " <element name='Struct' type='tns:Struct' />\n" +
332   "\n" +
333   " <group name='Struct' >\n" +
334   " <sequence>\n" +
335   " <any namespace='##any' minOccurs='0' maxOccurs='unbounded' processContents='lax' />\n" +
336   " </sequence>\n" +
337   " </group>\n" +
338   "\n" +
339   " <complexType name='Struct' >\n" +
340   " <group ref='tns:Struct' minOccurs='0' />\n" +
341   " <attributeGroup ref='tns:commonAttributes'/>\n" +
342   " </complexType> \n" +
343   "\n" +
344   "\n" +
345   " <simpleType name='base64' >\n" +
346   " <restriction base='base64Binary' />\n" +
347   " </simpleType>\n" +
348   "\n" +
349   "\n" +
350   " <element name='duration' type='tns:duration' />\n" +
351   " <complexType name='duration' >\n" +
352   " <simpleContent>\n" +
353   " <extension base='duration' >\n" +
354   " <attributeGroup ref='tns:commonAttributes' />\n" +
355   " </extension>\n" +
356   " </simpleContent>\n" +
357   " </complexType>\n" +
358   "\n" +
359   " <element name='dateTime' type='tns:dateTime' />\n" +
360   " <complexType name='dateTime' >\n" +
361   " <simpleContent>\n" +
362   " <extension base='dateTime' >\n" +
363   " <attributeGroup ref='tns:commonAttributes' />\n" +
364   " </extension>\n" +
365   " </simpleContent>\n" +
366   " </complexType>\n" +
367   "\n" +
368   "\n" +
369   "\n" +
370   " <element name='NOTATION' type='tns:NOTATION' />\n" +
371   " <complexType name='NOTATION' >\n" +
372   " <simpleContent>\n" +
373   " <extension base='QName' >\n" +
374   " <attributeGroup ref='tns:commonAttributes' />\n" +
375   " </extension>\n" +
376   " </simpleContent>\n" +
377   " </complexType>\n" +
378   " \n" +
379   "\n" +
380   " <element name='time' type='tns:time' />\n" +
381   " <complexType name='time' >\n" +
382   " <simpleContent>\n" +
383   " <extension base='time' >\n" +
384   " <attributeGroup ref='tns:commonAttributes' />\n" +
385   " </extension>\n" +
386   " </simpleContent>\n" +
387   " </complexType>\n" +
388   "\n" +
389   " <element name='date' type='tns:date' />\n" +
390   " <complexType name='date' >\n" +
391   " <simpleContent>\n" +
392   " <extension base='date' >\n" +
393   " <attributeGroup ref='tns:commonAttributes' />\n" +
394   " </extension>\n" +
395   " </simpleContent>\n" +
396   " </complexType>\n" +
397   "\n" +
398   " <element name='gYearMonth' type='tns:gYearMonth' />\n" +
399   " <complexType name='gYearMonth' >\n" +
400   " <simpleContent>\n" +
401   " <extension base='gYearMonth' >\n" +
402   " <attributeGroup ref='tns:commonAttributes' />\n" +
403   " </extension>\n" +
404   " </simpleContent>\n" +
405   " </complexType>\n" +
406   "\n" +
407   " <element name='gYear' type='tns:gYear' />\n" +
408   " <complexType name='gYear' >\n" +
409   " <simpleContent>\n" +
410   " <extension base='gYear' >\n" +
411   " <attributeGroup ref='tns:commonAttributes' />\n" +
412   " </extension>\n" +
413   " </simpleContent>\n" +
414   " </complexType>\n" +
415   "\n" +
416   " <element name='gMonthDay' type='tns:gMonthDay' />\n" +
417   " <complexType name='gMonthDay' >\n" +
418   " <simpleContent>\n" +
419   " <extension base='gMonthDay' >\n" +
420   " <attributeGroup ref='tns:commonAttributes' />\n" +
421   " </extension>\n" +
422   " </simpleContent>\n" +
423   " </complexType>\n" +
424   "\n" +
425   " <element name='gDay' type='tns:gDay' />\n" +
426   " <complexType name='gDay' >\n" +
427   " <simpleContent>\n" +
428   " <extension base='gDay' >\n" +
429   " <attributeGroup ref='tns:commonAttributes' />\n" +
430   " </extension>\n" +
431   " </simpleContent>\n" +
432   " </complexType>\n" +
433   "\n" +
434   " <element name='gMonth' type='tns:gMonth' />\n" +
435   " <complexType name='gMonth' >\n" +
436   " <simpleContent>\n" +
437   " <extension base='gMonth' >\n" +
438   " <attributeGroup ref='tns:commonAttributes' />\n" +
439   " </extension>\n" +
440   " </simpleContent>\n" +
441   " </complexType>\n" +
442   " \n" +
443   " <element name='boolean' type='tns:boolean' />\n" +
444   " <complexType name='boolean' >\n" +
445   " <simpleContent>\n" +
446   " <extension base='boolean' >\n" +
447   " <attributeGroup ref='tns:commonAttributes' />\n" +
448   " </extension>\n" +
449   " </simpleContent>\n" +
450   " </complexType>\n" +
451   "\n" +
452   " <element name='base64Binary' type='tns:base64Binary' />\n" +
453   " <complexType name='base64Binary' >\n" +
454   " <simpleContent>\n" +
455   " <extension base='base64Binary' >\n" +
456   " <attributeGroup ref='tns:commonAttributes' />\n" +
457   " </extension>\n" +
458   " </simpleContent>\n" +
459   " </complexType>\n" +
460   "\n" +
461   " <element name='hexBinary' type='tns:hexBinary' />\n" +
462   " <complexType name='hexBinary' >\n" +
463   " <simpleContent>\n" +
464   " <extension base='hexBinary' >\n" +
465   " <attributeGroup ref='tns:commonAttributes' />\n" +
466   " </extension>\n" +
467   " </simpleContent>\n" +
468   " </complexType>\n" +
469   "\n" +
470   " <element name='float' type='tns:float' />\n" +
471   " <complexType name='float' >\n" +
472   " <simpleContent>\n" +
473   " <extension base='float' >\n" +
474   " <attributeGroup ref='tns:commonAttributes' />\n" +
475   " </extension>\n" +
476   " </simpleContent>\n" +
477   " </complexType>\n" +
478   "\n" +
479   " <element name='double' type='tns:double' />\n" +
480   " <complexType name='double' >\n" +
481   " <simpleContent>\n" +
482   " <extension base='double' >\n" +
483   " <attributeGroup ref='tns:commonAttributes' />\n" +
484   " </extension>\n" +
485   " </simpleContent>\n" +
486   " </complexType>\n" +
487   "\n" +
488   " <element name='anyURI' type='tns:anyURI' />\n" +
489   " <complexType name='anyURI' >\n" +
490   " <simpleContent>\n" +
491   " <extension base='anyURI' >\n" +
492   " <attributeGroup ref='tns:commonAttributes' />\n" +
493   " </extension>\n" +
494   " </simpleContent>\n" +
495   " </complexType>\n" +
496   "\n" +
497   " <element name='QName' type='tns:QName' />\n" +
498   " <complexType name='QName' >\n" +
499   " <simpleContent>\n" +
500   " <extension base='QName' >\n" +
501   " <attributeGroup ref='tns:commonAttributes' />\n" +
502   " </extension>\n" +
503   " </simpleContent>\n" +
504   " </complexType>\n" +
505   "\n" +
506   " \n" +
507   " <element name='string' type='tns:string' />\n" +
508   " <complexType name='string' >\n" +
509   " <simpleContent>\n" +
510   " <extension base='string' >\n" +
511   " <attributeGroup ref='tns:commonAttributes' />\n" +
512   " </extension>\n" +
513   " </simpleContent>\n" +
514   " </complexType>\n" +
515   "\n" +
516   " <element name='normalizedString' type='tns:normalizedString' />\n" +
517   " <complexType name='normalizedString' >\n" +
518   " <simpleContent>\n" +
519   " <extension base='normalizedString' >\n" +
520   " <attributeGroup ref='tns:commonAttributes' />\n" +
521   " </extension>\n" +
522   " </simpleContent>\n" +
523   " </complexType>\n" +
524   "\n" +
525   " <element name='token' type='tns:token' />\n" +
526   " <complexType name='token' >\n" +
527   " <simpleContent>\n" +
528   " <extension base='token' >\n" +
529   " <attributeGroup ref='tns:commonAttributes' />\n" +
530   " </extension>\n" +
531   " </simpleContent>\n" +
532   " </complexType>\n" +
533   "\n" +
534   " <element name='language' type='tns:language' />\n" +
535   " <complexType name='language' >\n" +
536   " <simpleContent>\n" +
537   " <extension base='language' >\n" +
538   " <attributeGroup ref='tns:commonAttributes' />\n" +
539   " </extension>\n" +
540   " </simpleContent>\n" +
541   " </complexType>\n" +
542   "\n" +
543   " <element name='Name' type='tns:Name' />\n" +
544   " <complexType name='Name' >\n" +
545   " <simpleContent>\n" +
546   " <extension base='Name' >\n" +
547   " <attributeGroup ref='tns:commonAttributes' />\n" +
548   " </extension>\n" +
549   " </simpleContent>\n" +
550   " </complexType>\n" +
551   "\n" +
552   " <element name='NMTOKEN' type='tns:NMTOKEN' />\n" +
553   " <complexType name='NMTOKEN' >\n" +
554   " <simpleContent>\n" +
555   " <extension base='NMTOKEN' >\n" +
556   " <attributeGroup ref='tns:commonAttributes' />\n" +
557   " </extension>\n" +
558   " </simpleContent>\n" +
559   " </complexType>\n" +
560   "\n" +
561   " <element name='NCName' type='tns:NCName' />\n" +
562   " <complexType name='NCName' >\n" +
563   " <simpleContent>\n" +
564   " <extension base='NCName' >\n" +
565   " <attributeGroup ref='tns:commonAttributes' />\n" +
566   " </extension>\n" +
567   " </simpleContent>\n" +
568   " </complexType>\n" +
569   "\n" +
570   " <element name='NMTOKENS' type='tns:NMTOKENS' />\n" +
571   " <complexType name='NMTOKENS' >\n" +
572   " <simpleContent>\n" +
573   " <extension base='NMTOKENS' >\n" +
574   " <attributeGroup ref='tns:commonAttributes' />\n" +
575   " </extension>\n" +
576   " </simpleContent>\n" +
577   " </complexType>\n" +
578   "\n" +
579   " <element name='ID' type='tns:ID' />\n" +
580   " <complexType name='ID' >\n" +
581   " <simpleContent>\n" +
582   " <extension base='ID' >\n" +
583   " <attributeGroup ref='tns:commonAttributes' />\n" +
584   " </extension>\n" +
585   " </simpleContent>\n" +
586   " </complexType>\n" +
587   "\n" +
588   " <element name='IDREF' type='tns:IDREF' />\n" +
589   " <complexType name='IDREF' >\n" +
590   " <simpleContent>\n" +
591   " <extension base='IDREF' >\n" +
592   " <attributeGroup ref='tns:commonAttributes' />\n" +
593   " </extension>\n" +
594   " </simpleContent>\n" +
595   " </complexType>\n" +
596   "\n" +
597   " <element name='ENTITY' type='tns:ENTITY' />\n" +
598   " <complexType name='ENTITY' >\n" +
599   " <simpleContent>\n" +
600   " <extension base='ENTITY' >\n" +
601   " <attributeGroup ref='tns:commonAttributes' />\n" +
602   " </extension>\n" +
603   " </simpleContent>\n" +
604   " </complexType>\n" +
605   "\n" +
606   " <element name='IDREFS' type='tns:IDREFS' />\n" +
607   " <complexType name='IDREFS' >\n" +
608   " <simpleContent>\n" +
609   " <extension base='IDREFS' >\n" +
610   " <attributeGroup ref='tns:commonAttributes' />\n" +
611   " </extension>\n" +
612   " </simpleContent>\n" +
613   " </complexType>\n" +
614   "\n" +
615   " <element name='ENTITIES' type='tns:ENTITIES' />\n" +
616   " <complexType name='ENTITIES' >\n" +
617   " <simpleContent>\n" +
618   " <extension base='ENTITIES' >\n" +
619   " <attributeGroup ref='tns:commonAttributes' />\n" +
620   " </extension>\n" +
621   " </simpleContent>\n" +
622   " </complexType>\n" +
623   "\n" +
624   " <element name='decimal' type='tns:decimal' />\n" +
625   " <complexType name='decimal' >\n" +
626   " <simpleContent>\n" +
627   " <extension base='decimal' >\n" +
628   " <attributeGroup ref='tns:commonAttributes' />\n" +
629   " </extension>\n" +
630   " </simpleContent>\n" +
631   " </complexType>\n" +
632   "\n" +
633   " <element name='integer' type='tns:integer' />\n" +
634   " <complexType name='integer' >\n" +
635   " <simpleContent>\n" +
636   " <extension base='integer' >\n" +
637   " <attributeGroup ref='tns:commonAttributes' />\n" +
638   " </extension>\n" +
639   " </simpleContent>\n" +
640   " </complexType>\n" +
641   "\n" +
642   " <element name='nonPositiveInteger' type='tns:nonPositiveInteger' />\n" +
643   " <complexType name='nonPositiveInteger' >\n" +
644   " <simpleContent>\n" +
645   " <extension base='nonPositiveInteger' >\n" +
646   " <attributeGroup ref='tns:commonAttributes' />\n" +
647   " </extension>\n" +
648   " </simpleContent>\n" +
649   " </complexType>\n" +
650   "\n" +
651   " <element name='negativeInteger' type='tns:negativeInteger' />\n" +
652   " <complexType name='negativeInteger' >\n" +
653   " <simpleContent>\n" +
654   " <extension base='negativeInteger' >\n" +
655   " <attributeGroup ref='tns:commonAttributes' />\n" +
656   " </extension>\n" +
657   " </simpleContent>\n" +
658   " </complexType>\n" +
659   "\n" +
660   " <element name='long' type='tns:long' />\n" +
661   " <complexType name='long' >\n" +
662   " <simpleContent>\n" +
663   " <extension base='long' >\n" +
664   " <attributeGroup ref='tns:commonAttributes' />\n" +
665   " </extension>\n" +
666   " </simpleContent>\n" +
667   " </complexType>\n" +
668   "\n" +
669   " <element name='int' type='tns:int' />\n" +
670   " <complexType name='int' >\n" +
671   " <simpleContent>\n" +
672   " <extension base='int' >\n" +
673   " <attributeGroup ref='tns:commonAttributes' />\n" +
674   " </extension>\n" +
675   " </simpleContent>\n" +
676   " </complexType>\n" +
677   "\n" +
678   " <element name='short' type='tns:short' />\n" +
679   " <complexType name='short' >\n" +
680   " <simpleContent>\n" +
681   " <extension base='short' >\n" +
682   " <attributeGroup ref='tns:commonAttributes' />\n" +
683   " </extension>\n" +
684   " </simpleContent>\n" +
685   " </complexType>\n" +
686   "\n" +
687   " <element name='byte' type='tns:byte' />\n" +
688   " <complexType name='byte' >\n" +
689   " <simpleContent>\n" +
690   " <extension base='byte' >\n" +
691   " <attributeGroup ref='tns:commonAttributes' />\n" +
692   " </extension>\n" +
693   " </simpleContent>\n" +
694   " </complexType>\n" +
695   "\n" +
696   " <element name='nonNegativeInteger' type='tns:nonNegativeInteger' />\n" +
697   " <complexType name='nonNegativeInteger' >\n" +
698   " <simpleContent>\n" +
699   " <extension base='nonNegativeInteger' >\n" +
700   " <attributeGroup ref='tns:commonAttributes' />\n" +
701   " </extension>\n" +
702   " </simpleContent>\n" +
703   " </complexType>\n" +
704   "\n" +
705   " <element name='unsignedLong' type='tns:unsignedLong' />\n" +
706   " <complexType name='unsignedLong' >\n" +
707   " <simpleContent>\n" +
708   " <extension base='unsignedLong' >\n" +
709   " <attributeGroup ref='tns:commonAttributes' />\n" +
710   " </extension>\n" +
711   " </simpleContent>\n" +
712   " </complexType>\n" +
713   "\n" +
714   " <element name='unsignedInt' type='tns:unsignedInt' />\n" +
715   " <complexType name='unsignedInt' >\n" +
716   " <simpleContent>\n" +
717   " <extension base='unsignedInt' >\n" +
718   " <attributeGroup ref='tns:commonAttributes' />\n" +
719   " </extension>\n" +
720   " </simpleContent>\n" +
721   " </complexType>\n" +
722   "\n" +
723   " <element name='unsignedShort' type='tns:unsignedShort' />\n" +
724   " <complexType name='unsignedShort' >\n" +
725   " <simpleContent>\n" +
726   " <extension base='unsignedShort' >\n" +
727   " <attributeGroup ref='tns:commonAttributes' />\n" +
728   " </extension>\n" +
729   " </simpleContent>\n" +
730   " </complexType>\n" +
731   "\n" +
732   " <element name='unsignedByte' type='tns:unsignedByte' />\n" +
733   " <complexType name='unsignedByte' >\n" +
734   " <simpleContent>\n" +
735   " <extension base='unsignedByte' >\n" +
736   " <attributeGroup ref='tns:commonAttributes' />\n" +
737   " </extension>\n" +
738   " </simpleContent>\n" +
739   " </complexType>\n" +
740   "\n" +
741   " <element name='positiveInteger' type='tns:positiveInteger' />\n" +
742   " <complexType name='positiveInteger' >\n" +
743   " <simpleContent>\n" +
744   " <extension base='positiveInteger' >\n" +
745   " <attributeGroup ref='tns:commonAttributes' />\n" +
746   " </extension>\n" +
747   " </simpleContent>\n" +
748   " </complexType>\n" +
749   "\n" +
750   " </schema>\n";
751   
752   private static final String JavaDoc addressBook =
753   "<?xml version='1.0' ?>\n" +
754   "\n" +
755   "<definitions name='urn:AddrNoImplSEI'\n" +
756   " targetNamespace='urn:AddrNoImplSEI'\n" +
757   " xmlns:tns='urn:AddrNoImplSEI'\n" +
758   " xmlns:typens='urn:AddrNoImplSEI'\n" +
759   " xmlns:xsd='http://www.w3.org/2001/XMLSchema'\n" +
760   " xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'\n" +
761   " xmlns:soap-enc='http://schemas.xmlsoap.org/soap/encoding/'\n" +
762   " xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'\n" +
763   " xmlns='http://schemas.xmlsoap.org/wsdl/'>\n" +
764   "\n" +
765   " <!-- type defs -->\n" +
766   " <types>\n" +
767   " <xsd:schema targetNamespace='urn:AddrNoImplSEI'\n" +
768   " xmlns:xsd='http://www.w3.org/2001/XMLSchema'>\n" +
769   "\n" +
770   " <xsd:simpleType name='StateType'>\n" +
771   " <xsd:restriction base='xsd:string'>\n" +
772   " <xsd:enumeration value='TX'/> \n" +
773   " <xsd:enumeration value='IN'/> \n" +
774   " <xsd:enumeration value='OH'/> \n" +
775   " </xsd:restriction>\n" +
776   " </xsd:simpleType>\n" +
777   "\n" +
778   " <xsd:element name='Phone'>\n" +
779   " <xsd:complexType>\n" +
780   " <xsd:all>\n" +
781   " <xsd:element name='areaCode' type='xsd:int'/>\n" +
782   " <xsd:element name='exchange' type='xsd:string'/>\n" +
783   " <xsd:element name='number' type='xsd:string'/>\n" +
784   " </xsd:all>\n" +
785   " </xsd:complexType>\n" +
786   " </xsd:element>\n" +
787   "\n" +
788   " <xsd:complexType name='Address'>\n" +
789   " <xsd:all>\n" +
790   " <xsd:element name='streetNum' type='xsd:int'/>\n" +
791   " <xsd:element name='streetName' type='xsd:string'/>\n" +
792   " <xsd:element name='city' type='xsd:string'/>\n" +
793   " <xsd:element name='state' type='typens:StateType'/>\n" +
794   " <xsd:element name='zip' type='xsd:int'/>\n" +
795   " <xsd:element ref='typens:Phone'/>\n" +
796   " </xsd:all>\n" +
797   " </xsd:complexType>\n" +
798   "\n" +
799   " <xsd:complexType name='ArrayOfaddress'>\n" +
800   " <xsd:complexContent>\n" +
801   " <xsd:restriction base='soap-enc:Array'>\n" +
802   " <xsd:attribute ref='soap-enc:arrayType' wsdl:arrayType='typens:Address[]'/>\n" +
803   " </xsd:restriction>\n" +
804   " </xsd:complexContent>\n" +
805   " </xsd:complexType>\n" +
806   " </xsd:schema>\n" +
807   " </types>\n" +
808   "\n" +
809   " <!-- message declns -->\n" +
810   " <message name='AddEntryRequest'>\n" +
811   " <part name='name' type='xsd:string'/>\n" +
812   " <part name='address' type='typens:Address'/>\n" +
813   " </message>\n" +
814   "\n" +
815   " <message name='GetAddressFromNameRequest'>\n" +
816   " <part name='name' type='xsd:string'/>\n" +
817   " </message>\n" +
818   "\n" +
819   " <message name='GetAddressFromNameResponse'>\n" +
820   " <part name='address' type='typens:Address'/>\n" +
821   " </message>\n" +
822   "\n" +
823   " <message name='getAddressesRequest'>\n" +
824   " </message> \n" +
825   "\n" +
826   " <message name='getAddressesResponse'>\n" +
827   " <part name='addresses' type='typens:ArrayOfaddress'/>\n" +
828   " </message>\n" +
829   "\n" +
830   " <!-- port type declns -->\n" +
831   " <portType name='AddressBookNoImplSEI'>\n" +
832   " <operation name='addEntry'>\n" +
833   " <input message='tns:AddEntryRequest'/>\n" +
834   " </operation>\n" +
835   " <operation name='getAddressFromName'>\n" +
836   " <input message='tns:GetAddressFromNameRequest'/>\n" +
837   " <output message='tns:GetAddressFromNameResponse'/>\n" +
838   " </operation>\n" +
839   " <operation name='getAddresses'>\n" +
840   " <input message='tns:getAddressesRequest'/>\n" +
841   " <output message='tns:getAddressesResponse'/>\n" +
842   " </operation>\n" +
843   " </portType>\n" +
844   "\n" +
845   " <!-- binding declns -->\n" +
846   " <binding name='AddressBookNoImplSEISoapBinding' type='tns:AddressBookNoImplSEI'>\n" +
847   " <soap:binding style='rpc'\n" +
848   " transport='http://schemas.xmlsoap.org/soap/http'/>\n" +
849   " <operation name='addEntry'>\n" +
850   " <soap:operation soapAction=''/>\n" +
851   " <input>\n" +
852   " <soap:body use='encoded'\n" +
853   " namespace='urn:AddrNoImplSEI'\n" +
854   " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
855   " </input>\n" +
856   " <output>\n" +
857   " <soap:body use='encoded'\n" +
858   " namespace='urn:AddrNoImplSEI'\n" +
859   " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
860   " </output>\n" +
861   " </operation>\n" +
862   " <operation name='getAddressFromName'>\n" +
863   " <soap:operation soapAction=''/>\n" +
864   " <input>\n" +
865   " <soap:body use='encoded'\n" +
866   " namespace='urn:AddrNoImplSEI'\n" +
867   " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
868   " </input>\n" +
869   " <output>\n" +
870   " <soap:body use='encoded'\n" +
871   " namespace='urn:AddrNoImplSEI'\n" +
872   " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
873   " </output>\n" +
874   " </operation>\n" +
875   " <operation name='getAddresses'>\n" +
876   " <soap:operation soapAction=''/>\n" +
877   " <input>\n" +
878   " <soap:body use='encoded'\n" +
879   " namespace='urn:AddressFetcher2'\n" +
880   " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
881   " </input>\n" +
882   " <output>\n" +
883   " <soap:body use='encoded'\n" +
884   " namespace='urn:AddressFetcher2'\n" +
885   " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
886   " </output>\n" +
887   " </operation>\n" +
888   " </binding>\n" +
889   "\n" +
890   " <!-- service decln -->\n" +
891   " <service name='AddressBookNoImplSEIService'>\n" +
892   " <port name='AddressBookNoImplSEI' binding='tns:AddressBookNoImplSEISoapBinding'>\n" +
893   " <soap:address location='http://localhost:8080/axis/services/AddressBookNoImplSEI'/>\n" +
894   " </port>\n" +
895   " </service>\n" +
896   "\n" +
897   "</definitions>\n";
898
899   public void testAddressBook() throws Exception JavaDoc {
900     parseString(addressBook, "addressBook.xsd");
901   }
902
903   private final String JavaDoc clash =
904   "<?xml version='1.0' ?>\n" +
905   "\n" +
906   "<definitions \n" +
907   " name='name clash test'\n" +
908   " targetNamespace='urn:clash.wsdl.test'\n" +
909   " xmlns:tns='urn:clash.wsdl.test'\n" +
910   " xmlns:xsd='http://www.w3.org/2001/XMLSchema'\n" +
911   " xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'\n" +
912   " xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/'\n" +
913   " xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'\n" +
914   " xmlns='http://schemas.xmlsoap.org/wsdl/'>\n" +
915   "\n" +
916   " <!-- type defs -->\n" +
917   " <types>\n" +
918   " <xsd:schema targetNamespace='urn:clash.wsdl.test'\n" +
919   " xmlns:xsd='http://www.w3.org/2001/XMLSchema'>\n" +
920   " <xsd:complexType name='sharedName'>\n" +
921   " <xsd:all>\n" +
922   " <xsd:element name='sharedName' type='xsd:int'/>\n" +
923   " </xsd:all>\n" +
924   " </xsd:complexType>\n" +
925   " <xsd:element name='sharedName'>\n" +
926   " <xsd:complexType>\n" +
927   " <xsd:all>\n" +
928   " <xsd:element name='sharedName' type='xsd:int'/>\n" +
929   " </xsd:all>\n" +
930   " </xsd:complexType>\n" +
931   " </xsd:element>\n" +
932   " <xsd:element name='another'>\n" +
933   " <xsd:complexType>\n" +
934   " <xsd:all>\n" +
935   " <xsd:element name='sharedName' type='xsd:boolean'/>\n" +
936   " </xsd:all>\n" +
937   " </xsd:complexType>\n" +
938   " </xsd:element>\n" +
939   " </xsd:schema>\n" +
940   " </types>\n" +
941   "\n" +
942   " <!-- message declns -->\n" +
943   " <message name='empty'/>\n" +
944   "\n" +
945   " <message name='sharedName'>\n" +
946   " <part name='sharedName' type='tns:sharedName'/>\n" +
947   " </message>\n" +
948   " <message name='anotherMessage'>\n" +
949   " <part name='sharedName' type='xsd:int'/>\n" +
950   " </message>\n" +
951   " <message name='literalMessage'>\n" +
952   " <part name='literalPart' element='tns:sharedName'/>\n" +
953   " </message>\n" +
954   " <message name='anotherLitMessage'>\n" +
955   " <part name='sharedName' element='tns:another'/>\n" +
956   " </message>\n" +
957   "\n" +
958   " <!-- port type declns -->\n" +
959   " <portType name='sharedName'>\n" +
960   " <operation name='sharedName'>\n" +
961   " <input name='sharedNameIn' message='tns:empty'/>\n" +
962   " <output name='sharedNameOut' message='tns:sharedName'/>\n" +
963   " </operation>\n" +
964   " <operation name='sharedName'>\n" +
965   " <input name='sharedNameIn2' message='tns:sharedName'/>\n" +
966   " <output name='emptyOut2' message='tns:empty'/>\n" +
967   " </operation>\n" +
968   " <operation name='sharedName'>\n" +
969   " <input name='anotherIn3' message='tns:anotherMessage'/>\n" +
970   " <output name='emptyOut3' message='tns:empty'/>\n" +
971   " </operation>\n" +
972   " </portType>\n" +
973   "\n" +
974   " <portType name='literalPort'>\n" +
975   " <operation name='sharedName'>\n" +
976   " <input name='sharedNameIn' message='tns:empty'/>\n" +
977   " <output name='sharedNameOut' message='tns:literalMessage'/>\n" +
978   " </operation>\n" +
979   " <operation name='sharedName'>\n" +
980   " <input name='sharedNameIn2' message='tns:literalMessage'/>\n" +
981   " <output name='emptyOut2' message='tns:empty'/>\n" +
982   " </operation>\n" +
983   " <operation name='sharedName'>\n" +
984   " <input name='anotherIn3' message='tns:anotherLitMessage'/>\n" +
985   " <output name='emptyOut3' message='tns:empty'/>\n" +
986   " </operation>\n" +
987   " </portType>\n" +
988   "\n" +
989   " <!-- binding declns -->\n" +
990   " <binding name='nonSharedName' type='tns:sharedName'>\n" +
991   " <soap:binding\n" +
992   " style='rpc'\n" +
993   " transport='http://schemas.xmlsoap.org/soap/http'/>\n" +
994   " <operation name='sharedName'>\n" +
995   " <input name='sharedNameIn'>\n" +
996   " <soap:body use='encoded'/>\n" +
997   " </input>\n" +
998   " <output name='sharedNameOut'>\n" +
999   " <soap:body use='encoded'/>\n" +
1000  " </output>\n" +
1001  " </operation>\n" +
1002  " <operation name='sharedName'>\n" +
1003  " <input name='sharedNameIn2'>\n" +
1004  " <soap:body use='encoded'/>\n" +
1005  " </input>\n" +
1006  " <output name='emptyOut2'>\n" +
1007  " <soap:body use='encoded'/>\n" +
1008  " </output>\n" +
1009  " </operation>\n" +
1010  " <operation name='sharedName'>\n" +
1011  " <input name='anotherIn3'>\n" +
1012  " <soap:body use='encoded'/>\n" +
1013  " </input>\n" +
1014  " <output name='emptyOut3'>\n" +
1015  " <soap:body use='encoded'/>\n" +
1016  " </output>\n" +
1017  " </operation>\n" +
1018  " </binding>\n" +
1019  "\n" +
1020  "<!-- don't do this one just yet...\n" +
1021  " <binding name='sharedName' type='tns:literalPort'>\n" +
1022  " <soap:binding\n" +
1023  " style='rpc'\n" +
1024  " transport='http://schemas.xmlsoap.org/soap/http'/>\n" +
1025  " <operation name='sharedName'>\n" +
1026  " <input name='sharedNameIn'>\n" +
1027  " <soap:body use='literal'/>\n" +
1028  " </input>\n" +
1029  " <output name='sharedNameOut'>\n" +
1030  " <soap:body use='literal'/>\n" +
1031  " </output>\n" +
1032  " </operation>\n" +
1033  " <operation name='sharedName'>\n" +
1034  " <input name='sharedNameIn2'>\n" +
1035  " <soap:body use='literal'/>\n" +
1036  " </input>\n" +
1037  " <output name='emptyOut2'>\n" +
1038  " <soap:body use='literal'/>\n" +
1039  " </output>\n" +
1040  " </operation>\n" +
1041  " <operation name='sharedName'>\n" +
1042  " <input name='anotherIn3'>\n" +
1043  " <soap:body use='literal'/>\n" +
1044  " </input>\n" +
1045  " <output name='emptyOut3'>\n" +
1046  " <soap:body use='literal'/>\n" +
1047  " </output>\n" +
1048  " </operation>\n" +
1049  " </binding>\n" +
1050  "-->\n" +
1051  "\n" +
1052  " <binding name='anotherNonSharedName' type='tns:sharedName'>\n" +
1053  " <soap:binding\n" +
1054  " style='rpc'\n" +
1055  " transport='http://schemas.xmlsoap.org/soap/http'/>\n" +
1056  " <operation name='sharedName'>\n" +
1057  " <input name='sharedNameIn'>\n" +
1058  " <soap:body use='encoded'/>\n" +
1059  " </input>\n" +
1060  " <output name='sharedNameOut'>\n" +
1061  " <soap:body use='encoded'/>\n" +
1062  " </output>\n" +
1063  " </operation>\n" +
1064  " <operation name='sharedName'>\n" +
1065  " <input name='sharedNameIn2'>\n" +
1066  " <soap:body use='encoded'/>\n" +
1067  " </input>\n" +
1068  " <output name='emptyOut2'>\n" +
1069  " <soap:body use='encoded'/>\n" +
1070  " </output>\n" +
1071  " </operation>\n" +
1072  " <operation name='sharedName'>\n" +
1073  " <input name='anotherIn3'>\n" +
1074  " <soap:body use='encoded'/>\n" +
1075  " </input>\n" +
1076  " <output name='emptyOut3'>\n" +
1077  " <soap:body use='encoded'/>\n" +
1078  " </output>\n" +
1079  " </operation>\n" +
1080  " </binding>\n" +
1081  "\n" +
1082  " <!-- service decln -->\n" +
1083  " <service name='sharedName'>\n" +
1084  " <port name='nonSharedName' binding='tns:nonSharedName'>\n" +
1085  " <soap:address location='http://localhost:8080/axis/services/nonSharedName'/>\n" +
1086  " </port>\n" +
1087  " <port name='anotherNonSharedName' binding='tns:anotherNonSharedName'>\n" +
1088  " <soap:address location='http://localhost:8080/axis/services/anotherNonSharedName'/>\n" +
1089  " </port>\n" +
1090  "<!-- don't do this just yet...\n" +
1091  " <port name='sharedName' binding='tns:sharedName'>\n" +
1092  " <soap:address location='http://localhost:8080/axis/services/sharedName'/>\n" +
1093  " </port>\n" +
1094  "-->\n" +
1095  " </service>\n" +
1096  "\n" +
1097  "</definitions>\n";
1098
1099  public void testClash() throws Exception JavaDoc {
1100    parseString(clash, "clash.xsd");
1101  }
1102
1103  private static final String JavaDoc getPlan =
1104  "<?xml version='1.0' encoding='utf-8'?>\n" +
1105  "<definitions xmlns:http='http://schemas.xmlsoap.org/wsdl/http/'\n" +
1106  " xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'\n" +
1107  " xmlns:s='http://www.w3.org/2001/XMLSchema'\n" +
1108  " xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/'\n" +
1109  " xmlns:tm='http://microsoft.com/wsdl/mime/textMatching/'\n" +
1110  " xmlns:s0='http://tempuri.org/'\n" +
1111  " xmlns:mime='http://schemas.xmlsoap.org/wsdl/mime/'\n" +
1112  " targetNamespace='http://tempuri.org/' xmlns='http://schemas.xmlsoap.org/wsdl/'>\n" +
1113  " <types>\n" +
1114  " <s:schema elementFormDefault='qualified' targetNamespace='http://tempuri.org/'>\n" +
1115  " <s:element name='GetPlan'>\n" +
1116  " <s:complexType />\n" +
1117  " </s:element>\n" +
1118  " <s:element name='GetPlanResponse'>\n" +
1119  " <s:complexType>\n" +
1120  " <s:sequence>\n" +
1121  " <s:element minOccurs='0' maxOccurs='1' name='GetPlanResult'\n" +
1122  " type='s0:Plan'/>\n" +
1123  " </s:sequence>\n" +
1124  " </s:complexType>\n" +
1125  " </s:element>\n" +
1126  "\n" +
1127  " <s:complexType name='Plan'>\n" +
1128  " <s:sequence>\n" +
1129  " <s:element minOccurs='0' maxOccurs='1' name='Disposition'\n" +
1130  " type='s0:Disposition'/>\n" +
1131  " </s:sequence>\n" +
1132  " </s:complexType>\n" +
1133  "\n" +
1134  " <s:complexType name='Disposition'>\n" +
1135  " <s:complexContent mixed='false'>\n" +
1136  " <s:extension base='s0:Status' />\n" +
1137  " </s:complexContent>\n" +
1138  " </s:complexType>\n" +
1139  "\n" +
1140  " <s:complexType name='Status'>\n" +
1141  " <s:sequence>\n" +
1142  " <s:element minOccurs='0' maxOccurs='1' name='Code' type='s:string' />\n" +
1143  " <s:element minOccurs='0' maxOccurs='1' name='Description' \n" +
1144  " type='s:string'/>\n" +
1145  " </s:sequence>\n" +
1146  " </s:complexType>\n" +
1147  "\n" +
1148  " <s:element name='Plan' nillable='true' type='s0:Plan' />\n" +
1149  " </s:schema>\n" +
1150  " </types>\n" +
1151  " <message name='GetPlanSoapIn'>\n" +
1152  " <part name='parameters' element='s0:GetPlan' />\n" +
1153  " </message>\n" +
1154  " <message name='GetPlanSoapOut'>\n" +
1155  " <part name='parameters' element='s0:GetPlanResponse' />\n" +
1156  " </message>\n" +
1157  " <message name='GetPlanHttpGetIn' />\n" +
1158  " <message name='GetPlanHttpGetOut'>\n" +
1159  " <part name='Body' element='s0:Plan' />\n" +
1160  " </message>\n" +
1161  " <message name='GetPlanHttpPostIn' />\n" +
1162  " <message name='GetPlanHttpPostOut'>\n" +
1163  " <part name='Body' element='s0:Plan' />\n" +
1164  " </message>\n" +
1165  " <portType name='PlanWSSoap'>\n" +
1166  " <operation name='GetPlan'>\n" +
1167  " <input message='s0:GetPlanSoapIn' />\n" +
1168  " <output message='s0:GetPlanSoapOut' />\n" +
1169  " </operation>\n" +
1170  " </portType>\n" +
1171  " <portType name='PlanWSHttpGet'>\n" +
1172  " <operation name='GetPlan'>\n" +
1173  " <input message='s0:GetPlanHttpGetIn' />\n" +
1174  " <output message='s0:GetPlanHttpGetOut' />\n" +
1175  " </operation>\n" +
1176  " </portType>\n" +
1177  " <portType name='PlanWSHttpPost'>\n" +
1178  " <operation name='GetPlan'>\n" +
1179  " <input message='s0:GetPlanHttpPostIn' />\n" +
1180  " <output message='s0:GetPlanHttpPostOut' />\n" +
1181  " </operation>\n" +
1182  " </portType>\n" +
1183  " <binding name='PlanWSSoap' type='s0:PlanWSSoap'>\n" +
1184  " <soap:binding transport='http://schemas.xmlsoap.org/soap/http' \n" +
1185  " style='document'/>\n" +
1186  " <operation name='GetPlan'>\n" +
1187  " <soap:operation soapAction='http://tempuri.org/GetPlan' \n" +
1188  " style='document'/>\n" +
1189  " <input>\n" +
1190  " <soap:body use='literal' />\n" +
1191  " </input>\n" +
1192  " <output>\n" +
1193  " <soap:body use='literal' />\n" +
1194  " </output>\n" +
1195  " </operation>\n" +
1196  " </binding>\n" +
1197  " <binding name='PlanWSHttpGet' type='s0:PlanWSHttpGet'>\n" +
1198  " <http:binding verb='GET' />\n" +
1199  " <operation name='GetPlan'>\n" +
1200  " <http:operation location='/GetPlan' />\n" +
1201  " <input>\n" +
1202  " <http:urlEncoded />\n" +
1203  " </input>\n" +
1204  " <output>\n" +
1205  " <mime:mimeXml part='Body' />\n" +
1206  " </output>\n" +
1207  " </operation>\n" +
1208  " </binding>\n" +
1209  " <binding name='PlanWSHttpPost' type='s0:PlanWSHttpPost'>\n" +
1210  " <http:binding verb='POST' />\n" +
1211  " <operation name='GetPlan'>\n" +
1212  " <http:operation location='/GetPlan' />\n" +
1213  " <input>\n" +
1214  " <mime:content type='application/x-www-form-urlencoded' />\n" +
1215  " </input>\n" +
1216  " <output>\n" +
1217  " <mime:mimeXml part='Body' />\n" +
1218  " </output>\n" +
1219  " </operation>\n" +
1220  " </binding>\n" +
1221  " <service name='PlanWS'>\n" +
1222  " <port name='PlanWSSoap' binding='s0:PlanWSSoap'>\n" +
1223  " <soap:address location='http://localhost:8080/axis/services/PlanWSSoap' />\n" +
1224  " </port>\n" +
1225  " <port name='PlanWSHttpGet' binding='s0:PlanWSHttpGet'>\n" +
1226  " <http:address location='http://localhost:8080/axis/services/PlanWSSoap' />\n" +
1227  " </port>\n" +
1228  " <port name='PlanWSHttpPost' binding='s0:PlanWSHttpPost'>\n" +
1229  " <http:address location='http://localhost:8080/axis/services/PlanWSSoap' />\n" +
1230  " </port>\n" +
1231  " </service>\n" +
1232  "</definitions>\n" +
1233  "\n";
1234
1235  public void testGetPlan() throws Exception JavaDoc {
1236    parseString(getPlan, "getPlan.xsd");
1237  }
1238
1239  private String JavaDoc adaptive =
1240  "<?xml version='1.0' encoding='UTF-8'?>\n" +
1241  "\n" +
1242  "<definitions name='Adaptive' targetNamespace='http://com.test/wsdl/Adaptive' xmlns:tns='http://com.test/wsdl/Adaptive' xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:ns2='http://com.test/types/Adaptive' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'>\n" +
1243  " <types>\n" +
1244  " <schema targetNamespace='http://com.test/types/Adaptive' xmlns:tns='http://com.test/types/Adaptive' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:ns2='http://java.sun.com/jax-rpc-ri/internal' xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/' xmlns:soap-enc='http://schemas.xmlsoap.org/soap/encoding/' xmlns='http://www.w3.org/2001/XMLSchema'>\n" +
1245  " <import namespace='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
1246  " <import namespace='http://java.sun.com/jax-rpc-ri/internal'/>\n" +
1247  " <complexType name='ArrayOfResourceInfo'>\n" +
1248  " <complexContent>\n" +
1249  " <restriction base='soap-enc:Array'>\n" +
1250  " <attribute ref='soap-enc:arrayType' wsdl:arrayType='tns:ResourceInfo[]'/></restriction></complexContent></complexType>\n" +
1251  " <complexType name='ResourceInfo'>\n" +
1252  " <sequence>\n" +
1253  " <element name='properties' type='ns2:vector'/>\n" +
1254  " <element name='id' type='string'/></sequence></complexType>\n" +
1255  " <complexType name='ApplicationInfo'>\n" +
1256  " <sequence>\n" +
1257  " <element name='dummy' type='tns:KeyValue'/>\n" +
1258  " <element name='properties' type='ns2:vector'/>\n" +
1259  " <element name='id' type='string'/></sequence></complexType>\n" +
1260  " <complexType name='KeyValue'>\n" +
1261  " <sequence>\n" +
1262  " <element name='key' type='string'/>\n" +
1263  " <element name='value' type='string'/></sequence></complexType>\n" +
1264  " <complexType name='ArrayOfint'>\n" +
1265  " <complexContent>\n" +
1266  " <restriction base='soap-enc:Array'>\n" +
1267  " <attribute ref='soap-enc:arrayType' wsdl:arrayType='int[]'/></restriction></complexContent></complexType>\n" +
1268  " <complexType name='ArrayOfstring'>\n" +
1269  " <complexContent>\n" +
1270  " <restriction base='soap-enc:Array'>\n" +
1271  " <attribute ref='soap-enc:arrayType' wsdl:arrayType='string[]'/></restriction></complexContent></complexType>\n" +
1272  " <complexType name='ArrayOfArrayOfstring'>\n" +
1273  " <complexContent>\n" +
1274  " <restriction base='soap-enc:Array'>\n" +
1275  " <attribute ref='soap-enc:arrayType' wsdl:arrayType='tns:ArrayOfstring[]'/></restriction></complexContent></complexType></schema>\n" +
1276  " <schema targetNamespace='http://java.sun.com/jax-rpc-ri/internal' xmlns:tns='http://java.sun.com/jax-rpc-ri/internal' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/' xmlns:soap-enc='http://schemas.xmlsoap.org/soap/encoding/' xmlns='http://www.w3.org/2001/XMLSchema'>\n" +
1277  " <import namespace='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
1278  " <import namespace='http://com.test/types/Adaptive'/>\n" +
1279  " <complexType name='vector'>\n" +
1280  " <complexContent>\n" +
1281  " <extension base='tns:list'>\n" +
1282  " <sequence/></extension></complexContent></complexType>\n" +
1283  " <complexType name='list'>\n" +
1284  " <complexContent>\n" +
1285  " <extension base='tns:collection'>\n" +
1286  " <sequence/></extension></complexContent></complexType>\n" +
1287  " <complexType name='collection'>\n" +
1288  " <complexContent>\n" +
1289  " <restriction base='soap-enc:Array'>\n" +
1290  " <attribute ref='soap-enc:arrayType' wsdl:arrayType='anyType[]'/></restriction></complexContent></complexType></schema></types>\n" +
1291  " <message name='AdaptiveInterface_getServiceDescription'/>\n" +
1292  " <message name='AdaptiveInterface_getServiceDescriptionResponse'>\n" +
1293  " <part name='result' type='xsd:string'/></message>\n" +
1294  " <message name='AdaptiveInterface_rankResources'>\n" +
1295  " <part name='arrayOfResourceInfo_1' type='ns2:ArrayOfResourceInfo'/>\n" +
1296  " <part name='ApplicationInfo_2' type='ns2:ApplicationInfo'/></message>\n" +
1297  " <message name='AdaptiveInterface_rankResourcesResponse'>\n" +
1298  " <part name='result' type='ns2:ArrayOfResourceInfo'/></message>\n" +
1299  " <message name='AdaptiveInterface_estimateTransferTime'>\n" +
1300  " <part name='boolean_1' type='xsd:boolean'/>\n" +
1301  " <part name='ResourceInfo_2' type='ns2:ResourceInfo'/>\n" +
1302  " <part name='arrayOfResourceInfo_3' type='ns2:ArrayOfResourceInfo'/>\n" +
1303  " <part name='long_4' type='xsd:long'/>\n" +
1304  " <part name='Calendar_5' type='xsd:dateTime'/></message>\n" +
1305  " <message name='AdaptiveInterface_estimateTransferTimeResponse'>\n" +
1306  " <part name='result' type='ns2:ArrayOfint'/></message>\n" +
1307  " <message name='AdaptiveInterface_logDataTransfer'>\n" +
1308  " <part name='ResourceInfo_1' type='ns2:ResourceInfo'/>\n" +
1309  " <part name='ResourceInfo_2' type='ns2:ResourceInfo'/>\n" +
1310  " <part name='long_3' type='xsd:long'/>\n" +
1311  " <part name='Calendar_4' type='xsd:dateTime'/>\n" +
1312  " <part name='Calendar_5' type='xsd:dateTime'/></message>\n" +
1313  " <message name='AdaptiveInterface_logDataTransferResponse'/>\n" +
1314  " <message name='AdaptiveInterface_estimateUsage'>\n" +
1315  " <part name='boolean_1' type='xsd:boolean'/>\n" +
1316  " <part name='ResourceInfo_2' type='ns2:ResourceInfo'/>\n" +
1317  " <part name='String_3' type='xsd:string'/>\n" +
1318  " <part name='int_4' type='xsd:int'/>\n" +
1319  " <part name='Calendar_5' type='xsd:dateTime'/>\n" +
1320  " <part name='Calendar_6' type='xsd:dateTime'/></message>\n" +
1321  " <message name='AdaptiveInterface_estimateUsageResponse'>\n" +
1322  " <part name='result' type='xsd:string'/></message>\n" +
1323  " <message name='AdaptiveInterface_estimateMultipleUsage'>\n" +
1324  " <part name='boolean_1' type='xsd:boolean'/>\n" +
1325  " <part name='arrayOfResourceInfo_2' type='ns2:ArrayOfResourceInfo'/>\n" +
1326  " <part name='arrayOfString_3' type='ns2:ArrayOfstring'/>\n" +
1327  " <part name='int_4' type='xsd:int'/>\n" +
1328  " <part name='Calendar_5' type='xsd:dateTime'/>\n" +
1329  " <part name='Calendar_6' type='xsd:dateTime'/></message>\n" +
1330  " <message name='AdaptiveInterface_estimateMultipleUsageResponse'>\n" +
1331  " <part name='result' type='ns2:ArrayOfArrayOfstring'/></message>\n" +
1332  " <message name='AdaptiveInterface_estimateNetworkGraph'>\n" +
1333  " <part name='boolean_1' type='xsd:boolean'/>\n" +
1334  " <part name='arrayOfResourceInfo_2' type='ns2:ArrayOfResourceInfo'/>\n" +
1335  " <part name='int_3' type='xsd:int'/>\n" +
1336  " <part name='Calendar_4' type='xsd:dateTime'/>\n" +
1337  " <part name='Calendar_5' type='xsd:dateTime'/></message>\n" +
1338  " <message name='AdaptiveInterface_estimateNetworkGraphResponse'>\n" +
1339  " <part name='result' type='ns2:ArrayOfArrayOfstring'/></message>\n" +
1340  " <portType name='AdaptiveInterface'>\n" +
1341  " <operation name='getServiceDescription' parameterOrder=''>\n" +
1342  " <input message='tns:AdaptiveInterface_getServiceDescription'/>\n" +
1343  " <output message='tns:AdaptiveInterface_getServiceDescriptionResponse'/></operation>\n" +
1344  " <operation name='rankResources' parameterOrder='arrayOfResourceInfo_1 ApplicationInfo_2'>\n" +
1345  " <input message='tns:AdaptiveInterface_rankResources'/>\n" +
1346  " <output message='tns:AdaptiveInterface_rankResourcesResponse'/></operation>\n" +
1347  " <operation name='estimateTransferTime' parameterOrder='boolean_1 ResourceInfo_2 arrayOfResourceInfo_3 long_4 Calendar_5'>\n" +
1348  " <input message='tns:AdaptiveInterface_estimateTransferTime'/>\n" +
1349  " <output message='tns:AdaptiveInterface_estimateTransferTimeResponse'/></operation>\n" +
1350  " <operation name='logDataTransfer' parameterOrder='ResourceInfo_1 ResourceInfo_2 long_3 Calendar_4 Calendar_5'>\n" +
1351  " <input message='tns:AdaptiveInterface_logDataTransfer'/>\n" +
1352  " <output message='tns:AdaptiveInterface_logDataTransferResponse'/></operation>\n" +
1353  " <operation name='estimateUsage' parameterOrder='boolean_1 ResourceInfo_2 String_3 int_4 Calendar_5 Calendar_6'>\n" +
1354  " <input message='tns:AdaptiveInterface_estimateUsage'/>\n" +
1355  " <output message='tns:AdaptiveInterface_estimateUsageResponse'/></operation>\n" +
1356  " <operation name='estimateMultipleUsage' parameterOrder='boolean_1 arrayOfResourceInfo_2 arrayOfString_3 int_4 Calendar_5 Calendar_6'>\n" +
1357  " <input message='tns:AdaptiveInterface_estimateMultipleUsage'/>\n" +
1358  " <output message='tns:AdaptiveInterface_estimateMultipleUsageResponse'/></operation>\n" +
1359  " <operation name='estimateNetworkGraph' parameterOrder='boolean_1 arrayOfResourceInfo_2 int_3 Calendar_4 Calendar_5'>\n" +
1360  " <input message='tns:AdaptiveInterface_estimateNetworkGraph'/>\n" +
1361  " <output message='tns:AdaptiveInterface_estimateNetworkGraphResponse'/></operation></portType>\n" +
1362  " <binding name='AdaptiveInterfaceBinding' type='tns:AdaptiveInterface'>\n" +
1363  " <operation name='getServiceDescription'>\n" +
1364  " <input>\n" +
1365  " <soap:body encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' use='encoded' namespace='http://com.test/wsdl/Adaptive'/></input>\n" +
1366  " <output>\n" +
1367  " <soap:body encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' use='encoded' namespace='http://com.test/wsdl/Adaptive'/></output>\n" +
1368  " <soap:operation soapAction=''/></operation>\n" +
1369  " <operation name='rankResources'>\n" +
1370  " <input>\n" +
1371  " <soap:body encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' use='encoded' namespace='http://com.test/wsdl/Adaptive'/></input>\n" +
1372  " <output>\n" +
1373  " <soap:body encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' use='encoded' namespace='http://com.test/wsdl/Adaptive'/></output>\n" +
1374  " <soap:operation soapAction=''/></operation>\n" +
1375  " <operation name='estimateTransferTime'>\n" +
1376  " <input>\n" +
1377  " <soap:body encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' use='encoded' namespace='http://com.test/wsdl/Adaptive'/></input>\n" +
1378  " <output>\n" +
1379  " <soap:body encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' use='encoded' namespace='http://com.test/wsdl/Adaptive'/></output>\n" +
1380  " <soap:operation soapAction=''/></operation>\n" +
1381  " <operation name='logDataTransfer'>\n" +
1382  " <input>\n" +
1383  " <soap:body encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' use='encoded' namespace='http://com.test/wsdl/Adaptive'/></input>\n" +
1384  " <output>\n" +
1385  " <soap:body encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' use='encoded' namespace='http://com.test/wsdl/Adaptive'/></output>\n" +
1386  " <soap:operation soapAction=''/></operation>\n" +
1387  " <operation name='estimateUsage'>\n" +
1388  " <input>\n" +
1389  " <soap:body encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' use='encoded' namespace='http://com.test/wsdl/Adaptive'/></input>\n" +
1390  " <output>\n" +
1391  " <soap:body encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' use='encoded' namespace='http://com.test/wsdl/Adaptive'/></output>\n" +
1392  " <soap:operation soapAction=''/></operation>\n" +
1393  " <operation name='estimateMultipleUsage'>\n" +
1394  " <input>\n" +
1395  " <soap:body encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' use='encoded' namespace='http://com.test/wsdl/Adaptive'/></input>\n" +
1396  " <output>\n" +
1397  " <soap:body encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' use='encoded' namespace='http://com.test/wsdl/Adaptive'/></output>\n" +
1398  " <soap:operation soapAction=''/></operation>\n" +
1399  " <operation name='estimateNetworkGraph'>\n" +
1400  " <input>\n" +
1401  " <soap:body encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' use='encoded' namespace='http://com.test/wsdl/Adaptive'/></input>\n" +
1402  " <output>\n" +
1403  " <soap:body encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' use='encoded' namespace='http://com.test/wsdl/Adaptive'/></output>\n" +
1404  " <soap:operation soapAction=''/></operation>\n" +
1405  " <soap:binding transport='http://schemas.xmlsoap.org/soap/http' style='rpc'/></binding>\n" +
1406  " <service name='AdaptiveService'>\n" +
1407  " <port name='Adaptive' binding='tns:AdaptiveInterfaceBinding'>\n" +
1408  " <soap:address location='http://localhost:8080/axis/services/Adaptive'/></port></service></definitions>\n";
1409
1410  public void testAdaptive() throws Exception JavaDoc {
1411    parseString(adaptive, "adaptive.xsd");
1412  }
1413
1414  private String JavaDoc dataService =
1415  "<?xml version='1.0' encoding='utf-8'?>\n" +
1416  "<definitions xmlns:http='http://schemas.xmlsoap.org/wsdl/http/' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:s='http://www.w3.org/2001/XMLSchema' xmlns:s0='http://tempuri.org/' xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:tm='http://microsoft.com/wsdl/mime/textMatching/' xmlns:mime='http://schemas.xmlsoap.org/wsdl/mime/' targetNamespace='http://tempuri.org/' xmlns='http://schemas.xmlsoap.org/wsdl/'>\n" +
1417  " <types>\n" +
1418  " <s:schema elementFormDefault='qualified' targetNamespace='http://tempuri.org/'>\n" +
1419  " <s:import namespace='http://www.w3.org/2001/XMLSchema' />\n" +
1420  " <s:element name='GetTitleAuthors'>\n" +
1421  " <s:complexType />\n" +
1422  " </s:element>\n" +
1423  " <s:element name='GetTitleAuthorsResponse'>\n" +
1424  " <s:complexType>\n" +
1425  " <s:sequence>\n" +
1426  " <s:element minOccurs='0' maxOccurs='1' name='GetTitleAuthorsResult'>\n" +
1427  " <s:complexType>\n" +
1428  " <s:sequence>\n" +
1429  " <s:element ref='s:schema' />\n" +
1430  " <s:any />\n" +
1431  " </s:sequence>\n" +
1432  " </s:complexType>\n" +
1433  " </s:element>\n" +
1434  " </s:sequence>\n" +
1435  " </s:complexType>\n" +
1436  " </s:element>\n" +
1437  " <s:element name='PutTitleAuthors'>\n" +
1438  " <s:complexType>\n" +
1439  " <s:sequence>\n" +
1440  " <s:element minOccurs='0' maxOccurs='1' name='DS'>\n" +
1441  " <s:complexType>\n" +
1442  " <s:sequence>\n" +
1443  " <s:element ref='s:schema' />\n" +
1444  " <s:any />\n" +
1445  " </s:sequence>\n" +
1446  " </s:complexType>\n" +
1447  " </s:element>\n" +
1448  " </s:sequence>\n" +
1449  " </s:complexType>\n" +
1450  " </s:element>\n" +
1451  " <s:element name='PutTitleAuthorsResponse'>\n" +
1452  " <s:complexType>\n" +
1453  " <s:sequence>\n" +
1454  " <s:element minOccurs='1' maxOccurs='1' name='PutTitleAuthorsResult' type='s:int' />\n" +
1455  " </s:sequence>\n" +
1456  " </s:complexType>\n" +
1457  " </s:element>\n" +
1458  " <s:element name='DataSet' nillable='true'>\n" +
1459  " <s:complexType>\n" +
1460  " <s:sequence>\n" +
1461  " <s:element ref='s:schema' />\n" +
1462  " <s:any />\n" +
1463  " </s:sequence>\n" +
1464  " </s:complexType>\n" +
1465  " </s:element>\n" +
1466  " </s:schema>\n" +
1467  " </types>\n" +
1468  " <message name='GetTitleAuthorsSoapIn'>\n" +
1469  " <part name='parameters' element='s0:GetTitleAuthors' />\n" +
1470  " </message>\n" +
1471  " <message name='GetTitleAuthorsSoapOut'>\n" +
1472  " <part name='parameters' element='s0:GetTitleAuthorsResponse' />\n" +
1473  " </message>\n" +
1474  " <message name='PutTitleAuthorsSoapIn'>\n" +
1475  " <part name='parameters' element='s0:PutTitleAuthors' />\n" +
1476  " </message>\n" +
1477  " <message name='PutTitleAuthorsSoapOut'>\n" +
1478  " <part name='parameters' element='s0:PutTitleAuthorsResponse' />\n" +
1479  " </message>\n" +
1480  " <message name='GetTitleAuthorsHttpGetIn' />\n" +
1481  " <message name='GetTitleAuthorsHttpGetOut'>\n" +
1482  " <part name='Body' element='s0:DataSet' />\n" +
1483  " </message>\n" +
1484  " <message name='GetTitleAuthorsHttpPostIn' />\n" +
1485  " <message name='GetTitleAuthorsHttpPostOut'>\n" +
1486  " <part name='Body' element='s0:DataSet' />\n" +
1487  " </message>\n" +
1488  " <portType name='DataServiceSoap'>\n" +
1489  " <operation name='GetTitleAuthors'>\n" +
1490  " <input message='s0:GetTitleAuthorsSoapIn' />\n" +
1491  " <output message='s0:GetTitleAuthorsSoapOut' />\n" +
1492  " </operation>\n" +
1493  " <operation name='PutTitleAuthors'>\n" +
1494  " <input message='s0:PutTitleAuthorsSoapIn' />\n" +
1495  " <output message='s0:PutTitleAuthorsSoapOut' />\n" +
1496  " </operation>\n" +
1497  " </portType>\n" +
1498  " <portType name='DataServiceHttpGet'>\n" +
1499  " <operation name='GetTitleAuthors'>\n" +
1500  " <input message='s0:GetTitleAuthorsHttpGetIn' />\n" +
1501  " <output message='s0:GetTitleAuthorsHttpGetOut' />\n" +
1502  " </operation>\n" +
1503  " </portType>\n" +
1504  " <portType name='DataServiceHttpPost'>\n" +
1505  " <operation name='GetTitleAuthors'>\n" +
1506  " <input message='s0:GetTitleAuthorsHttpPostIn' />\n" +
1507  " <output message='s0:GetTitleAuthorsHttpPostOut' />\n" +
1508  " </operation>\n" +
1509  " </portType>\n" +
1510  " <binding name='DataServiceSoap' type='s0:DataServiceSoap'>\n" +
1511  " <soap:binding transport='http://schemas.xmlsoap.org/soap/http' style='document' />\n" +
1512  " <operation name='GetTitleAuthors'>\n" +
1513  " <soap:operation soapAction='http://tempuri.org/GetTitleAuthors' style='document' />\n" +
1514  " <input>\n" +
1515  " <soap:body use='literal' />\n" +
1516  " </input>\n" +
1517  " <output>\n" +
1518  " <soap:body use='literal' />\n" +
1519  " </output>\n" +
1520  " </operation>\n" +
1521  " <operation name='PutTitleAuthors'>\n" +
1522  " <soap:operation soapAction='http://tempuri.org/PutTitleAuthors' style='document' />\n" +
1523  " <input>\n" +
1524  " <soap:body use='literal' />\n" +
1525  " </input>\n" +
1526  " <output>\n" +
1527  " <soap:body use='literal' />\n" +
1528  " </output>\n" +
1529  " </operation>\n" +
1530  " </binding>\n" +
1531  " <binding name='DataServiceHttpGet' type='s0:DataServiceHttpGet'>\n" +
1532  " <http:binding verb='GET' />\n" +
1533  " <operation name='GetTitleAuthors'>\n" +
1534  " <http:operation location='/GetTitleAuthors' />\n" +
1535  " <input>\n" +
1536  " <http:urlEncoded />\n" +
1537  " </input>\n" +
1538  " <output>\n" +
1539  " <mime:mimeXml part='Body' />\n" +
1540  " </output>\n" +
1541  " </operation>\n" +
1542  " </binding>\n" +
1543  " <binding name='DataServiceHttpPost' type='s0:DataServiceHttpPost'>\n" +
1544  " <http:binding verb='POST' />\n" +
1545  " <operation name='GetTitleAuthors'>\n" +
1546  " <http:operation location='/GetTitleAuthors' />\n" +
1547  " <input>\n" +
1548  " <mime:content type='application/x-www-form-urlencoded' />\n" +
1549  " </input>\n" +
1550  " <output>\n" +
1551  " <mime:mimeXml part='Body' />\n" +
1552  " </output>\n" +
1553  " </operation>\n" +
1554  " </binding>\n" +
1555  " <service name='DataService'>\n" +
1556  " <port name='DataServiceSoap' binding='s0:DataServiceSoap'>\n" +
1557  " <soap:address location='http://samples.gotdotnet.com/quickstart/aspplus/samples/services/DataService/VB/DataService.asmx' />\n" +
1558  " </port>\n" +
1559  " <port name='DataServiceHttpGet' binding='s0:DataServiceHttpGet'>\n" +
1560  " <http:address location='http://samples.gotdotnet.com/quickstart/aspplus/samples/services/DataService/VB/DataService.asmx' />\n" +
1561  " </port>\n" +
1562  " <port name='DataServiceHttpPost' binding='s0:DataServiceHttpPost'>\n" +
1563  " <http:address location='http://samples.gotdotnet.com/quickstart/aspplus/samples/services/DataService/VB/DataService.asmx' />\n" +
1564  " </port>\n" +
1565  " </service>\n" +
1566  "</definitions>\n";
1567
1568  public void testDataService() throws Exception JavaDoc {
1569    parseString(dataService, "dataService.xsd");
1570  }
1571
1572  private static final String JavaDoc thing =
1573  "<?xml version='1.0' encoding='utf-8'?>\n" +
1574  "<definitions xmlns:http='http://schemas.xmlsoap.org/wsdl/http/' \n" +
1575  "xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' \n" +
1576  "xmlns:s='http://www.w3.org/2001/XMLSchema' xmlns:s0='urn:Thing' \n" +
1577  "xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/' \n" +
1578  "xmlns:tm='http://microsoft.com/wsdl/mime/textMatching/' \n" +
1579  "xmlns:mime='http://schemas.xmlsoap.org/wsdl/mime/' \n" +
1580  "targetNamespace='urn:Thing' xmlns='http://schemas.xmlsoap.org/wsdl/'>\n" +
1581  "<!--\n" +
1582  "\n" +
1583  "This test checks out the emitting of holders for container elements\n" +
1584  "(arrays) that are inside elements.\n" +
1585  "\n" +
1586  "-->\n" +
1587  "\n" +
1588  "\n" +
1589  " <types>\n" +
1590  " <s:schema elementFormDefault='qualified' targetNamespace='urn:Thing'>\n" +
1591  " <s:element name='aThing' type='s0:aThing' final='restriction'/>\n" +
1592  " <s:simpleType name='aThing'>\n" +
1593  " <s:restriction base='s:string'>\n" +
1594  " <s:maxLength value='255'/>\n" +
1595  " </s:restriction>\n" +
1596  " </s:simpleType>\n" +
1597  " <s:element name='otherData' type='s0:otherData' final='restriction'/>\n" +
1598  " <s:simpleType name='otherData'>\n" +
1599  " <s:restriction base='s:string'>\n" +
1600  " <s:maxLength value='1024'/>\n" +
1601  " </s:restriction>\n" +
1602  " </s:simpleType>\n" +
1603  " <s:element name='find_aThing' type='s0:find_aThing' final='restriction'/>\n" +
1604  " <s:complexType name='find_aThing' final='restriction'>\n" +
1605  " <s:sequence>\n" +
1606  " <s:element ref='s0:aThing' maxOccurs='1'/>\n" +
1607  " </s:sequence>\n" +
1608  " </s:complexType>\n" +
1609  " <s:element name='AThingResponse' type='s0:AThingResponse' final='restriction'/>\n" +
1610  " <s:complexType name='AThingResponse' final='restriction'>\n" +
1611  " <s:sequence>\n" +
1612  " <s:element ref='s0:aThing' minOccurs='0' maxOccurs='unbounded'/>\n" +
1613  " <s:element ref='s0:otherData' minOccurs='0' maxOccurs='unbounded'/>\n" +
1614  " </s:sequence>\n" +
1615  " </s:complexType>\n" +
1616  " </s:schema>\n" +
1617  " </types>\n" +
1618  " <message name='ThingIn'>\n" +
1619  " <part name='parameters' element='s0:find_aThing' />\n" +
1620  " </message>\n" +
1621  " <message name='ThingOut'>\n" +
1622  " <part name='parameters' element='s0:AThingResponse' />\n" +
1623  " </message>\n" +
1624  " <portType name='Thing'>\n" +
1625  " <operation name='find_aThing'>\n" +
1626  " <input message='s0:ThingIn' />\n" +
1627  " <output message='s0:ThingOut' />\n" +
1628  " </operation>\n" +
1629  " </portType>\n" +
1630  " <binding name='Thing' type='s0:Thing'>\n" +
1631  " <soap:binding transport='http://schemas.xmlsoap.org/soap/http' style='document' />\n" +
1632  " <operation name='find_aThing'>\n" +
1633  " <soap:operation soapAction='http://tempuri.org/find_aThing' style='document' />\n" +
1634  " <input>\n" +
1635  " <soap:body use='literal' />\n" +
1636  " </input>\n" +
1637  " <output>\n" +
1638  " <soap:body use='literal' />\n" +
1639  " </output>\n" +
1640  " </operation>\n" +
1641  " </binding>\n" +
1642  " <service name='wrapped_holders'>\n" +
1643  " <port name='Thing' binding='s0:Thing'>\n" +
1644  " <soap:address location='http://localhost:8080/axis/services/Thing' />\n" +
1645  " </port>\n" +
1646  " </service>\n" +
1647  "</definitions>\n" +
1648  "\n";
1649
1650  public void testThing() throws Exception JavaDoc {
1651    parseString(thing, "thing.xsd");
1652  }
1653
1654  private final String JavaDoc soap12Test =
1655  "<?xml version='1.0'?>\n" +
1656  "\n" +
1657  "<definitions name='SOAP-12-TestDefinitions'\n" +
1658  " targetNamespace='http://whitemesa.net/wsdl/soap12-test'\n" +
1659  " xmlns='http://schemas.xmlsoap.org/wsdl/'\n" +
1660  " xmlns:soap12='http://schemas.xmlsoap.org/wsdl/soap12/'\n" +
1661  " xmlns:xsd='http://www.w3.org/2001/XMLSchema'\n" +
1662  " xmlns:enc='http://www.w3.org/2003/05/soap-encoding'\n" +
1663  " xmlns:tns='http://whitemesa.net/wsdl/soap12-test'\n" +
1664  " xmlns:types='http://example.org/ts-tests/xsd'\n" +
1665  " xmlns:test='http://example.org/ts-tests'\n" +
1666  " xmlns:xlink='http://www.w3.org/1999/xlink'\n" +
1667  " xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'>\n" +
1668  " <types>\n" +
1669  " <schema xmlns='http://www.w3.org/2001/XMLSchema' targetNamespace='http://example.org/ts-tests/xsd'>\n" +
1670  "\n" +
1671  " <import namespace='http://www.w3.org/2003/05/soap-encoding' />\n" +
1672  "\n" +
1673  " <complexType name='ArrayOfstring'>\n" +
1674  " <complexContent>\n" +
1675  " <restriction base='enc:Array'>\n" +
1676  " <sequence>\n" +
1677  " <element name='item' type='xsd:string' minOccurs='0' maxOccurs='unbounded'/>\n" +
1678  " </sequence>\n" +
1679  " <attributeGroup ref='enc:arrayAttributes' /> \n" +
1680  " <attributeGroup ref='enc:commonAttributes' /> \n" +
1681  " </restriction>\n" +
1682  " </complexContent>\n" +
1683  " </complexType>\n" +
1684  "\n" +
1685  " <complexType name='ArrayOfint'>\n" +
1686  " <complexContent>\n" +
1687  " <restriction base='enc:Array'>\n" +
1688  " <sequence>\n" +
1689  " <element name='item' type='xsd:int' minOccurs='0' maxOccurs='unbounded'/>\n" +
1690  " </sequence>\n" +
1691  " <attributeGroup ref='enc:arrayAttributes' /> \n" +
1692  " <attributeGroup ref='enc:commonAttributes' /> \n" +
1693  " </restriction>\n" +
1694  " </complexContent>\n" +
1695  " </complexType>\n" +
1696  "\n" +
1697  " <complexType name='ArrayOffloat'>\n" +
1698  " <complexContent>\n" +
1699  " <restriction base='enc:Array'>\n" +
1700  " <sequence>\n" +
1701  " <element name='item' type='xsd:float' minOccurs='0' maxOccurs='unbounded'/>\n" +
1702  " </sequence>\n" +
1703  " <attributeGroup ref='enc:arrayAttributes' /> \n" +
1704  " <attributeGroup ref='enc:commonAttributes' /> \n" +
1705  " </restriction>\n" +
1706  " </complexContent>\n" +
1707  " </complexType>\n" +
1708  "\n" +
1709  " <complexType name='ArrayOfSOAPStruct'>\n" +
1710  " <complexContent>\n" +
1711  " <restriction base='enc:Array'>\n" +
1712  " <sequence>\n" +
1713  " <element name='item' type='types:SOAPStruct' minOccurs='0' maxOccurs='unbounded'/>\n" +
1714  " </sequence>\n" +
1715  " <attributeGroup ref='enc:arrayAttributes' /> \n" +
1716  " <attributeGroup ref='enc:commonAttributes' /> \n" +
1717  " </restriction>\n" +
1718  " </complexContent>\n" +
1719  " </complexType>\n" +
1720  "\n" +
1721  " <complexType name='SOAPStruct'>\n" +
1722  " <all>\n" +
1723  " <element name='varString' type='xsd:string'/>\n" +
1724  " <element name='varInt' type='xsd:int'/>\n" +
1725  " <element name='varFloat' type='xsd:float'/>\n" +
1726  " </all>\n" +
1727  " </complexType>\n" +
1728  " <complexType name='SOAPStructStruct'>\n" +
1729  " <all>\n" +
1730  " <element name='varString' type='xsd:string'/>\n" +
1731  " <element name='varInt' type='xsd:int'/>\n" +
1732  " <element name='varFloat' type='xsd:float'/>\n" +
1733  " <element name='varStruct' type='types:SOAPStruct'/>\n" +
1734  " </all>\n" +
1735  " </complexType>\n" +
1736  "\n" +
1737  " <complexType name='SOAPArrayStruct'>\n" +
1738  " <all>\n" +
1739  " <element name='varString' type='xsd:string'/>\n" +
1740  " <element name='varInt' type='xsd:int'/>\n" +
1741  " <element name='varFloat' type='xsd:float'/>\n" +
1742  " <element name='varArray' type='types:ArrayOfstring'/>\n" +
1743  " </all>\n" +
1744  " </complexType>\n" +
1745  "\n" +
1746  " </schema>\n" +
1747  "\n" +
1748  " <schema xmlns='http://www.w3.org/2001/XMLSchema'\n" +
1749  " elementFormDefault='qualified'\n" +
1750  " targetNamespace='http://example.org/ts-tests'>\n" +
1751  "\n" +
1752  " <import namespace='http://www.w3.org/1999/xlink' />\n" +
1753  "\n" +
1754  " <!-- 3.2.1 echoOk -->\n" +
1755  " <element name='echoOk' type='xsd:string'/>\n" +
1756  "\n" +
1757  " <!-- 3.2.2 responseOk -->\n" +
1758  " <element name='responseOk' type='xsd:string'/>\n" +
1759  "\n" +
1760  " <!-- 3.2.3 Ignore -->\n" +
1761  " <element name='Ignore' type='xsd:string'/>\n" +
1762  "\n" +
1763  " <!-- 3.2.4 requiredHeader -->\n" +
1764  " <element name='requiredHeader' type='xsd:string'/>\n" +
1765  "\n" +
1766  " <!-- 3.2.5 DataHolder -->\n" +
1767  " <element name='DataHolder' type='test:DataHolder_t'/>\n" +
1768  " <complexType name='DataHolder_t'>\n" +
1769  " <sequence>\n" +
1770  " <element name='Data' type='xsd:string' minOccurs='1' maxOccurs='unbounded'/>\n" +
1771  " </sequence>\n" +
1772  " </complexType>\n" +
1773  "\n" +
1774  " <!-- 3.2.6 concatAndForwardEchoOk -->\n" +
1775  " <element name='concatAndForwardEchoOk'/>\n" +
1776  "\n" +
1777  " <!-- 3.2.7 concatAndForwardEchoOkArg1 -->\n" +
1778  " <element name='concatAndForwardEchoOkArg1' type='xsd:string'/>\n" +
1779  "\n" +
1780  " <!-- 3.2.8 concatAndForwardEchoOkArg2 -->\n" +
1781  " <element name='concatAndForwardEchoOkArg2' type='xsd:string'/>\n" +
1782  "\n" +
1783  " <!-- 3.2.9 validateCountryCode -->\n" +
1784  " <element name='validateCountryCode' type='xsd:string'/>\n" +
1785  "\n" +
1786  " <!-- 3.2.10 validateCountryCodeFault -->\n" +
1787  " <element name='validateCountryCodeFault' type='xsd:string'/>\n" +
1788  "\n" +
1789  " <!-- 3.2.11 echoResolvedRef -->\n" +
1790  " <element name='RelativeReference' type='test:RelativeReference_t'/>\n" +
1791  " <complexType name='RelativeReference_t'>\n" +
1792  " <attribute ref='xml:base'/>\n" +
1793  " <attribute ref='xlink:href'/>\n" +
1794  " </complexType>\n" +
1795  "\n" +
1796  " <element name='echoResolvedRef' type='test:echoResolvedRef_t'/>\n" +
1797  " <complexType name='echoResolvedRef_t'>\n" +
1798  " <complexContent>\n" +
1799  " <sequence>\n" +
1800  " <element ref='test:RelativeReference' minOccurs='1' maxOccurs='1'/>\n" +
1801  " </sequence>\n" +
1802  " </complexContent>\n" +
1803  " </complexType>\n" +
1804  "\n" +
1805  " <!-- 3.2.12 responseResolvedRef -->\n" +
1806  " <element name='responseResolvedRef' type='xsd:string'/>\n" +
1807  "\n" +
1808  " <!-- echoOkUltimateReceiver added to support testing of 'relay' -->\n" +
1809  " <element name='echoOkUltimateReceiver' type='xsd:string'/>\n" +
1810  "\n" +
1811  " <!-- responseOkUltimateReceiver added to support testing of 'relay' -->\n" +
1812  " <element name='responseOkUltimateReceiver' type='xsd:string'/>\n" +
1813  "\n" +
1814  " </schema>\n" +
1815  "\n" +
1816  " </types>\n" +
1817  "\n" +
1818  " <!-- 3.4.1 returnVoid rpc operation -->\n" +
1819  " <message name='returnVoidRequest'/>\n" +
1820  " <message name='returnVoidResponse'/>\n" +
1821  "\n" +
1822  " <!-- 3.4.2 echoStruct rpc operation -->\n" +
1823  " <message name='echoStructRequest'>\n" +
1824  " <part name='inputStruct' type='types:SOAPStruct'/>\n" +
1825  " </message>\n" +
1826  " <message name='echoStructResponse'>\n" +
1827  " <part name='return' type='types:SOAPStruct'/>\n" +
1828  " </message>\n" +
1829  "\n" +
1830  " <!-- 3.4.3 echoStructArray rpc operation -->\n" +
1831  " <message name='echoStructArrayRequest'>\n" +
1832  " <part name='inputStructArray' type='types:ArrayOfSOAPStruct'/>\n" +
1833  " </message>\n" +
1834  " <message name='echoStructArrayResponse'>\n" +
1835  " <part name='return' type='types:ArrayOfSOAPStruct'/>\n" +
1836  " </message>\n" +
1837  "\n" +
1838  " <!-- 3.4.4 echoStructAsSimpleTypes rpc operation -->\n" +
1839  " <message name='echoStructAsSimpleTypesRequest'>\n" +
1840  " <part name='inputStruct' type='types:SOAPStruct'/>\n" +
1841  " </message>\n" +
1842  " <message name='echoStructAsSimpleTypesResponse'>\n" +
1843  " <part name='outputString' type='xsd:string'/>\n" +
1844  " <part name='outputInteger' type='xsd:int'/>\n" +
1845  " <part name='outputFloat' type='xsd:float'/>\n" +
1846  " </message>\n" +
1847  "\n" +
1848  " <!-- 3.4.5 echoSimpleTypesAsStruct rpc operation -->\n" +
1849  " <message name='echoSimpleTypesAsStructRequest'>\n" +
1850  " <part name='inputString' type='xsd:string'/>\n" +
1851  " <part name='inputInteger' type='xsd:int'/>\n" +
1852  " <part name='inputFloat' type='xsd:float'/>\n" +
1853  " </message>\n" +
1854  " <message name='echoSimpleTypesAsStructResponse'>\n" +
1855  " <part name='return' type='types:SOAPStruct'/>\n" +
1856  " </message>\n" +
1857  "\n" +
1858  " <!-- 3.4.6 echoNestedStruct rpc operation -->\n" +
1859  " <message name='echoNestedStructRequest'>\n" +
1860  " <part name='inputStruct' type='types:SOAPStructStruct'/>\n" +
1861  " </message>\n" +
1862  " <message name='echoNestedStructResponse'>\n" +
1863  " <part name='return' type='types:SOAPStructStruct'/>\n" +
1864  " </message>\n" +
1865  "\n" +
1866  " <!-- 3.4.7 echoNestedArray rpc operation -->\n" +
1867  " <message name='echoNestedArrayRequest'>\n" +
1868  " <part name='inputStruct' type='types:SOAPArrayStruct'/>\n" +
1869  " </message>\n" +
1870  " <message name='echoNestedArrayResponse'>\n" +
1871  " <part name='return' type='types:SOAPArrayStruct'/>\n" +
1872  " </message>\n" +
1873  "\n" +
1874  " <!-- 3.4.8 echoFloatArray rpc operation -->\n" +
1875  " <message name='echoFloatArrayRequest'>\n" +
1876  " <part name='inputFloatArray' type='types:ArrayOffloat'/>\n" +
1877  " </message>\n" +
1878  " <message name='echoFloatArrayResponse'>\n" +
1879  " <part name='return' type='types:ArrayOffloat'/>\n" +
1880  " </message>\n" +
1881  "\n" +
1882  " <!-- 3.4.9 echoStringArray rpc operation -->\n" +
1883  " <message name='echoStringArrayRequest'>\n" +
1884  " <part name='inputStringArray' type='types:ArrayOfstring'/>\n" +
1885  " </message>\n" +
1886  " <message name='echoStringArrayResponse'>\n" +
1887  " <part name='return' type='types:ArrayOfstring'/>\n" +
1888  " </message>\n" +
1889  "\n" +
1890  " <!-- 3.4.10 echoIntegerArray rpc operation -->\n" +
1891  " <message name='echoIntegerArrayRequest'>\n" +
1892  " <part name='inputIntegerArray' type='types:ArrayOfint'/>\n" +
1893  " </message>\n" +
1894  " <message name='echoIntegerArrayResponse'>\n" +
1895  " <part name='return' type='types:ArrayOfint'/>\n" +
1896  " </message>\n" +
1897  "\n" +
1898  " <!-- 3.4.11 echoBase64 rpc operation -->\n" +
1899  " <message name='echoBase64Request'>\n" +
1900  " <part name='inputBase64' type='xsd:base64Binary'/>\n" +
1901  " </message>\n" +
1902  " <message name='echoBase64Response'>\n" +
1903  " <part name='return' type='xsd:base64Binary'/>\n" +
1904  " </message>\n" +
1905  "\n" +
1906  " <!-- 3.4.12 echoBoolean rpc operation -->\n" +
1907  " <message name='echoBooleanRequest'>\n" +
1908  " <part name='inputBoolean' type='xsd:boolean'/>\n" +
1909  " </message>\n" +
1910  " <message name='echoBooleanResponse'>\n" +
1911  " <part name='return' type='xsd:boolean'/>\n" +
1912  " </message>\n" +
1913  "\n" +
1914  " <!-- 3.4.13 echoDate rpc operation -->\n" +
1915  " <message name='echoDateRequest'>\n" +
1916  " <part name='inputDate' type='xsd:dateTime'/>\n" +
1917  " </message>\n" +
1918  " <message name='echoDateResponse'>\n" +
1919  " <part name='return' type='xsd:dateTime'/>\n" +
1920  " </message>\n" +
1921  "\n" +
1922  " <!-- 3.4.14 echoDecimal rpc operation -->\n" +
1923  " <message name='echoDecimalRequest'>\n" +
1924  " <part name='inputDecimal' type='xsd:decimal'/>\n" +
1925  " </message>\n" +
1926  " <message name='echoDecimalResponse'>\n" +
1927  " <part name='return' type='xsd:decimal'/>\n" +
1928  " </message>\n" +
1929  "\n" +
1930  " <!-- 3.4.15 echoFloat rpc operation -->\n" +
1931  " <message name='echoFloatRequest'>\n" +
1932  " <part name='inputFloat' type='xsd:float'/>\n" +
1933  " </message>\n" +
1934  " <message name='echoFloatResponse'>\n" +
1935  " <part name='return' type='xsd:float'/>\n" +
1936  " </message>\n" +
1937  "\n" +
1938  " <!-- 3.4.16 echoString rpc operation -->\n" +
1939  " <message name='echoStringRequest'>\n" +
1940  " <part name='inputString' type='xsd:string'/>\n" +
1941  " </message>\n" +
1942  " <message name='echoStringResponse'>\n" +
1943  " <part name='return' type='xsd:string'/>\n" +
1944  " </message>\n" +
1945  "\n" +
1946  " <!-- 3.4.17 countItems rpc operation -->\n" +
1947  " <message name='countItemsRequest'>\n" +
1948  " <part name='inputStringArray' type='types:ArrayOfstring'/>\n" +
1949  " </message>\n" +
1950  " <message name='countItemsResponse'>\n" +
1951  " <part name='return' type='xsd:int'/>\n" +
1952  " </message>\n" +
1953  "\n" +
1954  " <!-- 3.4.18 isNil rpc operation -->\n" +
1955  " <message name='isNilRequest'>\n" +
1956  " <part name='inputString' type='xsd:string'/>\n" +
1957  " </message>\n" +
1958  " <message name='isNilResponse'>\n" +
1959  " <part name='return' type='xsd:boolean'/>\n" +
1960  " </message>\n" +
1961  "\n" +
1962  " <!-- DataHolder header block -->\n" +
1963  " <message name='DataHolderRequest'>\n" +
1964  " <part name='DataHolder' type='test:DataHolder_t'/>\n" +
1965  " </message>\n" +
1966  " <message name='DataHolderResponse'>\n" +
1967  " <part name='DataHolder' type='test:DataHolder_t'/>\n" +
1968  " </message>\n" +
1969  "\n" +
1970  " <!-- empty message for doc/literal testing -->\n" +
1971  " <message name='emptyBodyRequest'/>\n" +
1972  " <message name='emptyBodyResponse'/>\n" +
1973  "\n" +
1974  " <!-- echoOk body/header block -->\n" +
1975  " <message name='echoOkRequest'>\n" +
1976  " <part name='echoOk' element='test:echoOk'/>\n" +
1977  " </message>\n" +
1978  " <message name='echoOkResponse'>\n" +
1979  " <part name='responseOk' element='test:responseOk'/>\n" +
1980  " </message>\n" +
1981  "\n" +
1982  "\n" +
1983  " <portType name='Soap12TestPortTypeDoc'>\n" +
1984  " <operation name='emptyBody'>\n" +
1985  " <input message='tns:emptyBodyRequest' />\n" +
1986  " <output message='tns:emptyBodyResponse' />\n" +
1987  " </operation>\n" +
1988  " <operation name='echoOk'>\n" +
1989  " <input message='tns:echoOkRequest' />\n" +
1990  " <output message='tns:echoOkResponse' />\n" +
1991  " </operation>\n" +
1992  " </portType>\n" +
1993  "\n" +
1994  " <portType name='Soap12TestPortTypeRpc'>\n" +
1995  "\n" +
1996  " <!-- 3.4.1 returnVoid rpc operation -->\n" +
1997  " <operation name='returnVoid'>\n" +
1998  " <input message='tns:returnVoidRequest' name='returnVoid'/>\n" +
1999  " <output message='tns:returnVoidResponse' name='returnVoidResponse'/>\n" +
2000  " </operation>\n" +
2001  "\n" +
2002  " <!-- 3.4.2 echoStruct rpc operation -->\n" +
2003  " <operation name='echoStruct' parameterOrder='inputStruct'>\n" +
2004  " <input message='tns:echoStructRequest' name='echoStruct'/>\n" +
2005  " <output message='tns:echoStructResponse' name='echoStructResponse'/>\n" +
2006  " </operation>\n" +
2007  "\n" +
2008  " <!-- 3.4.3 echoStructArray rpc operation -->\n" +
2009  " <operation name='echoStructArray' parameterOrder='inputStructArray'>\n" +
2010  " <input message='tns:echoStructArrayRequest' name='echoStructArray'/>\n" +
2011  " <output message='tns:echoStructArrayResponse' name='echoStructArrayResponse'/>\n" +
2012  " </operation>\n" +
2013  "\n" +
2014  " <!-- 3.4.4 echoStructAsSimpleTypes rpc operation -->\n" +
2015  " <operation name='echoStructAsSimpleTypes' parameterOrder='inputStruct outputString outputInteger outputFloat'>\n" +
2016  " <input message='tns:echoStructAsSimpleTypesRequest'/>\n" +
2017  " <output message='tns:echoStructAsSimpleTypesResponse'/>\n" +
2018  " </operation>\n" +
2019  "\n" +
2020  " <!-- 3.4.5 echoSimpleTypesAsStruct rpc operation -->\n" +
2021  " <operation name='echoSimpleTypesAsStruct' parameterOrder='inputString inputInteger inputFloat'>\n" +
2022  " <input message='tns:echoSimpleTypesAsStructRequest'/>\n" +
2023  " <output message='tns:echoSimpleTypesAsStructResponse'/>\n" +
2024  " </operation>\n" +
2025  "\n" +
2026  " <!-- 3.4.6 echoNestedStruct rpc operation -->\n" +
2027  " <operation name='echoNestedStruct' parameterOrder='inputStruct'>\n" +
2028  " <input message='tns:echoNestedStructRequest'/>\n" +
2029  " <output message='tns:echoNestedStructResponse'/>\n" +
2030  " </operation>\n" +
2031  "\n" +
2032  " <!-- 3.4.7 echoNestedArray rpc operation -->\n" +
2033  " <operation name='echoNestedArray' parameterOrder='inputStruct'>\n" +
2034  " <input message='tns:echoNestedArrayRequest'/>\n" +
2035  " <output message='tns:echoNestedArrayResponse'/>\n" +
2036  " </operation>\n" +
2037  "\n" +
2038  " <!-- 3.4.8 echoFloatArray rpc operation -->\n" +
2039  " <operation name='echoFloatArray' parameterOrder='inputFloatArray'>\n" +
2040  " <input message='tns:echoFloatArrayRequest' name='echoFloatArray'/>\n" +
2041  " <output message='tns:echoFloatArrayResponse' name='echoFloatArrayResponse'/>\n" +
2042  " </operation>\n" +
2043  "\n" +
2044  " <!-- 3.4.9 echoStringArray rpc operation -->\n" +
2045  " <operation name='echoStringArray' parameterOrder='inputStringArray'>\n" +
2046  " <input message='tns:echoStringArrayRequest' name='echoStringArray'/>\n" +
2047  " <output message='tns:echoStringArrayResponse' name='echoStringArrayResponse'/>\n" +
2048  " </operation>\n" +
2049  "\n" +
2050  " <!-- 3.4.10 echoIntegerArray rpc operation -->\n" +
2051  " <operation name='echoIntegerArray' parameterOrder='inputIntegerArray'>\n" +
2052  " <input message='tns:echoIntegerArrayRequest' name='echoIntegerArray'/>\n" +
2053  " <output message='tns:echoIntegerArrayResponse' name='echoIntegerArrayResponse'/>\n" +
2054  " </operation>\n" +
2055  "\n" +
2056  " <!-- 3.4.11 echoBase64 rpc operation -->\n" +
2057  " <operation name='echoBase64' parameterOrder='inputBase64'>\n" +
2058  " <input message='tns:echoBase64Request' name='echoBase64'/>\n" +
2059  " <output message='tns:echoBase64Response' name='echoBase64Response'/>\n" +
2060  " </operation>\n" +
2061  "\n" +
2062  " <!-- 3.4.12 echoBoolean rpc operation -->\n" +
2063  " <operation name='echoBoolean' parameterOrder='inputBoolean'>\n" +
2064  " <input message='tns:echoBooleanRequest' name='echoBoolean'/>\n" +
2065  " <output message='tns:echoBooleanResponse' name='echoBooleanResponse'/>\n" +
2066  " </operation>\n" +
2067  "\n" +
2068  " <!-- 3.4.13 echoDate rpc operation -->\n" +
2069  " <operation name='echoDate' parameterOrder='inputDate'>\n" +
2070  " <input message='tns:echoDateRequest' name='echoDate'/>\n" +
2071  " <output message='tns:echoDateResponse' name='echoDateResponse'/>\n" +
2072  " </operation>\n" +
2073  "\n" +
2074  " <!-- 3.4.14 echoDecimal rpc operation -->\n" +
2075  " <operation name='echoDecimal' parameterOrder='inputDecimal'>\n" +
2076  " <input message='tns:echoDecimalRequest' name='echoDecimal'/>\n" +
2077  " <output message='tns:echoDecimalResponse' name='echoDecimalResponse'/>\n" +
2078  " </operation>\n" +
2079  "\n" +
2080  " <!-- 3.4.15 echoFloat rpc operation -->\n" +
2081  " <operation name='echoFloat' parameterOrder='inputFloat'>\n" +
2082  " <input message='tns:echoFloatRequest' name='echoFloat'/>\n" +
2083  " <output message='tns:echoFloatResponse' name='echoFloatResponse'/>\n" +
2084  " </operation>\n" +
2085  "\n" +
2086  " <!-- 3.4.16 echoString rpc operation -->\n" +
2087  " <operation name='echoString' parameterOrder='inputString'>\n" +
2088  " <input message='tns:echoStringRequest' name='echoString'/>\n" +
2089  " <output message='tns:echoStringResponse' name='echoStringResponse'/>\n" +
2090  " </operation>\n" +
2091  "\n" +
2092  " <!-- 3.4.17 countItems rpc operation -->\n" +
2093  " <operation name='countItems' parameterOrder='inputStringArray'>\n" +
2094  " <input message='tns:countItemsRequest' name='countItems'/>\n" +
2095  " <output message='tns:countItemsResponse' name='countItemsResponse'/>\n" +
2096  " </operation>\n" +
2097  "\n" +
2098  " <!-- 3.4.18 isNil rpc operation -->\n" +
2099  " <operation name='isNil' parameterOrder='inputString'>\n" +
2100  " <input message='tns:isNilRequest' name='isNil'/>\n" +
2101  " <output message='tns:isNilResponse' name='isNilResponse'/>\n" +
2102  " </operation>\n" +
2103  "\n" +
2104  " </portType>\n" +
2105  "\n" +
2106  " <binding name='Soap12TestDocBinding' type='tns:Soap12TestPortTypeDoc'>\n" +
2107  " <soap12:binding style='document' transport='http://schemas.xmlsoap.org/soap/http' />\n" +
2108  " <operation name='emptyBody'>\n" +
2109  " <soap12:operation/>\n" +
2110  " <input>\n" +
2111  " <soap12:body use='literal' />\n" +
2112  " <soap12:header message='tns:echoOkRequest' part='echoOk' use='literal' />\n" +
2113  " </input>\n" +
2114  " <output>\n" +
2115  " <soap12:body use='literal' />\n" +
2116  " <soap12:header message='tns:echoOkResponse' part='responseOk' use='literal' />\n" +
2117  " </output>\n" +
2118  " </operation>\n" +
2119  " <operation name='echoOk'>\n" +
2120  " <soap12:operation/>\n" +
2121  " <input>\n" +
2122  " <soap12:body use='literal' />\n" +
2123  " <soap12:header message='tns:echoOkRequest' part='echoOk' use='literal' />\n" +
2124  " </input>\n" +
2125  " <output>\n" +
2126  " <soap12:body use='literal' />\n" +
2127  " <soap12:header message='tns:echoOkResponse' part='responseOk' use='literal' />\n" +
2128  " </output>\n" +
2129  " </operation>\n" +
2130  " </binding>\n" +
2131  "\n" +
2132  " <binding name='Soap12TestRpcBinding' type='tns:Soap12TestPortTypeRpc'>\n" +
2133  " <soap12:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http'/>\n" +
2134  "\n" +
2135  " <!-- 3.4.1 returnVoid rpc operation -->\n" +
2136  " <operation name='returnVoid'>\n" +
2137  " <soap12:operation/>\n" +
2138  " <input>\n" +
2139  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2140  " </input>\n" +
2141  " <output>\n" +
2142  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2143  " </output>\n" +
2144  " </operation>\n" +
2145  "\n" +
2146  " <!-- 3.4.2 echoStruct rpc operation -->\n" +
2147  " <operation name='echoStruct'>\n" +
2148  " <soap12:operation/>\n" +
2149  " <input>\n" +
2150  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2151  " </input>\n" +
2152  " <output>\n" +
2153  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2154  " </output>\n" +
2155  " </operation>\n" +
2156  "\n" +
2157  " <!-- 3.4.3 echoStructArray rpc operation -->\n" +
2158  " <operation name='echoStructArray'>\n" +
2159  " <soap12:operation/>\n" +
2160  " <input>\n" +
2161  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2162  " </input>\n" +
2163  " <output>\n" +
2164  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2165  " </output>\n" +
2166  " </operation>\n" +
2167  "\n" +
2168  " <!-- 3.4.4 echoStructAsSimpleTypes rpc operation -->\n" +
2169  " <operation name='echoStructAsSimpleTypes'>\n" +
2170  " <soap12:operation/>\n" +
2171  " <input>\n" +
2172  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2173  " </input>\n" +
2174  " <output>\n" +
2175  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2176  " </output>\n" +
2177  " </operation>\n" +
2178  "\n" +
2179  " <!-- 3.4.5 echoSimpleTypesAsStruct rpc operation -->\n" +
2180  " <operation name='echoSimpleTypesAsStruct'>\n" +
2181  " <soap12:operation/>\n" +
2182  " <input>\n" +
2183  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2184  " </input>\n" +
2185  " <output>\n" +
2186  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2187  " </output>\n" +
2188  " </operation>\n" +
2189  "\n" +
2190  " <!-- 3.4.6 echoNestedStruct rpc operation -->\n" +
2191  " <operation name='echoNestedStruct'>\n" +
2192  " <soap12:operation/>\n" +
2193  " <input>\n" +
2194  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2195  " </input>\n" +
2196  " <output>\n" +
2197  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2198  " </output>\n" +
2199  " </operation>\n" +
2200  "\n" +
2201  " <!-- 3.4.7 echoNestedArray rpc operation -->\n" +
2202  " <operation name='echoNestedArray'>\n" +
2203  " <soap12:operation/>\n" +
2204  " <input>\n" +
2205  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2206  " </input>\n" +
2207  " <output>\n" +
2208  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2209  " </output>\n" +
2210  " </operation>\n" +
2211  "\n" +
2212  " <!-- 3.4.8 echoFloatArray rpc operation -->\n" +
2213  " <operation name='echoFloatArray'>\n" +
2214  " <soap12:operation/>\n" +
2215  " <input>\n" +
2216  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2217  " </input>\n" +
2218  " <output>\n" +
2219  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2220  " </output>\n" +
2221  " </operation>\n" +
2222  "\n" +
2223  " <!-- 3.4.9 echoStringArray rpc operation -->\n" +
2224  " <operation name='echoStringArray'>\n" +
2225  " <soap12:operation/>\n" +
2226  " <input>\n" +
2227  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2228  " </input>\n" +
2229  " <output>\n" +
2230  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2231  " </output>\n" +
2232  " </operation>\n" +
2233  "\n" +
2234  " <!-- 3.4.10 echoIntegerArray rpc operation -->\n" +
2235  " <operation name='echoIntegerArray'>\n" +
2236  " <soap12:operation/>\n" +
2237  " <input>\n" +
2238  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2239  " </input>\n" +
2240  " <output>\n" +
2241  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2242  " </output>\n" +
2243  " </operation>\n" +
2244  "\n" +
2245  " <!-- 3.4.11 echoBase64 rpc operation -->\n" +
2246  " <operation name='echoBase64'>\n" +
2247  " <soap12:operation/>\n" +
2248  " <input>\n" +
2249  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2250  " </input>\n" +
2251  " <output>\n" +
2252  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2253  " </output>\n" +
2254  " </operation>\n" +
2255  "\n" +
2256  " <!-- 3.4.12 echoBoolean rpc operation -->\n" +
2257  " <operation name='echoBoolean'>\n" +
2258  " <soap12:operation/>\n" +
2259  " <input>\n" +
2260  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2261  " </input>\n" +
2262  " <output>\n" +
2263  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2264  " </output>\n" +
2265  " </operation>\n" +
2266  "\n" +
2267  " <!-- 3.4.13 echoDate rpc operation -->\n" +
2268  " <operation name='echoDate'>\n" +
2269  " <soap12:operation/>\n" +
2270  " <input>\n" +
2271  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2272  " </input>\n" +
2273  " <output>\n" +
2274  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2275  " </output>\n" +
2276  " </operation>\n" +
2277  "\n" +
2278  " <!-- 3.4.14 echoDecimal rpc operation -->\n" +
2279  " <operation name='echoDecimal'>\n" +
2280  " <soap12:operation/>\n" +
2281  " <input>\n" +
2282  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2283  " </input>\n" +
2284  " <output>\n" +
2285  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2286  " </output>\n" +
2287  " </operation>\n" +
2288  "\n" +
2289  " <!-- 3.4.15 echoFloat rpc operation -->\n" +
2290  " <operation name='echoFloat'>\n" +
2291  " <soap12:operation/>\n" +
2292  " <input>\n" +
2293  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2294  " </input>\n" +
2295  " <output>\n" +
2296  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2297  " </output>\n" +
2298  " </operation>\n" +
2299  "\n" +
2300  " <!-- 3.4.16 echoString rpc operation -->\n" +
2301  " <operation name='echoString'>\n" +
2302  " <soap12:operation/>\n" +
2303  " <input>\n" +
2304  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2305  " <soap12:header use='encoded' message='tns:DataHolder_Request' part='DataHolder' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2306  " </input>\n" +
2307  " <output>\n" +
2308  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2309  " <soap12:header use='encoded' message='tns:DataHolder_Response' part='DataHolder' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2310  " </output>\n" +
2311  " </operation>\n" +
2312  "\n" +
2313  " <!-- 3.4.17 countItems rpc operation -->\n" +
2314  " <operation name='countItems'>\n" +
2315  " <soap12:operation/>\n" +
2316  " <input>\n" +
2317  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2318  " </input>\n" +
2319  " <output>\n" +
2320  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2321  " </output>\n" +
2322  " </operation>\n" +
2323  "\n" +
2324  " <!-- 3.4.18 isNil rpc operation -->\n" +
2325  " <operation name='isNil'>\n" +
2326  " <soap12:operation/>\n" +
2327  " <input>\n" +
2328  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2329  " </input>\n" +
2330  " <output>\n" +
2331  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2332  " </output>\n" +
2333  " </operation>\n" +
2334  "\n" +
2335  " </binding>\n" +
2336  "\n" +
2337  "\n" +
2338  " <service name='WhiteMesaSoap12TestSvc'>\n" +
2339  " <!--\n" +
2340  " <port name='Soap12TestDocPort' binding='tns:Soap12TestDocBinding'>\n" +
2341  " <soap12:address location='http://www.whitemesa.net/soap12/test-doc'/>\n" +
2342  " </port>\n" +
2343  " <port name='Soap12TestRpcPort' binding='tns:Soap12TestRpcBinding'>\n" +
2344  " <soap12:address location='http://www.whitemesa.net/soap12/test-rpc'/>\n" +
2345  " </port>\n" +
2346  " -->\n" +
2347  " <port name='Soap12TestDocPort' binding='tns:Soap12TestDocBinding'>\n" +
2348  " <soap12:address location='http://localhost:8080/axis/services/Soap12TestDocPort'/>\n" +
2349  " </port>\n" +
2350  " <port name='Soap12TestRpcPort' binding='tns:Soap12TestRpcBinding'>\n" +
2351  " <soap12:address location='http://localhost:8080/axis/services/Soap12TestRpcPort'/>\n" +
2352  " </port>\n" +
2353  "\n" +
2354  " </service>\n" +
2355  "\n" +
2356  "</definitions>\n" +
2357  "\n";
2358
2359  public void testSoap12Test() throws Exception JavaDoc {
2360    parseString(soap12Test, "soap12-test.wsdl");
2361  }
2362
2363  private static final String JavaDoc soap12AddTest =
2364  "<?xml version='1.0'?>\n" +
2365  "\n" +
2366  "<definitions name='SOAP-12-TestDefinitions'\n" +
2367  " targetNamespace='http://whitemesa.net/wsdl/soap12-test'\n" +
2368  " xmlns='http://schemas.xmlsoap.org/wsdl/'\n" +
2369  " xmlns:soap12='http://schemas.xmlsoap.org/wsdl/soap12/'\n" +
2370  " xmlns:xsd='http://www.w3.org/2001/XMLSchema'\n" +
2371  " xmlns:enc='http://www.w3.org/2003/05/soap-encoding'\n" +
2372  " xmlns:tns='http://whitemesa.net/wsdl/soap12-test'\n" +
2373  " xmlns:types='http://example.org/ts-tests/xsd'\n" +
2374  " xmlns:test='http://example.org/ts-tests'\n" +
2375  " xmlns:iop='http://soapinterop.org/'\n" +
2376  " xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'>\n" +
2377  " <types>\n" +
2378  "\n" +
2379  " <schema xmlns='http://www.w3.org/2001/XMLSchema' targetNamespace='http://example.org/ts-tests/xsd'>\n" +
2380  "\n" +
2381  " <complexType name='SOAPStruct'>\n" +
2382  " <all>\n" +
2383  " <element name='varString' type='xsd:string'/>\n" +
2384  " <element name='varInt' type='xsd:int'/>\n" +
2385  " <element name='varFloat' type='xsd:float'/>\n" +
2386  " </all>\n" +
2387  " </complexType>\n" +
2388  "\n" +
2389  " </schema>\n" +
2390  "\n" +
2391  " <schema xmlns='http://www.w3.org/2001/XMLSchema' targetNamespace='http://example.org/ts-tests/xsd'>\n" +
2392  "\n" +
2393  " <!-- added to support test xmlp-10 -->\n" +
2394  " <complexType name='SOAPStructInputs'>\n" +
2395  " <sequence>\n" +
2396  " <element name='input1' type='anyType' />\n" +
2397  " <element name='input2' type='anyType' />\n" +
2398  " <element name='input3' type='anyType' />\n" +
2399  " <element name='input4' type='anyType' />\n" +
2400  " </sequence>\n" +
2401  " </complexType>\n" +
2402  " <complexType name='SOAPStructTypes'>\n" +
2403  " <sequence>\n" +
2404  " <element name='type1' type='QName' />\n" +
2405  " <element name='type2' type='QName' />\n" +
2406  " <element name='type3' type='QName' />\n" +
2407  " <element name='type4' type='QName' />\n" +
2408  " </sequence>\n" +
2409  " </complexType>\n" +
2410  "\n" +
2411  " </schema>\n" +
2412  "\n" +
2413  " <schema xmlns='http://www.w3.org/2001/XMLSchema' elementFormDefault='qualified' targetNamespace='http://soapinterop.org/'>\n" +
2414  "\n" +
2415  " <!-- xmlp-2 getTime -->\n" +
2416  " <element name='time' type='time'/>\n" +
2417  "\n" +
2418  " <!-- xmlp-7 echoSenderFault -->\n" +
2419  " <element name='echoSenderFault' />\n" +
2420  "\n" +
2421  " <!-- xmlp-8 echoReceiverFault -->\n" +
2422  " <element name='echoReceiverFault' />\n" +
2423  "\n" +
2424  " <!-- xmlp-13 thru 19 echoString doc/lit operation -->\n" +
2425  " <element name='echoString'>\n" +
2426  " <complexType>\n" +
2427  " <sequence>\n" +
2428  " <element minOccurs='0' maxOccurs='1' name='inputString' type='string' />\n" +
2429  " </sequence>\n" +
2430  " </complexType>\n" +
2431  " </element>\n" +
2432  " <element name='echoStringResponse'>\n" +
2433  " <complexType>\n" +
2434  " <sequence>\n" +
2435  " <element minOccurs='0' maxOccurs='1' name='return' type='string' />\n" +
2436  " </sequence>\n" +
2437  " </complexType>\n" +
2438  " </element>\n" +
2439  "\n" +
2440  " </schema>\n" +
2441  "\n" +
2442  " </types>\n" +
2443  "\n" +
2444  " <!-- xmlp-5, xmlp-6 echoVoid rpc operation -->\n" +
2445  " <message name='echoVoidRequest' />\n" +
2446  " <message name='echoVoidResponse' />\n" +
2447  "\n" +
2448  " <!-- xmlp-4 echoSimpleTypesAsStruct rpc operation -->\n" +
2449  " <message name='echoSimpleTypesAsStructRequest'>\n" +
2450  " <part name='inputString' type='xsd:string'/>\n" +
2451  " <part name='inputInteger' type='xsd:int'/>\n" +
2452  " <part name='inputFloat' type='xsd:float'/>\n" +
2453  " </message>\n" +
2454  " <message name='echoSimpleTypesAsStructResponse'>\n" +
2455  " <part name='return' type='types:SOAPStruct'/>\n" +
2456  " </message>\n" +
2457  "\n" +
2458  " <!-- xmlp-1, xmlp-9 echoString rpc operation -->\n" +
2459  " <message name='echoStringRequest'>\n" +
2460  " <part name='inputString' type='xsd:string'/>\n" +
2461  " </message>\n" +
2462  " <message name='echoStringResponse'>\n" +
2463  " <part name='return' type='xsd:string'/>\n" +
2464  " </message>\n" +
2465  "\n" +
2466  " <!-- xmlp-10 echoSimpleTypesAsStructOfSchemaTypesRequest rpc operation -->\n" +
2467  " <message name='echoSimpleTypesAsStructOfSchemaTypesRequest'>\n" +
2468  " <part name='input1' type='xsd:anyType'/>\n" +
2469  " <part name='input2' type='xsd:anyType'/>\n" +
2470  " <part name='input3' type='xsd:anyType'/>\n" +
2471  " <part name='input4' type='xsd:anyType'/>\n" +
2472  " </message>\n" +
2473  " <message name='echoSimpleTypesAsStructOfSchemaTypesResponse'>\n" +
2474  " <part name='return' type='types:SOAPStructTypes'/>\n" +
2475  " </message>\n" +
2476  "\n" +
2477  " <!-- xmlp-11 echoInteger rpc operation -->\n" +
2478  " <message name='echoIntegerRequest'>\n" +
2479  " <part name='inputInteger' type='xsd:int'/>\n" +
2480  " </message>\n" +
2481  " <message name='echoIntegerResponse'>\n" +
2482  " <part name='return' type='xsd:int'/>\n" +
2483  " </message>\n" +
2484  "\n" +
2485  " <!-- xmlp-3 getTime rpc operation -->\n" +
2486  " <message name='getTimeRpcResponse'>\n" +
2487  " <part name='return' type='xsd:time'/>\n" +
2488  " </message>\n" +
2489  "\n" +
2490  " <!-- xmlp-2 getTime doc/lit operation -->\n" +
2491  " <message name='getTimeDocResponse'>\n" +
2492  " <part name='time' element='iop:time'/>\n" +
2493  " </message>\n" +
2494  "\n" +
2495  " <!-- xmlp-13 thru 19 echoString doc/lit operation -->\n" +
2496  " <message name='echoStringDocRequest'>\n" +
2497  " <part name='inElement' element='iop:echoString' />\n" +
2498  " </message>\n" +
2499  " <message name='echoStringDocResponse'>\n" +
2500  " <part name='outElement' element='iop:echoStringResponse' />\n" +
2501  " </message>\n" +
2502  "\n" +
2503  " <!-- xmlp-7 echoSenderFault operation -->\n" +
2504  " <message name='echoSenderFaultRequest'>\n" +
2505  " <part name='inElement' element='iop:echoSenderFault' />\n" +
2506  " </message>\n" +
2507  " <message name='echoSenderFaultResponse' />\n" +
2508  "\n" +
2509  " <!-- xmlp-8 echoReceiverFault operation -->\n" +
2510  " <message name='echoReceiverFaultRequest'>\n" +
2511  " <part name='inElement' element='iop:echoReceiverFault' />\n" +
2512  " </message>\n" +
2513  " <message name='echoReceiverFaultResponse' />\n" +
2514  "\n" +
2515  " <portType name='Soap12AddTestPortTypeDoc'>\n" +
2516  " <!-- xmlp-2 getTime operation -->\n" +
2517  " <operation name='getTime'>\n" +
2518  " <output message='tns:getTimeDocResponse' />\n" +
2519  " </operation>\n" +
2520  " <!-- xmlp-13 thru xmlp-19 echoString doc/literal operation -->\n" +
2521  " <operation name='echoString'>\n" +
2522  " <input message='tns:echoStringDocRequest' />\n" +
2523  " <output message='tns:echoStringDocResponse' />\n" +
2524  " </operation>\n" +
2525  " <!-- xmlp-7 echoSenderFault doc/literal operation -->\n" +
2526  " <operation name='echoSenderFault'>\n" +
2527  " <input message='tns:echoSenderFaultRequest' />\n" +
2528  " <output message='tns:echoSenderFaultResponse' />\n" +
2529  " </operation>\n" +
2530  " <!-- xmlp-8 echoReceiverFault doc/literal operation -->\n" +
2531  " <operation name='echoReceiverFault'>\n" +
2532  " <input message='tns:echoReceiverFaultRequest' />\n" +
2533  " <output message='tns:echoReceiverFaultResponse' />\n" +
2534  " </operation>\n" +
2535  " </portType>\n" +
2536  "\n" +
2537  " <portType name='Soap12AddTestPortTypeRpc'>\n" +
2538  "\n" +
2539  " <!-- xmlp-5, xmlp-6 echoVoid rpc operation -->\n" +
2540  " <operation name='echoVoid'>\n" +
2541  " <input message='tns:echoVoidRequest' name='echoVoid'/>\n" +
2542  " <output message='tns:echoVoidResponse' name='echoVoidResponse'/>\n" +
2543  " </operation>\n" +
2544  "\n" +
2545  "\n" +
2546  " <!-- xmlp-4 echoSimpleTypesAsStruct rpc operation -->\n" +
2547  " <operation name='echoSimpleTypesAsStruct' parameterOrder='inputString inputInteger inputFloat'>\n" +
2548  " <input message='tns:echoSimpleTypesAsStructRequest'/>\n" +
2549  " <output message='tns:echoSimpleTypesAsStructResponse'/>\n" +
2550  " </operation>\n" +
2551  "\n" +
2552  "\n" +
2553  " <!-- xmlp-1, xmlp-9 echoString rpc operation -->\n" +
2554  " <operation name='echoString' parameterOrder='inputString'>\n" +
2555  " <input message='tns:echoStringRequest' name='echoString'/>\n" +
2556  " <output message='tns:echoStringResponse' name='echoStringResponse'/>\n" +
2557  " </operation>\n" +
2558  "\n" +
2559  " <!-- xmlp-10 echoSimpleTypesAsStructOfSchemaTypes rpc operation -->\n" +
2560  " <operation name='echoSimpleTypesAsStructOfSchemaTypes' parameterOrder='input1 input2 input3 input4'>\n" +
2561  " <input message='tns:echoSimpleTypesAsStructOfSchemaTypesRequest'/>\n" +
2562  " <output message='tns:echoSimpleTypesAsStructOfSchemaTypesResponse'/>\n" +
2563  " </operation>\n" +
2564  "\n" +
2565  " <!-- xmlp-11 echoInteger rpc operation -->\n" +
2566  " <operation name='echoInteger' parameterOrder='inputInteger'>\n" +
2567  " <input message='tns:echoIntegerRequest' name='echoInteger'/>\n" +
2568  " <output message='tns:echoIntegerResponse' name='echoIntegerResponse'/>\n" +
2569  " </operation>\n" +
2570  "\n" +
2571  " <!-- xmlp-3 getTime rpc operation -->\n" +
2572  " <operation name='getTime'>\n" +
2573  " <output message='tns:getTimeRpcResponse' name='getTimeRpcResponse'/>\n" +
2574  " </operation>\n" +
2575  "\n" +
2576  " </portType>\n" +
2577  "\n" +
2578  " <binding name='Soap12AddTestDocBinding' type='tns:Soap12AddTestPortTypeDoc'>\n" +
2579  " <soap12:binding style='document' transport='http://schemas.xmlsoap.org/soap/http' />\n" +
2580  " <operation name='getTime'>\n" +
2581  " <soap12:operation style='document' />\n" +
2582  " <output>\n" +
2583  " <soap12:body use='literal' />\n" +
2584  " </output>\n" +
2585  " </operation>\n" +
2586  " <operation name='echoString'>\n" +
2587  " <soap12:operation style='document' />\n" +
2588  " <input>\n" +
2589  " <soap12:body use='literal' />\n" +
2590  " </input>\n" +
2591  " <output>\n" +
2592  " <soap12:body use='literal' />\n" +
2593  " </output>\n" +
2594  " </operation>\n" +
2595  " <operation name='echoSenderFault'>\n" +
2596  " <soap12:operation style='document' />\n" +
2597  " <input>\n" +
2598  " <soap12:body use='literal' />\n" +
2599  " </input>\n" +
2600  " <output>\n" +
2601  " <soap12:body use='literal' />\n" +
2602  " </output>\n" +
2603  " </operation>\n" +
2604  " <operation name='echoReceiverFault'>\n" +
2605  " <soap12:operation style='document' />\n" +
2606  " <input>\n" +
2607  " <soap12:body use='literal' />\n" +
2608  " </input>\n" +
2609  " <output>\n" +
2610  " <soap12:body use='literal' />\n" +
2611  " </output>\n" +
2612  " </operation>\n" +
2613  " </binding>\n" +
2614  "\n" +
2615  " <binding name='Soap12AddTestRpcBinding' type='tns:Soap12AddTestPortTypeRpc'>\n" +
2616  " <soap12:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http'/>\n" +
2617  "\n" +
2618  " <!-- xmlp-5, xmlp-6 echoVoid rpc operation -->\n" +
2619  " <operation name='echoVoid'>\n" +
2620  " <soap12:operation/>\n" +
2621  " <input>\n" +
2622  " <soap12:body use='encoded' namespace='http://soapinterop.org/' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2623  " </input>\n" +
2624  " <output>\n" +
2625  " <soap12:body use='encoded' namespace='http://soapinterop.org/' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2626  " </output>\n" +
2627  " </operation>\n" +
2628  "\n" +
2629  " <!-- xmlp-4 echoSimpleTypesAsStruct rpc operation -->\n" +
2630  " <operation name='echoSimpleTypesAsStruct'>\n" +
2631  " <soap12:operation/>\n" +
2632  " <input>\n" +
2633  " <soap12:body use='encoded' namespace='http://soapinterop.org/' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2634  " </input>\n" +
2635  " <output>\n" +
2636  " <soap12:body use='encoded' namespace='http://soapinterop.org/' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2637  " </output>\n" +
2638  " </operation>\n" +
2639  "\n" +
2640  " <!-- xmlp-3 getTime rpc operation -->\n" +
2641  " <operation name='getTime'>\n" +
2642  " <soap12:operation/>\n" +
2643  " <output>\n" +
2644  " <soap12:body use='encoded' namespace='http://soapinterop.org/' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2645  " </output>\n" +
2646  " </operation>\n" +
2647  "\n" +
2648  " <!-- xmlp-1, xmlp-9 echoString rpc operation -->\n" +
2649  " <operation name='echoString'>\n" +
2650  " <soap12:operation/>\n" +
2651  " <input>\n" +
2652  " <soap12:body use='encoded' namespace='http://soapinterop.org/' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2653  " </input>\n" +
2654  " <output>\n" +
2655  " <soap12:body use='encoded' namespace='http://soapinterop.org/' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2656  " </output>\n" +
2657  " </operation>\n" +
2658  "\n" +
2659  " <!-- xmlp-10 echoSimpleTypesAsStructOfSchemaTypes rpc operation -->\n" +
2660  " <operation name='echoSimpleTypesAsStructOfSchemaTypes'>\n" +
2661  " <soap12:operation/>\n" +
2662  " <input>\n" +
2663  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2664  " </input>\n" +
2665  " <output>\n" +
2666  " <soap12:body use='encoded' namespace='http://example.org/ts-tests' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2667  " </output>\n" +
2668  " </operation>\n" +
2669  "\n" +
2670  " <!-- xmlp-11 echoInteger rpc operation -->\n" +
2671  " <operation name='echoInteger'>\n" +
2672  " <soap12:operation/>\n" +
2673  " <input>\n" +
2674  " <soap12:body use='encoded' namespace='http://soapinterop.org/' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2675  " </input>\n" +
2676  " <output>\n" +
2677  " <soap12:body use='encoded' namespace='http://soapinterop.org/' encodingStyle='http://www.w3.org/2003/05/soap-encoding'/>\n" +
2678  " </output>\n" +
2679  " </operation>\n" +
2680  "\n" +
2681  " </binding>\n" +
2682  "\n" +
2683  "\n" +
2684  " <service name='WhiteMesaSoap12AddTestSvc'>\n" +
2685  "\n" +
2686  " <port name='Soap12AddTestDocPort' binding='tns:Soap12AddTestDocBinding'>\n" +
2687  " <soap12:address location='http://www.whitemesa.net/soap12/add-test-doc'/>\n" +
2688  " </port>\n" +
2689  " <port name='Soap12AddTestDocIntermediaryPort' binding='tns:Soap12AddTestDocBinding'>\n" +
2690  " <soap12:address location='http://www.whitemesa.net/soap12/add-test-doc-int'/>\n" +
2691  " </port>\n" +
2692  " <port name='Soap12AddTestDocUpperPort' binding='tns:Soap12AddTestDocBinding'>\n" +
2693  " <soap12:address location='http://www.whitemesa.net/soap12/add-test-doc-int-uc'/>\n" +
2694  " </port>\n" +
2695  " <port name='Soap12AddTestRpcPort' binding='tns:Soap12AddTestRpcBinding'>\n" +
2696  " <soap12:address location='http://www.whitemesa.net/soap12/add-test-rpc'/>\n" +
2697  " </port>\n" +
2698  "\n" +
2699  " </service>\n" +
2700  "\n" +
2701  "</definitions>\n" +
2702  "\n";
2703
2704  public void testSoap12AddTest() throws Exception JavaDoc {
2705    parseString(soap12AddTest, "soap12-add-test.wsdl");
2706  }
2707
2708  private static final String JavaDoc round4XSD =
2709  "<?xml version='1.0' encoding='utf-8'?>\n" +
2710  "<definitions xmlns:s1='http://soapinterop.org/xsd' xmlns:http='http://schemas.xmlsoap.org/wsdl/http/' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:s='http://www.w3.org/2001/XMLSchema' xmlns:s0='http://soapinterop.org/' xmlns:s3='http://soapinterop.org/echoheader/' xmlns:s2='http://soapinterop.org' xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:tm='http://microsoft.com/wsdl/mime/textMatching/' xmlns:mime='http://schemas.xmlsoap.org/wsdl/mime/' targetNamespace='http://soapinterop.org/' xmlns='http://schemas.xmlsoap.org/wsdl/'>\n" +
2711  " <types>\n" +
2712  " <s:schema elementFormDefault='qualified' targetNamespace='http://soapinterop.org/'>\n" +
2713  " <s:import namespace='http://soapinterop.org/xsd' />\n" +
2714  " <s:import namespace='http://soapinterop.org/echoheader/' />\n" +
2715  " <s:element name='echoVoid'>\n" +
2716  " <s:complexType />\n" +
2717  " </s:element>\n" +
2718  " <s:element name='echoVoidResponse'>\n" +
2719  " <s:complexType />\n" +
2720  " </s:element>\n" +
2721  " <s:element name='echoInteger'>\n" +
2722  " <s:complexType>\n" +
2723  " <s:sequence>\n" +
2724  " <s:element minOccurs='1' maxOccurs='1' name='inputInteger' type='s:int' />\n" +
2725  " </s:sequence>\n" +
2726  " </s:complexType>\n" +
2727  " </s:element>\n" +
2728  " <s:element name='echoIntegerResponse'>\n" +
2729  " <s:complexType>\n" +
2730  " <s:sequence>\n" +
2731  " <s:element minOccurs='1' maxOccurs='1' name='return' type='s:int' />\n" +
2732  " </s:sequence>\n" +
2733  " </s:complexType>\n" +
2734  " </s:element>\n" +
2735  " <s:element name='echoFloat'>\n" +
2736  " <s:complexType>\n" +
2737  " <s:sequence>\n" +
2738  " <s:element minOccurs='1' maxOccurs='1' name='inputFloat' type='s:float' />\n" +
2739  " </s:sequence>\n" +
2740  " </s:complexType>\n" +
2741  " </s:element>\n" +
2742  " <s:element name='echoFloatResponse'>\n" +
2743  " <s:complexType>\n" +
2744  " <s:sequence>\n" +
2745  " <s:element minOccurs='1' maxOccurs='1' name='return' type='s:float' />\n" +
2746  " </s:sequence>\n" +
2747  " </s:complexType>\n" +
2748  " </s:element>\n" +
2749  " <s:element name='echoString'>\n" +
2750  " <s:complexType>\n" +
2751  " <s:sequence>\n" +
2752  " <s:element minOccurs='0' maxOccurs='1' name='inputString' type='s:string' />\n" +
2753  " </s:sequence>\n" +
2754  " </s:complexType>\n" +
2755  " </s:element>\n" +
2756  " <s:element name='echoStringResponse'>\n" +
2757  " <s:complexType>\n" +
2758  " <s:sequence>\n" +
2759  " <s:element minOccurs='0' maxOccurs='1' name='return' type='s:string' />\n" +
2760  " </s:sequence>\n" +
2761  " </s:complexType>\n" +
2762  " </s:element>\n" +
2763  " <s:element name='echoBase64'>\n" +
2764  " <s:complexType>\n" +
2765  " <s:sequence>\n" +
2766  " <s:element minOccurs='0' maxOccurs='1' name='inputBase64' type='s:base64Binary' />\n" +
2767  " </s:sequence>\n" +
2768  " </s:complexType>\n" +
2769  " </s:element>\n" +
2770  " <s:element name='echoBase64Response'>\n" +
2771  " <s:complexType>\n" +
2772  " <s:sequence>\n" +
2773  " <s:element minOccurs='0' maxOccurs='1' name='return' type='s:base64Binary' />\n" +
2774  " </s:sequence>\n" +
2775  " </s:complexType>\n" +
2776  " </s:element>\n" +
2777  " <s:element name='echoDate'>\n" +
2778  " <s:complexType>\n" +
2779  " <s:sequence>\n" +
2780  " <s:element minOccurs='1' maxOccurs='1' name='inputDate' type='s:dateTime' />\n" +
2781  " </s:sequence>\n" +
2782  " </s:complexType>\n" +
2783  " </s:element>\n" +
2784  " <s:element name='echoDateResponse'>\n" +
2785  " <s:complexType>\n" +
2786  " <s:sequence>\n" +
2787  " <s:element minOccurs='1' maxOccurs='1' name='return' type='s:dateTime' />\n" +
2788  " </s:sequence>\n" +
2789  " </s:complexType>\n" +
2790  " </s:element>\n" +
2791  " <s:element name='echoComplexType'>\n" +
2792  " <s:complexType>\n" +
2793  " <s:sequence>\n" +
2794  " <s:element minOccurs='0' maxOccurs='1' name='inputComplexType' type='s1:SOAPComplexType' />\n" +
2795  " </s:sequence>\n" +
2796  " </s:complexType>\n" +
2797  " </s:element>\n" +
2798  " <s:element name='echoComplexTypeResponse'>\n" +
2799  " <s:complexType>\n" +
2800  " <s:sequence>\n" +
2801  " <s:element minOccurs='0' maxOccurs='1' name='return' type='s1:SOAPComplexType' />\n" +
2802  " </s:sequence>\n" +
2803  " </s:complexType>\n" +
2804  " </s:element>\n" +
2805  " <s:element name='echoIntegerMultiOccurs'>\n" +
2806  " <s:complexType>\n" +
2807  " <s:sequence>\n" +
2808  " <s:element minOccurs='0' maxOccurs='1' name='inputIntegerMultiOccurs' type='s0:ArrayOfInt' />\n" +
2809  " </s:sequence>\n" +
2810  " </s:complexType>\n" +
2811  " </s:element>\n" +
2812  " <s:complexType name='ArrayOfInt'>\n" +
2813  " <s:sequence>\n" +
2814  " <s:element minOccurs='0' maxOccurs='unbounded' name='int' type='s:int' />\n" +
2815  " </s:sequence>\n" +
2816  " </s:complexType>\n" +
2817  " <s:element name='echoIntegerMultiOccursResponse'>\n" +
2818  " <s:complexType>\n" +
2819  " <s:sequence>\n" +
2820  " <s:element minOccurs='0' maxOccurs='unbounded' name='return' type='s:int' />\n" +
2821  " </s:sequence>\n" +
2822  " </s:complexType>\n" +
2823  " </s:element>\n" +
2824  " <s:element name='echoFloatMultiOccurs'>\n" +
2825  " <s:complexType>\n" +
2826  " <s:sequence>\n" +
2827  " <s:element minOccurs='0' maxOccurs='1' name='inputFloatMultiOccurs' type='s0:ArrayOfFloat' />\n" +
2828  " </s:sequence>\n" +
2829  " </s:complexType>\n" +
2830  " </s:element>\n" +
2831  " <s:complexType name='ArrayOfFloat'>\n" +
2832  " <s:sequence>\n" +
2833  " <s:element minOccurs='0' maxOccurs='unbounded' name='float' type='s:float' />\n" +
2834  " </s:sequence>\n" +
2835  " </s:complexType>\n" +
2836  " <s:element name='echoFloatMultiOccursResponse'>\n" +
2837  " <s:complexType>\n" +
2838  " <s:sequence>\n" +
2839  " <s:element minOccurs='0' maxOccurs='unbounded' name='return' type='s:float' />\n" +
2840  " </s:sequence>\n" +
2841  " </s:complexType>\n" +
2842  " </s:element>\n" +
2843  " <s:element name='echoStringMultiOccurs'>\n" +
2844  " <s:complexType>\n" +
2845  " <s:sequence>\n" +
2846  " <s:element minOccurs='0' maxOccurs='1' name='inputStringMultiOccurs' type='s0:ArrayOfString' />\n" +
2847  " </s:sequence>\n" +
2848  " </s:complexType>\n" +
2849  " </s:element>\n" +
2850  " <s:complexType name='ArrayOfString'>\n" +
2851  " <s:sequence>\n" +
2852  " <s:element minOccurs='0' maxOccurs='unbounded' name='string' nillable='true' type='s:string' />\n" +
2853  " </s:sequence>\n" +
2854  " </s:complexType>\n" +
2855  " <s:element name='echoStringMultiOccursResponse'>\n" +
2856  " <s:complexType>\n" +
2857  " <s:sequence>\n" +
2858  " <s:element minOccurs='0' maxOccurs='unbounded' name='return' type='s:string' />\n" +
2859  " </s:sequence>\n" +
2860  " </s:complexType>\n" +
2861  " </s:element>\n" +
2862  " <s:element name='echoComplexTypeMultiOccurs'>\n" +
2863  " <s:complexType>\n" +
2864  " <s:sequence>\n" +
2865  " <s:element minOccurs='0' maxOccurs='1' name='inputComplexTypeMultiOccurs' type='s1:ArrayOfSOAPComplexType' />\n" +
2866  " </s:sequence>\n" +
2867  " </s:complexType>\n" +
2868  " </s:element>\n" +
2869  " <s:element name='SOAPComplexType' nillable='true' type='s1:SOAPComplexType' />\n" +
2870  " <s:element name='echoComplexTypeMultiOccursResponse'>\n" +
2871  " <s:complexType>\n" +
2872  " <s:sequence>\n" +
2873  " <s:element minOccurs='0' maxOccurs='unbounded' name='return' type='s1:SOAPComplexType' />\n" +
2874  " </s:sequence>\n" +
2875  " </s:complexType>\n" +
2876  " </s:element>\n" +
2877  " <s:element name='echoDecimal'>\n" +
2878  " <s:complexType>\n" +
2879  " <s:sequence>\n" +
2880  " <s:element minOccurs='1' maxOccurs='1' name='inputDecimal' type='s:decimal' />\n" +
2881  " </s:sequence>\n" +
2882  " </s:complexType>\n" +
2883  " </s:element>\n" +
2884  " <s:element name='echoDecimalResponse'>\n" +
2885  " <s:complexType>\n" +
2886  " <s:sequence>\n" +
2887  " <s:element minOccurs='1' maxOccurs='1' name='return' type='s:decimal' />\n" +
2888  " </s:sequence>\n" +
2889  " </s:complexType>\n" +
2890  " </s:element>\n" +
2891  " <s:element name='echoBoolean'>\n" +
2892  " <s:complexType>\n" +
2893  " <s:sequence>\n" +
2894  " <s:element minOccurs='1' maxOccurs='1' name='inputBoolean' type='s:boolean' />\n" +
2895  " </s:sequence>\n" +
2896  " </s:complexType>\n" +
2897  " </s:element>\n" +
2898  " <s:element name='echoBooleanResponse'>\n" +
2899  " <s:complexType>\n" +
2900  " <s:sequence>\n" +
2901  " <s:element minOccurs='1' maxOccurs='1' name='return' type='s:boolean' />\n" +
2902  " </s:sequence>\n" +
2903  " </s:complexType>\n" +
2904  " </s:element>\n" +
2905  " <s:element name='echoHexBinary'>\n" +
2906  " <s:complexType>\n" +
2907  " <s:sequence>\n" +
2908  " <s:element minOccurs='0' maxOccurs='1' name='inputHexBinary' type='s:hexBinary' />\n" +
2909  " </s:sequence>\n" +
2910  " </s:complexType>\n" +
2911  " </s:element>\n" +
2912  " <s:element name='echoHexBinaryResponse'>\n" +
2913  " <s:complexType>\n" +
2914  " <s:sequence>\n" +
2915  " <s:element minOccurs='0' maxOccurs='1' name='return' type='s:hexBinary' />\n" +
2916  " </s:sequence>\n" +
2917  " </s:complexType>\n" +
2918  " </s:element>\n" +
2919  " <s:element name='echoComplexTypeAsSimpleTypes'>\n" +
2920  " <s:complexType>\n" +
2921  " <s:sequence>\n" +
2922  " <s:element minOccurs='0' maxOccurs='1' name='inputComplexType' type='s1:SOAPComplexType' />\n" +
2923  " </s:sequence>\n" +
2924  " </s:complexType>\n" +
2925  " </s:element>\n" +
2926  " <s:element name='echoComplexTypeAsSimpleTypesResponse'>\n" +
2927  " <s:complexType>\n" +
2928  " <s:sequence>\n" +
2929  " <s:element minOccurs='0' maxOccurs='1' name='outputString' type='s:string' />\n" +
2930  " <s:element minOccurs='1' maxOccurs='1' name='outputInteger' type='s:int' />\n" +
2931  " <s:element minOccurs='1' maxOccurs='1' name='outputFloat' type='s:float' />\n" +
2932  " </s:sequence>\n" +
2933  " </s:complexType>\n" +
2934  " </s:element>\n" +
2935  " <s:element name='echoSimpleTypesAsComplexType'>\n" +
2936  " <s:complexType>\n" +
2937  " <s:sequence>\n" +
2938  " <s:element minOccurs='0' maxOccurs='1' name='inputString' type='s:string' />\n" +
2939  " <s:element minOccurs='1' maxOccurs='1' name='inputInteger' type='s:int' />\n" +
2940  " <s:element minOccurs='1' maxOccurs='1' name='inputFloat' type='s:float' />\n" +
2941  " </s:sequence>\n" +
2942  " </s:complexType>\n" +
2943  " </s:element>\n" +
2944  " <s:element name='echoSimpleTypesAsComplexTypeResponse'>\n" +
2945  " <s:complexType>\n" +
2946  " <s:sequence>\n" +
2947  " <s:element minOccurs='0' maxOccurs='1' name='return' type='s1:SOAPComplexType' />\n" +
2948  " </s:sequence>\n" +
2949  " </s:complexType>\n" +
2950  " </s:element>\n" +
2951  " <s:element name='echoNestedComplexType'>\n" +
2952  " <s:complexType>\n" +
2953  " <s:sequence>\n" +
2954  " <s:element minOccurs='0' maxOccurs='1' name='inputComplexType' type='s1:SOAPComplexTypeComplexType' />\n" +
2955  " </s:sequence>\n" +
2956  " </s:complexType>\n" +
2957  " </s:element>\n" +
2958  " <s:element name='echoNestedComplexTypeResponse'>\n" +
2959  " <s:complexType>\n" +
2960  " <s:sequence>\n" +
2961  " <s:element minOccurs='0' maxOccurs='1' name='return' type='s1:SOAPComplexTypeComplexType' />\n" +
2962  " </s:sequence>\n" +
2963  " </s:complexType>\n" +
2964  " </s:element>\n" +
2965  " <s:element name='echoNestedMultiOccurs'>\n" +
2966  " <s:complexType>\n" +
2967  " <s:sequence>\n" +
2968  " <s:element minOccurs='0' maxOccurs='1' name='inputComplexType' type='s1:SOAPMultiOccursComplexType' />\n" +
2969  " </s:sequence>\n" +
2970  " </s:complexType>\n" +
2971  " </s:element>\n" +
2972  " <s:element name='echoNestedMultiOccursResponse'>\n" +
2973  " <s:complexType>\n" +
2974  " <s:sequence>\n" +
2975  " <s:element minOccurs='0' maxOccurs='1' name='return' type='s1:SOAPMultiOccursComplexType' />\n" +
2976  " </s:sequence>\n" +
2977  " </s:complexType>\n" +
2978  " </s:element>\n" +
2979  " <s:element name='echoChoice'>\n" +
2980  " <s:complexType>\n" +
2981  " <s:sequence>\n" +
2982  " <s:element minOccurs='0' maxOccurs='1' name='inputChoice' type='s1:ChoiceComplexType' />\n" +
2983  " </s:sequence>\n" +
2984  " </s:complexType>\n" +
2985  " </s:element>\n" +
2986  " <s:element name='echoChoiceResponse'>\n" +
2987  " <s:complexType>\n" +
2988  " <s:sequence>\n" +
2989  " <s:element minOccurs='0' maxOccurs='1' name='return' type='s1:ChoiceComplexType' />\n" +
2990  " </s:sequence>\n" +
2991  " </s:complexType>\n" +
2992  " </s:element>\n" +
2993  " <s:element name='echoEnum'>\n" +
2994  " <s:complexType>\n" +
2995  " <s:sequence>\n" +
2996  " <s:element minOccurs='1' maxOccurs='1' name='inputEnum' type='s1:Enum' />\n" +
2997  " </s:sequence>\n" +
2998  " </s:complexType>\n" +
2999  " </s:element>\n" +
3000  " <s:element name='echoEnumResponse'>\n" +
3001  " <s:complexType>\n" +
3002  " <s:sequence>\n" +
3003  " <s:element minOccurs='1' maxOccurs='1' name='return' type='s1:Enum' />\n" +
3004  " </s:sequence>\n" +
3005  " </s:complexType>\n" +
3006  " </s:element>\n" +
3007  " <s:element name='echoAnyType'>\n" +
3008  " <s:complexType>\n" +
3009  " <s:sequence>\n" +
3010  " <s:element minOccurs='0' maxOccurs='1' name='inputAnyType' />\n" +
3011  " </s:sequence>\n" +
3012  " </s:complexType>\n" +
3013  " </s:element>\n" +
3014  " <s:element name='echoAnyTypeResponse'>\n" +
3015  " <s:complexType>\n" +
3016  " <s:sequence>\n" +
3017  " <s:element minOccurs='0' maxOccurs='1' name='return' />\n" +
3018  " </s:sequence>\n" +
3019  " </s:complexType>\n" +
3020  " </s:element>\n" +
3021  " <s:element name='echoAnyElement'>\n" +
3022  " <s:complexType>\n" +
3023  " <s:sequence>\n" +
3024  " <s:element minOccurs='0' maxOccurs='1' name='inputAny'>\n" +
3025  " <s:complexType>\n" +
3026  " <s:sequence>\n" +
3027  " <s:any />\n" +
3028  " </s:sequence>\n" +
3029  " </s:complexType>\n" +
3030  " </s:element>\n" +
3031  " </s:sequence>\n" +
3032  " </s:complexType>\n" +
3033  " </s:element>\n" +
3034  " <s:element name='echoAnyElementResponse'>\n" +
3035  " <s:complexType>\n" +
3036  " <s:sequence>\n" +
3037  " <s:element minOccurs='0' maxOccurs='1' name='return'>\n" +
3038  " <s:complexType>\n" +
3039  " <s:sequence>\n" +
3040  " <s:any />\n" +
3041  " </s:sequence>\n" +
3042  " </s:complexType>\n" +
3043  " </s:element>\n" +
3044  " </s:sequence>\n" +
3045  " </s:complexType>\n" +
3046  " </s:element>\n" +
3047  " <s:element name='echoVoidSoapHeaderResponse'>\n" +
3048  " <s:complexType />\n" +
3049  " </s:element>\n" +
3050  " <s:element name='echoMeComplexTypeRequest' type='s3:echoMeComplexTypeRequest' />\n" +
3051  " <s:element name='echoMeStringRequest' type='s3:echoMeStringRequest' />\n" +
3052  " <s:element name='echoMeComplexTypeResponse' type='s3:echoMeComplexTypeResponse' />\n" +
3053  " <s:element name='echoMeStringResponse' type='s3:echoMeStringResponse' />\n" +
3054  " </s:schema>\n" +
3055  " <s:schema elementFormDefault='qualified' targetNamespace='http://soapinterop.org/xsd'>\n" +
3056  " <s:import namespace='http://soapinterop.org/' />\n" +
3057  " <s:complexType name='SOAPComplexType'>\n" +
3058  " <s:sequence>\n" +
3059  " <s:element minOccurs='1' maxOccurs='1' name='varInt' type='s:int' />\n" +
3060  " <s:element minOccurs='0' maxOccurs='1' name='varString' type='s:string' />\n" +
3061  " <s:element minOccurs='1' maxOccurs='1' name='varFloat' type='s:float' />\n" +
3062  " </s:sequence>\n" +
3063  " </s:complexType>\n" +
3064  " <s:complexType name='ArrayOfSOAPComplexType'>\n" +
3065  " <s:sequence>\n" +
3066  " <s:element minOccurs='0' maxOccurs='unbounded' ref='s0:SOAPComplexType' />\n" +
3067  " </s:sequence>\n" +
3068  " </s:complexType>\n" +
3069  " <s:complexType name='SOAPComplexTypeComplexType'>\n" +
3070  " <s:sequence>\n" +
3071  " <s:element minOccurs='0' maxOccurs='1' name='varString' type='s:string' />\n" +
3072  " <s:element minOccurs='1' maxOccurs='1' name='varInt' type='s:int' />\n" +
3073  " <s:element minOccurs='1' maxOccurs='1' name='varFloat' type='s:float' />\n" +
3074  " <s:element minOccurs='0' maxOccurs='1' name='varComplexType' type='s1:SOAPComplexType' />\n" +
3075  " </s:sequence>\n" +
3076  " </s:complexType>\n" +
3077  " <s:complexType name='SOAPMultiOccursComplexType'>\n" +
3078  " <s:sequence>\n" +
3079  " <s:element minOccurs='0' maxOccurs='1' name='varString' type='s:string' />\n" +
3080  " <s:element minOccurs='1' maxOccurs='1' name='varInt' type='s:int' />\n" +
3081  " <s:element minOccurs='1' maxOccurs='1' name='varFloat' type='s:float' />\n" +
3082  " <s:element minOccurs='0' maxOccurs='1' name='varMultiOccurs' type='s1:ArrayOfString' />\n" +
3083  " </s:sequence>\n" +
3084  " </s:complexType>\n" +
3085  " <s:complexType name='ArrayOfString'>\n" +
3086  " <s:sequence>\n" +
3087  " <s:element minOccurs='0' maxOccurs='unbounded' name='string' nillable='true' type='s:string' />\n" +
3088  " </s:sequence>\n" +
3089  " </s:complexType>\n" +
3090  " <s:complexType name='ChoiceComplexType'>\n" +
3091  " <s:sequence>\n" +
3092  " <s:choice minOccurs='1' maxOccurs='1'>\n" +
3093  " <s:element minOccurs='0' maxOccurs='1' name='name0' type='s:string' />\n" +
3094  " <s:element minOccurs='0' maxOccurs='1' name='name1' type='s:string' />\n" +
3095  " </s:choice>\n" +
3096  " </s:sequence>\n" +
3097  " </s:complexType>\n" +
3098  " <s:simpleType name='Enum'>\n" +
3099  " <s:restriction base='s:string'>\n" +
3100  " <s:enumeration value='BitOne' />\n" +
3101  " <s:enumeration value='BitTwo' />\n" +
3102  " <s:enumeration value='BitThree' />\n" +
3103  " <s:enumeration value='BitFour' />\n" +
3104  " <s:enumeration value='BitFive' />\n" +
3105  " </s:restriction>\n" +
3106  " </s:simpleType>\n" +
3107  " </s:schema>\n" +
3108  " <s:schema elementFormDefault='qualified' targetNamespace='http://soapinterop.org'>\n" +
3109  " <s:element name='echoVoidSoapHeader'>\n" +
3110  " <s:complexType />\n" +
3111  " </s:element>\n" +
3112  " </s:schema>\n" +
3113  " <s:schema elementFormDefault='qualified' targetNamespace='http://soapinterop.org/echoheader/'>\n" +
3114  " <s:complexType name='echoMeComplexTypeRequest'>\n" +
3115  " <s:sequence>\n" +
3116  " <s:element minOccurs='0' maxOccurs='1' name='varString' type='s:string' />\n" +
3117  " <s:element minOccurs='1' maxOccurs='1' name='varInt' type='s:int' />\n" +
3118  " <s:element minOccurs='1' maxOccurs='1' name='varFloat' type='s:float' />\n" +
3119  " </s:sequence>\n" +
3120  " </s:complexType>\n" +
3121  " <s:complexType name='echoMeStringRequest'>\n" +
3122  " <s:sequence>\n" +
3123  " <s:element minOccurs='0' maxOccurs='1' name='varString' type='s:string' />\n" +
3124  " </s:sequence>\n" +
3125  " </s:complexType>\n" +
3126  " <s:complexType name='echoMeComplexTypeResponse'>\n" +
3127  " <s:sequence>\n" +
3128  " <s:element minOccurs='0' maxOccurs='1' name='varString' type='s:string' />\n" +
3129  " <s:element minOccurs='1' maxOccurs='1' name='varInt' type='s:int' />\n" +
3130  " <s:element minOccurs='1' maxOccurs='1' name='varFloat' type='s:float' />\n" +
3131  " </s:sequence>\n" +
3132  " </s:complexType>\n" +
3133  " <s:complexType name='echoMeStringResponse'>\n" +
3134  " <s:sequence>\n" +
3135  " <s:element minOccurs='0' maxOccurs='1' name='varString' type='s:string' />\n" +
3136  " </s:sequence>\n" +
3137  " </s:complexType>\n" +
3138  " </s:schema>\n" +
3139  " </types>\n" +
3140  " <message name='echoVoidSoapIn'>\n" +
3141  " <part name='parameters' element='s0:echoVoid' />\n" +
3142  " </message>\n" +
3143  " <message name='echoVoidSoapOut'>\n" +
3144  " <part name='parameters' element='s0:echoVoidResponse' />\n" +
3145  " </message>\n" +
3146  " <message name='echoIntegerSoapIn'>\n" +
3147  " <part name='parameters' element='s0:echoInteger' />\n" +
3148  " </message>\n" +
3149  " <message name='echoIntegerSoapOut'>\n" +
3150  " <part name='parameters' element='s0:echoIntegerResponse' />\n" +
3151  " </message>\n" +
3152  " <message name='echoFloatSoapIn'>\n" +
3153  " <part name='parameters' element='s0:echoFloat' />\n" +
3154  " </message>\n" +
3155  " <message name='echoFloatSoapOut'>\n" +
3156  " <part name='parameters' element='s0:echoFloatResponse' />\n" +
3157  " </message>\n" +
3158  " <message name='echoStringSoapIn'>\n" +
3159  " <part name='parameters' element='s0:echoString' />\n" +
3160  " </message>\n" +
3161  " <message name='echoStringSoapOut'>\n" +
3162  " <part name='parameters' element='s0:echoStringResponse' />\n" +
3163  " </message>\n" +
3164  " <message name='echoBase64SoapIn'>\n" +
3165  " <part name='parameters' element='s0:echoBase64' />\n" +
3166  " </message>\n" +
3167  " <message name='echoBase64SoapOut'>\n" +
3168  " <part name='parameters' element='s0:echoBase64Response' />\n" +
3169  " </message>\n" +
3170  " <message name='echoDateSoapIn'>\n" +
3171  " <part name='parameters' element='s0:echoDate' />\n" +
3172  " </message>\n" +
3173  " <message name='echoDateSoapOut'>\n" +
3174  " <part name='parameters' element='s0:echoDateResponse' />\n" +
3175  " </message>\n" +
3176  " <message name='echoComplexTypeSoapIn'>\n" +
3177  " <part name='parameters' element='s0:echoComplexType' />\n" +
3178  " </message>\n" +
3179  " <message name='echoComplexTypeSoapOut'>\n" +
3180  " <part name='parameters' element='s0:echoComplexTypeResponse' />\n" +
3181  " </message>\n" +
3182  " <message name='echoIntegerMultiOccursSoapIn'>\n" +
3183  " <part name='parameters' element='s0:echoIntegerMultiOccurs' />\n" +
3184  " </message>\n" +
3185  " <message name='echoIntegerMultiOccursSoapOut'>\n" +
3186  " <part name='parameters' element='s0:echoIntegerMultiOccursResponse' />\n" +
3187  " </message>\n" +
3188  " <message name='echoFloatMultiOccursSoapIn'>\n" +
3189  " <part name='parameters' element='s0:echoFloatMultiOccurs' />\n" +
3190  " </message>\n" +
3191  " <message name='echoFloatMultiOccursSoapOut'>\n" +
3192  " <part name='parameters' element='s0:echoFloatMultiOccursResponse' />\n" +
3193  " </message>\n" +
3194  " <message name='echoStringMultiOccursSoapIn'>\n" +
3195  " <part name='parameters' element='s0:echoStringMultiOccurs' />\n" +
3196  " </message>\n" +
3197  " <message name='echoStringMultiOccursSoapOut'>\n" +
3198  " <part name='parameters' element='s0:echoStringMultiOccursResponse' />\n" +
3199  " </message>\n" +
3200  " <message name='echoComplexTypeMultiOccursSoapIn'>\n" +
3201  " <part name='parameters' element='s0:echoComplexTypeMultiOccurs' />\n" +
3202  " </message>\n" +
3203  " <message name='echoComplexTypeMultiOccursSoapOut'>\n" +
3204  " <part name='parameters' element='s0:echoComplexTypeMultiOccursResponse' />\n" +
3205  " </message>\n" +
3206  " <message name='echoDecimalSoapIn'>\n" +
3207  " <part name='parameters' element='s0:echoDecimal' />\n" +
3208  " </message>\n" +
3209  " <message name='echoDecimalSoapOut'>\n" +
3210  " <part name='parameters' element='s0:echoDecimalResponse' />\n" +
3211  " </message>\n" +
3212  " <message name='echoBooleanSoapIn'>\n" +
3213  " <part name='parameters' element='s0:echoBoolean' />\n" +
3214  " </message>\n" +
3215  " <message name='echoBooleanSoapOut'>\n" +
3216  " <part name='parameters' element='s0:echoBooleanResponse' />\n" +
3217  " </message>\n" +
3218  " <message name='echoHexBinarySoapIn'>\n" +
3219  " <part name='parameters' element='s0:echoHexBinary' />\n" +
3220  " </message>\n" +
3221  " <message name='echoHexBinarySoapOut'>\n" +
3222  " <part name='parameters' element='s0:echoHexBinaryResponse' />\n" +
3223  " </message>\n" +
3224  " <message name='echoComplexTypeAsSimpleTypesSoapIn'>\n" +
3225  " <part name='parameters' element='s0:echoComplexTypeAsSimpleTypes' />\n" +
3226  " </message>\n" +
3227  " <message name='echoComplexTypeAsSimpleTypesSoapOut'>\n" +
3228  " <part name='parameters' element='s0:echoComplexTypeAsSimpleTypesResponse' />\n" +
3229  " </message>\n" +
3230  " <message name='echoSimpleTypesAsComplexTypeSoapIn'>\n" +
3231  " <part name='parameters' element='s0:echoSimpleTypesAsComplexType' />\n" +
3232  " </message>\n" +
3233  " <message name='echoSimpleTypesAsComplexTypeSoapOut'>\n" +
3234  " <part name='parameters' element='s0:echoSimpleTypesAsComplexTypeResponse' />\n" +
3235  " </message>\n" +
3236  " <message name='echoNestedComplexTypeSoapIn'>\n" +
3237  " <part name='parameters' element='s0:echoNestedComplexType' />\n" +
3238  " </message>\n" +
3239  " <message name='echoNestedComplexTypeSoapOut'>\n" +
3240  " <part name='parameters' element='s0:echoNestedComplexTypeResponse' />\n" +
3241  " </message>\n" +
3242  " <message name='echoNestedMultiOccursSoapIn'>\n" +
3243  " <part name='parameters' element='s0:echoNestedMultiOccurs' />\n" +
3244  " </message>\n" +
3245  " <message name='echoNestedMultiOccursSoapOut'>\n" +
3246  " <part name='parameters' element='s0:echoNestedMultiOccursResponse' />\n" +
3247  " </message>\n" +
3248  " <message name='echoChoiceSoapIn'>\n" +
3249  " <part name='parameters' element='s0:echoChoice' />\n" +
3250  " </message>\n" +
3251  " <message name='echoChoiceSoapOut'>\n" +
3252  " <part name='parameters' element='s0:echoChoiceResponse' />\n" +
3253  " </message>\n" +
3254  " <message name='echoEnumSoapIn'>\n" +
3255  " <part name='parameters' element='s0:echoEnum' />\n" +
3256  " </message>\n" +
3257  " <message name='echoEnumSoapOut'>\n" +
3258  " <part name='parameters' element='s0:echoEnumResponse' />\n" +
3259  " </message>\n" +
3260  " <message name='echoAnyTypeSoapIn'>\n" +
3261  " <part name='parameters' element='s0:echoAnyType' />\n" +
3262  " </message>\n" +
3263  " <message name='echoAnyTypeSoapOut'>\n" +
3264  " <part name='parameters' element='s0:echoAnyTypeResponse' />\n" +
3265  " </message>\n" +
3266  " <message name='echoAnyElementSoapIn'>\n" +
3267  " <part name='parameters' element='s0:echoAnyElement' />\n" +
3268  " </message>\n" +
3269  " <message name='echoAnyElementSoapOut'>\n" +
3270  " <part name='parameters' element='s0:echoAnyElementResponse' />\n" +
3271  " </message>\n" +
3272  " <message name='echoVoidSoapHeaderSoapIn'>\n" +
3273  " <part name='parameters' element='s2:echoVoidSoapHeader' />\n" +
3274  " </message>\n" +
3275  " <message name='echoVoidSoapHeaderSoapOut'>\n" +
3276  " <part name='parameters' element='s0:echoVoidSoapHeaderResponse' />\n" +
3277  " </message>\n" +
3278  " <message name='echoVoidSoapHeaderechoMeComplexTypeRequest'>\n" +
3279  " <part name='echoMeComplexTypeRequest' element='s0:echoMeComplexTypeRequest' />\n" +
3280  " </message>\n" +
3281  " <message name='echoVoidSoapHeaderechoMeComplexTypeResponse'>\n" +
3282  " <part name='echoMeComplexTypeResponse' element='s0:echoMeComplexTypeResponse' />\n" +
3283  " </message>\n" +
3284  " <message name='echoVoidSoapHeaderechoMeStringRequest'>\n" +
3285  " <part name='echoMeStringRequest' element='s0:echoMeStringRequest' />\n" +
3286  " </message>\n" +
3287  " <message name='echoVoidSoapHeaderechoMeStringResponse'>\n" +
3288  " <part name='echoMeStringResponse' element='s0:echoMeStringResponse' />\n" +
3289  " </message>\n" +
3290  " <portType name='Round4XSDTestSoap'>\n" +
3291  " <operation name='echoVoid'>\n" +
3292  " <input message='s0:echoVoidSoapIn' />\n" +
3293  " <output message='s0:echoVoidSoapOut' />\n" +
3294  " </operation>\n" +
3295  " <operation name='echoInteger'>\n" +
3296  " <input message='s0:echoIntegerSoapIn' />\n" +
3297  " <output message='s0:echoIntegerSoapOut' />\n" +
3298  " </operation>\n" +
3299  " <operation name='echoFloat'>\n" +
3300  " <input message='s0:echoFloatSoapIn' />\n" +
3301  " <output message='s0:echoFloatSoapOut' />\n" +
3302  " </operation>\n" +
3303  " <operation name='echoString'>\n" +
3304  " <input message='s0:echoStringSoapIn' />\n" +
3305  " <output message='s0:echoStringSoapOut' />\n" +
3306  " </operation>\n" +
3307  " <operation name='echoBase64'>\n" +
3308  " <input message='s0:echoBase64SoapIn' />\n" +
3309  " <output message='s0:echoBase64SoapOut' />\n" +
3310  " </operation>\n" +
3311  " <operation name='echoDate'>\n" +
3312  " <input message='s0:echoDateSoapIn' />\n" +
3313  " <output message='s0:echoDateSoapOut' />\n" +
3314  " </operation>\n" +
3315  " <operation name='echoComplexType'>\n" +
3316  " <input message='s0:echoComplexTypeSoapIn' />\n" +
3317  " <output message='s0:echoComplexTypeSoapOut' />\n" +
3318  " </operation>\n" +
3319  " <operation name='echoIntegerMultiOccurs'>\n" +
3320  " <input message='s0:echoIntegerMultiOccursSoapIn' />\n" +
3321  " <output message='s0:echoIntegerMultiOccursSoapOut' />\n" +
3322  " </operation>\n" +
3323  " <operation name='echoFloatMultiOccurs'>\n" +
3324  " <input message='s0:echoFloatMultiOccursSoapIn' />\n" +
3325  " <output message='s0:echoFloatMultiOccursSoapOut' />\n" +
3326  " </operation>\n" +
3327  " <operation name='echoStringMultiOccurs'>\n" +
3328  " <input message='s0:echoStringMultiOccursSoapIn' />\n" +
3329  " <output message='s0:echoStringMultiOccursSoapOut' />\n" +
3330  " </operation>\n" +
3331  " <operation name='echoComplexTypeMultiOccurs'>\n" +
3332  " <input message='s0:echoComplexTypeMultiOccursSoapIn' />\n" +
3333  " <output message='s0:echoComplexTypeMultiOccursSoapOut' />\n" +
3334  " </operation>\n" +
3335  " <operation name='echoDecimal'>\n" +
3336  " <input message='s0:echoDecimalSoapIn' />\n" +
3337  " <output message='s0:echoDecimalSoapOut' />\n" +
3338  " </operation>\n" +
3339  " <operation name='echoBoolean'>\n" +
3340  " <input message='s0:echoBooleanSoapIn' />\n" +
3341  " <output message='s0:echoBooleanSoapOut' />\n" +
3342  " </operation>\n" +
3343  " <operation name='echoHexBinary'>\n" +
3344  " <input message='s0:echoHexBinarySoapIn' />\n" +
3345  " <output message='s0:echoHexBinarySoapOut' />\n" +
3346  " </operation>\n" +
3347  " <operation name='echoComplexTypeAsSimpleTypes'>\n" +
3348  " <input message='s0:echoComplexTypeAsSimpleTypesSoapIn' />\n" +
3349  " <output message='s0:echoComplexTypeAsSimpleTypesSoapOut' />\n" +
3350  " </operation>\n" +
3351  " <operation name='echoSimpleTypesAsComplexType'>\n" +
3352  " <input message='s0:echoSimpleTypesAsComplexTypeSoapIn' />\n" +
3353  " <output message='s0:echoSimpleTypesAsComplexTypeSoapOut' />\n" +
3354  " </operation>\n" +
3355  " <operation name='echoNestedComplexType'>\n" +
3356  " <input message='s0:echoNestedComplexTypeSoapIn' />\n" +
3357  " <output message='s0:echoNestedComplexTypeSoapOut' />\n" +
3358  " </operation>\n" +
3359  " <operation name='echoNestedMultiOccurs'>\n" +
3360  " <input message='s0:echoNestedMultiOccursSoapIn' />\n" +
3361  " <output message='s0:echoNestedMultiOccursSoapOut' />\n" +
3362  " </operation>\n" +
3363  " <operation name='echoChoice'>\n" +
3364  " <input message='s0:echoChoiceSoapIn' />\n" +
3365  " <output message='s0:echoChoiceSoapOut' />\n" +
3366  " </operation>\n" +
3367  " <operation name='echoEnum'>\n" +
3368  " <input message='s0:echoEnumSoapIn' />\n" +
3369  " <output message='s0:echoEnumSoapOut' />\n" +
3370  " </operation>\n" +
3371  " <operation name='echoAnyType'>\n" +
3372  " <input message='s0:echoAnyTypeSoapIn' />\n" +
3373  " <output message='s0:echoAnyTypeSoapOut' />\n" +
3374  " </operation>\n" +
3375  " <operation name='echoAnyElement'>\n" +
3376  " <input message='s0:echoAnyElementSoapIn' />\n" +
3377  " <output message='s0:echoAnyElementSoapOut' />\n" +
3378  " </operation>\n" +
3379  " <operation name='echoVoidSoapHeader'>\n" +
3380  " <input message='s0:echoVoidSoapHeaderSoapIn' />\n" +
3381  " <output message='s0:echoVoidSoapHeaderSoapOut' />\n" +
3382  " </operation>\n" +
3383  " </portType>\n" +
3384  " <binding name='Round4XSDTestSoap' type='s0:Round4XSDTestSoap'>\n" +
3385  " <soap:binding transport='http://schemas.xmlsoap.org/soap/http' style='document' />\n" +
3386  " <operation name='echoVoid'>\n" +
3387  " <soap:operation soapAction='http://soapinterop.org/echoVoid' style='document' />\n" +
3388  " <input>\n" +
3389  " <soap:body use='literal' />\n" +
3390  " </input>\n" +
3391  " <output>\n" +
3392  " <soap:body use='literal' />\n" +
3393  " </output>\n" +
3394  " </operation>\n" +
3395  " <operation name='echoInteger'>\n" +
3396  " <soap:operation soapAction='http://soapinterop.org/echoInteger' style='document' />\n" +
3397  " <input>\n" +
3398  " <soap:body use='literal' />\n" +
3399  " </input>\n" +
3400  " <output>\n" +
3401  " <soap:body use='literal' />\n" +
3402  " </output>\n" +
3403  " </operation>\n" +
3404  " <operation name='echoFloat'>\n" +
3405  " <soap:operation soapAction='http://soapinterop.org/echoFloat' style='document' />\n" +
3406  " <input>\n" +
3407  " <soap:body use='literal' />\n" +
3408  " </input>\n" +
3409  " <output>\n" +
3410  " <soap:body use='literal' />\n" +
3411  " </output>\n" +
3412  " </operation>\n" +
3413  " <operation name='echoString'>\n" +
3414  " <soap:operation soapAction='http://soapinterop.org/echoString' style='document' />\n" +
3415  " <input>\n" +
3416  " <soap:body use='literal' />\n" +
3417  " </input>\n" +
3418  " <output>\n" +
3419  " <soap:body use='literal' />\n" +
3420  " </output>\n" +
3421  " </operation>\n" +
3422  " <operation name='echoBase64'>\n" +
3423  " <soap:operation soapAction='http://soapinterop.org/echoBase64' style='document' />\n" +
3424  " <input>\n" +
3425  " <soap:body use='literal' />\n" +
3426  " </input>\n" +
3427  " <output>\n" +
3428  " <soap:body use='literal' />\n" +
3429  " </output>\n" +
3430  " </operation>\n" +
3431  " <operation name='echoDate'>\n" +
3432  " <soap:operation soapAction='http://soapinterop.org/echoDate' style='document' />\n" +
3433  " <input>\n" +
3434  " <soap:body use='literal' />\n" +
3435  " </input>\n" +
3436  " <output>\n" +
3437  " <soap:body use='literal' />\n" +
3438  " </output>\n" +
3439  " </operation>\n" +
3440  " <operation name='echoComplexType'>\n" +
3441  " <soap:operation soapAction='http://soapinterop.org/echoComplexType' style='document' />\n" +
3442  " <input>\n" +
3443  " <soap:body use='literal' />\n" +
3444  " </input>\n" +
3445  " <output>\n" +
3446  " <soap:body use='literal' />\n" +
3447  " </output>\n" +
3448  " </operation>\n" +
3449  " <operation name='echoIntegerMultiOccurs'>\n" +
3450  " <soap:operation soapAction='http://soapinterop.org/echoIntegerMultiOccurs' style='document' />\n" +
3451  " <input>\n" +
3452  " <soap:body use='literal' />\n" +
3453  " </input>\n" +
3454  " <output>\n" +
3455  " <soap:body use='literal' />\n" +
3456  " </output>\n" +
3457  " </operation>\n" +
3458  " <operation name='echoFloatMultiOccurs'>\n" +
3459  " <soap:operation soapAction='http://soapinterop.org/echoFloatMultiOccurs' style='document' />\n" +
3460  " <input>\n" +
3461  " <soap:body use='literal' />\n" +
3462  " </input>\n" +
3463  " <output>\n" +
3464  " <soap:body use='literal' />\n" +
3465  " </output>\n" +
3466  " </operation>\n" +
3467  " <operation name='echoStringMultiOccurs'>\n" +
3468  " <soap:operation soapAction='http://soapinterop.org/echoStringMultiOccurs' style='document' />\n" +
3469  " <input>\n" +
3470  " <soap:body use='literal' />\n" +
3471  " </input>\n" +
3472  " <output>\n" +
3473  " <soap:body use='literal' />\n" +
3474  " </output>\n" +
3475  " </operation>\n" +
3476  " <operation name='echoComplexTypeMultiOccurs'>\n" +
3477  " <soap:operation soapAction='http://soapinterop.org/echoComplexTypeMultiOccurs' style='document' />\n" +
3478  " <input>\n" +
3479  " <soap:body use='literal' />\n" +
3480  " </input>\n" +
3481  " <output>\n" +
3482  " <soap:body use='literal' />\n" +
3483  " </output>\n" +
3484  " </operation>\n" +
3485  " <operation name='echoDecimal'>\n" +
3486  " <soap:operation soapAction='http://soapinterop.org/echoDecimal' style='document' />\n" +
3487  " <input>\n" +
3488  " <soap:body use='literal' />\n" +
3489  " </input>\n" +
3490  " <output>\n" +
3491  " <soap:body use='literal' />\n" +
3492  " </output>\n" +
3493  " </operation>\n" +
3494  " <operation name='echoBoolean'>\n" +
3495  " <soap:operation soapAction='http://soapinterop.org/echoBoolean' style='document' />\n" +
3496  " <input>\n" +
3497  " <soap:body use='literal' />\n" +
3498  " </input>\n" +
3499  " <output>\n" +
3500  " <soap:body use='literal' />\n" +
3501  " </output>\n" +
3502  " </operation>\n" +
3503  " <operation name='echoHexBinary'>\n" +
3504  " <soap:operation soapAction='http://soapinterop.org/echoHexBinary' style='document' />\n" +
3505  " <input>\n" +
3506  " <soap:body use='literal' />\n" +
3507  " </input>\n" +
3508  " <output>\n" +
3509  " <soap:body use='literal' />\n" +
3510  " </output>\n" +
3511  " </operation>\n" +
3512  " <operation name='echoComplexTypeAsSimpleTypes'>\n" +
3513  " <soap:operation soapAction='http://soapinterop.org/echoComplexTypeAsSimpleTypes' style='document' />\n" +
3514  " <input>\n" +
3515  " <soap:body use='literal' />\n" +
3516  " </input>\n" +
3517  " <output>\n" +
3518  " <soap:body use='literal' />\n" +
3519  " </output>\n" +
3520  " </operation>\n" +
3521  " <operation name='echoSimpleTypesAsComplexType'>\n" +
3522  " <soap:operation soapAction='http://soapinterop.org/echoSimpleTypesAsComplexType' style='document' />\n" +
3523  " <input>\n" +
3524  " <soap:body use='literal' />\n" +
3525  " </input>\n" +
3526  " <output>\n" +
3527  " <soap:body use='literal' />\n" +
3528  " </output>\n" +
3529  " </operation>\n" +
3530  " <operation name='echoNestedComplexType'>\n" +
3531  " <soap:operation soapAction='http://soapinterop.org/echoNestedComplexType' style='document' />\n" +
3532  " <input>\n" +
3533  " <soap:body use='literal' />\n" +
3534  " </input>\n" +
3535  " <output>\n" +
3536  " <soap:body use='literal' />\n" +
3537  " </output>\n" +
3538  " </operation>\n" +
3539  " <operation name='echoNestedMultiOccurs'>\n" +
3540  " <soap:operation soapAction='http://soapinterop.org/echoNestedMultiOccurs' style='document' />\n" +
3541  " <input>\n" +
3542  " <soap:body use='literal' />\n" +
3543  " </input>\n" +
3544  " <output>\n" +
3545  " <soap:body use='literal' />\n" +
3546  " </output>\n" +
3547  " </operation>\n" +
3548  " <operation name='echoChoice'>\n" +
3549  " <soap:operation soapAction='http://soapinterop.org/echoChoice' style='document' />\n" +
3550  " <input>\n" +
3551  " <soap:body use='literal' />\n" +
3552  " </input>\n" +
3553  " <output>\n" +
3554  " <soap:body use='literal' />\n" +
3555  " </output>\n" +
3556  " </operation>\n" +
3557  " <operation name='echoEnum'>\n" +
3558  " <soap:operation soapAction='http://soapinterop.org/echoEnum' style='document' />\n" +
3559  " <input>\n" +
3560  " <soap:body use='literal' />\n" +
3561  " </input>\n" +
3562  " <output>\n" +
3563  " <soap:body use='literal' />\n" +
3564  " </output>\n" +
3565  " </operation>\n" +
3566  " <operation name='echoAnyType'>\n" +
3567  " <soap:operation soapAction='http://soapinterop.org/echoAnyType' style='document' />\n" +
3568  " <input>\n" +
3569  " <soap:body use='literal' />\n" +
3570  " </input>\n" +
3571  " <output>\n" +
3572  " <soap:body use='literal' />\n" +
3573  " </output>\n" +
3574  " </operation>\n" +
3575  " <operation name='echoAnyElement'>\n" +
3576  " <soap:operation soapAction='http://soapinterop.org/echoAnyElement' style='document' />\n" +
3577  " <input>\n" +
3578  " <soap:body use='literal' />\n" +
3579  " </input>\n" +
3580  " <output>\n" +
3581  " <soap:body use='literal' />\n" +
3582  " </output>\n" +
3583  " </operation>\n" +
3584  " <operation name='echoVoidSoapHeader'>\n" +
3585  " <soap:operation soapAction='http://soapinterop.org' style='document' />\n" +
3586  " <input>\n" +
3587  " <soap:body use='literal' />\n" +
3588  " <soap:header message='s0:echoVoidSoapHeaderechoMeComplexTypeRequest' part='echoMeComplexTypeRequest' use='literal' />\n" +
3589  " <soap:header message='s0:echoVoidSoapHeaderechoMeStringRequest' part='echoMeStringRequest' use='literal' />\n" +
3590  " </input>\n" +
3591  " <output>\n" +
3592  " <soap:body use='literal' />\n" +
3593  " <soap:header message='s0:echoVoidSoapHeaderechoMeComplexTypeResponse' part='echoMeComplexTypeResponse' use='literal' />\n" +
3594  " <soap:header message='s0:echoVoidSoapHeaderechoMeStringResponse' part='echoMeStringResponse' use='literal' />\n" +
3595  " </output>\n" +
3596  " </operation>\n" +
3597  " </binding>\n" +
3598  " <service name='Round4XSDTest'>\n" +
3599  " <documentation>These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments.</documentation>\n" +
3600  " <port name='Round4XSDTestSoap' binding='s0:Round4XSDTestSoap'>\n" +
3601  " <!--\n" +
3602  " <soap:address location='http://mssoapinterop.org/asmx/xsd/round4xsd.asmx' />\n" +
3603  " -->\n" +
3604  " <soap:address location='http://localhost:8080/axis/services/Round4XSDTestSoap' />\n" +
3605  " </port>\n" +
3606  " </service>\n" +
3607  "</definitions>\n";
3608
3609  public void testRound4XSD() throws Exception JavaDoc {
3610    parseString(round4XSD, "round4XSD.wsdl");
3611  }
3612
3613  private static final String JavaDoc ram =
3614  "<?xml version='1.0' encoding='UTF-8'?>\n" +
3615  "<wsdl:definitions targetNamespace='urn:ram' \n" +
3616  "xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/' xmlns:impl='urn:Ram-impl' \n" +
3617  "xmlns:intf='urn:ram' xmlns:tns1='http://ram.uspto.gov'\n" +
3618  "xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/' \n" +
3619  "xmlns:wsdlsoap='http://schemas.xmlsoap.org/wsdl/soap/' \n" +
3620  "xmlns:xsd='http://www.w3.org/2001/XMLSchema'>\n" +
3621  " <types>\n" +
3622  " <schema targetNamespace='http://ram.uspto.gov' \n" +
3623  "xmlns='http://www.w3.org/2001/XMLSchema'>\n" +
3624  " <complexType name='RamData'>\n" +
3625  " <sequence>\n" +
3626  " <element name='mailRoomDate' nillable='true' type='xsd:date'/>\n" +
3627  " <element name='callingClientUserIdentifier' nillable='true' \n" +
3628  "type='xsd:string'/>\n" +
3629  " <element name='bankInfoRequestType' nillable='true' type='xsd:string'/>\n" +
3630  " <element name='callingClientPortNumber' nillable='true' type='xsd:string'/>\n" +
3631  " <element name='salePostingReferenceText' nillable='true' \n" +
3632  "type='xsd:string'/>\n" +
3633  " <element name='bankInfoPaymentType' nillable='true' type='xsd:string'/>\n" +
3634  " <element name='saleOtherPaymentTotalAmount' type='xsd:double'/>\n" +
3635  " <element name='fees' nillable='true' type='intf:ArrayOf_tns1_Fee'/>\n" +
3636  " <element name='creditCard' nillable='true' type='tns1:CreditCard'/>\n" +
3637  " </sequence>\n" +
3638  " </complexType>\n" +
3639  " <complexType name='Fee'>\n" +
3640  " <sequence>\n" +
3641  " <element name='code' nillable='true' type='xsd:string'/>\n" +
3642  " <element name='amount' type='xsd:double'/>\n" +
3643  " <element name='quantity' type='xsd:int'/>\n" +
3644  " </sequence>\n" +
3645  " </complexType>\n" +
3646  " <complexType name='CreditCard'>\n" +
3647  " <sequence>\n" +
3648  " <element name='name' nillable='true' type='xsd:string'/>\n" +
3649  " <element name='expires' nillable='true' type='xsd:date'/>\n" +
3650  " <element name='number' nillable='true' type='xsd:string'/>\n" +
3651  " <element name='postalCode' nillable='true' type='xsd:string'/>\n" +
3652  " </sequence>\n" +
3653  " </complexType>\n" +
3654  " <complexType name='Response'>\n" +
3655  " <sequence>\n" +
3656  " <element name='salePostingReferenceText' nillable='true' \n" +
3657  "type='xsd:string'/>\n" +
3658  " <element name='authorization' nillable='true' type='xsd:string'/>\n" +
3659  " <element name='hostResponseCode' nillable='true' type='xsd:string'/>\n" +
3660  " <element name='hostResponseMessage' nillable='true' type='xsd:string'/>\n" +
3661  " <element name='protoBaseResponseCode' nillable='true' type='xsd:string'/>\n" +
3662  " <element name='protoBaseResponseMessage' nillable='true' \n" +
3663  "type='xsd:string'/>\n" +
3664  " <element name='transactionReferenceNumber' nillable='true' \n" +
3665  "type='xsd:string'/>\n" +
3666  " <element name='reasonCode' nillable='true' type='xsd:string'/>\n" +
3667  " <element name='returnCode' nillable='true' type='xsd:string'/>\n" +
3668  " <element name='accountingDate' nillable='true' type='xsd:date'/>\n" +
3669  " </sequence>\n" +
3670  " </complexType>\n" +
3671  " </schema>\n" +
3672  " <schema targetNamespace='urn:ram' xmlns='http://www.w3.org/2001/XMLSchema'>\n" +
3673  " <complexType name='ArrayOf_tns1_Fee'>\n" +
3674  " <complexContent>\n" +
3675  " <restriction base='SOAP-ENC:Array'>\n" +
3676  " <attribute ref='SOAP-ENC:arrayType' wsdl:arrayType='tns1:Fee[]'/>\n" +
3677  " </restriction>\n" +
3678  " </complexContent>\n" +
3679  " </complexType>\n" +
3680  " <complexType name='ArrayOf_tns1_RamData'>\n" +
3681  " <complexContent>\n" +
3682  " <restriction base='SOAP-ENC:Array'>\n" +
3683  " <attribute ref='SOAP-ENC:arrayType' wsdl:arrayType='tns1:RamData[]'/>\n" +
3684  " </restriction>\n" +
3685  " </complexContent>\n" +
3686  " </complexType>\n" +
3687  " <element name='ArrayOf_tns1_RamData' nillable='true' \n" +
3688  "type='intf:ArrayOf_tns1_RamData'/>\n" +
3689  " <complexType name='ArrayOf_tns1_Response'>\n" +
3690  " <complexContent>\n" +
3691  " <restriction base='SOAP-ENC:Array'>\n" +
3692  " <attribute ref='SOAP-ENC:arrayType' wsdl:arrayType='tns1:Response[]'/>\n" +
3693  " </restriction>\n" +
3694  " </complexContent>\n" +
3695  " </complexType>\n" +
3696  " <element name='ArrayOf_tns1_Response' nillable='true' \n" +
3697  "type='intf:ArrayOf_tns1_Response'/>\n" +
3698  " </schema>\n" +
3699  " </types>\n" +
3700  "\n" +
3701  " <wsdl:message name='validateResponse'>\n" +
3702  "\n" +
3703  " <wsdl:part name='return' type='intf:ArrayOf_tns1_Response'/>\n" +
3704  "\n" +
3705  " </wsdl:message>\n" +
3706  "\n" +
3707  " <wsdl:message name='validateRequest'>\n" +
3708  "\n" +
3709  " <wsdl:part name='in0' type='intf:ArrayOf_tns1_RamData'/>\n" +
3710  "\n" +
3711  " </wsdl:message>\n" +
3712  "\n" +
3713  " <wsdl:portType name='Ram'>\n" +
3714  "\n" +
3715  " <wsdl:operation name='validate' parameterOrder='in0'>\n" +
3716  "\n" +
3717  " <wsdl:input message='intf:validateRequest'/>\n" +
3718  "\n" +
3719  " <wsdl:output message='intf:validateResponse'/>\n" +
3720  "\n" +
3721  " </wsdl:operation>\n" +
3722  "\n" +
3723  " </wsdl:portType>\n" +
3724  "\n" +
3725  " <wsdl:binding name='RamSoapBinding' type='intf:Ram'>\n" +
3726  "\n" +
3727  " <wsdlsoap:binding style='rpc' \n" +
3728  "transport='http://schemas.xmlsoap.org/soap/http'/>\n" +
3729  "\n" +
3730  " <wsdl:operation name='validate'>\n" +
3731  "\n" +
3732  " <wsdlsoap:operation soapAction=''/>\n" +
3733  "\n" +
3734  " <wsdl:input>\n" +
3735  "\n" +
3736  " <wsdlsoap:body \n" +
3737  "encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' namespace='urn:ram' \n" +
3738  "use='encoded'/>\n" +
3739  "\n" +
3740  " </wsdl:input>\n" +
3741  "\n" +
3742  " <wsdl:output>\n" +
3743  "\n" +
3744  " <wsdlsoap:body \n" +
3745  "encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' namespace='urn:ram' \n" +
3746  "use='encoded'/>\n" +
3747  "\n" +
3748  " </wsdl:output>\n" +
3749  "\n" +
3750  " </wsdl:operation>\n" +
3751  "\n" +
3752  " </wsdl:binding>\n" +
3753  "\n" +
3754  " <wsdl:service name='RamService'>\n" +
3755  "\n" +
3756  " <wsdl:port binding='intf:RamSoapBinding' name='Ram'>\n" +
3757  "\n" +
3758  " <wsdlsoap:address location='http://localhost:8080/axis/services/Ram'/>\n" +
3759  "\n" +
3760  " </wsdl:port>\n" +
3761  "\n" +
3762  " </wsdl:service>\n" +
3763  "\n" +
3764  "</wsdl:definitions>\n";
3765
3766  public void testRam() throws Exception JavaDoc {
3767    parseString(ram, "ram.wsdl");
3768  }
3769
3770  private static final String JavaDoc multiRefTest =
3771  "<?xml version='1.0' ?>\n" +
3772  "\n" +
3773  "<definitions name='urn:MultiRefTest'\n" +
3774  " targetNamespace='urn:MultiRefTest2'\n" +
3775  " xmlns:tns='urn:MultiRefTest2'\n" +
3776  " xmlns:typens='urn:MultiRefTest2'\n" +
3777  " xmlns:xsd='http://www.w3.org/1999/XMLSchema'\n" +
3778  " xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'\n" +
3779  " xmlns='http://schemas.xmlsoap.org/wsdl/'>\n" +
3780  "\n" +
3781  " <!-- type defs -->\n" +
3782  " <types>\n" +
3783  " <xsd:schema targetNamespace='urn:MultiRefTest2'\n" +
3784  " xmlns:xsd='http://www.w3.org/1999/XMLSchema'>\n" +
3785  " \n" +
3786  " \n" +
3787  " <xsd:complexType name='nodebase'>\n" +
3788  " <xsd:all>\n" +
3789  " <xsd:element name='left' type='typens:node' xsd:nillable='true'/>\n" +
3790  " <xsd:element name='right' type='typens:node' xsd:nillable='true'/>\n" +
3791  " </xsd:all>\n" +
3792  " </xsd:complexType>\n" +
3793  "\n" +
3794  " <xsd:complexType name='node'>\n" +
3795  " <xsd:complexContent>\n" +
3796  " <xsd:extension base='typens:nodebase'>\n" +
3797  " <xsd:all>\n" +
3798  " <xsd:element name='data' type='xsd:int'/>\n" +
3799  " </xsd:all>\n" +
3800  " </xsd:extension>\n" +
3801  " </xsd:complexContent>\n" +
3802  " </xsd:complexType>\n" +
3803  " </xsd:schema>\n" +
3804  " </types>\n" +
3805  "\n" +
3806  " <!-- message declns -->\n" +
3807  " <message name='InNodes'>\n" +
3808  " <part name='root' type='typens:node'/>\n" +
3809  " </message>\n" +
3810  " <message name='OutNodes'>\n" +
3811  " <part name='root' type='typens:node'/>\n" +
3812  " <part name='rc' type='xsd:int'/>\n" +
3813  " </message>\n" +
3814  " <message name='InNodes2'>\n" +
3815  " <part name='root1' type='typens:node'/>\n" +
3816  " <part name='root2' type='typens:node'/>\n" +
3817  " </message>\n" +
3818  " <message name='OutNodes2'>\n" +
3819  " <part name='root1' type='typens:node'/>\n" +
3820  " <part name='root2' type='typens:node'/>\n" +
3821  " <part name='rc' type='xsd:int'/>\n" +
3822  " </message>\n" +
3823  "\n" +
3824  " <!-- port type declns -->\n" +
3825  " <portType name='MultiRefTest'>\n" +
3826  " <operation name='testSimpleTree'>\n" +
3827  " <input message='tns:InNodes'/>\n" +
3828  " <output message='tns:OutNodes'/>\n" +
3829  " </operation>\n" +
3830  " <operation name='testDiamond'>\n" +
3831  " <input message='tns:InNodes'/>\n" +
3832  " <output message='tns:OutNodes'/>\n" +
3833  " </operation>\n" +
3834  " <operation name='testLoop'>\n" +
3835  " <input message='tns:InNodes'/>\n" +
3836  " <output message='tns:OutNodes'/>\n" +
3837  " </operation>\n" +
3838  " <operation name='testSelfRef'>\n" +
3839  " <input message='tns:InNodes'/>\n" +
3840  " <output message='tns:OutNodes'/>\n" +
3841  " </operation>\n" +
3842  " <operation name='testSameArgs'>\n" +
3843  " <input message='tns:InNodes2'/>\n" +
3844  " <output message='tns:OutNodes2'/>\n" +
3845  " </operation>\n" +
3846  " <operation name='testArgsRefSameNode'>\n" +
3847  " <input message='tns:InNodes2'/>\n" +
3848  " <output message='tns:OutNodes2'/>\n" +
3849  " </operation>\n" +
3850  " <operation name='testArgsRefEachOther'>\n" +
3851  " <input message='tns:InNodes2'/>\n" +
3852  " <output message='tns:OutNodes2'/>\n" +
3853  " </operation>\n" +
3854  " </portType>\n" +
3855  "\n" +
3856  " <!-- binding declns -->\n" +
3857  " <binding name='MultiRefTestSOAPBinding' type='tns:MultiRefTest'>\n" +
3858  " <soap:binding style='rpc'\n" +
3859  " transport='http://schemas.xmlsoap.org/soap/http'/>\n" +
3860  " <operation name='testSimpleTree'>\n" +
3861  " <soap:operation soapAction=''/>\n" +
3862  " <input>\n" +
3863  " <soap:body use='encoded'\n" +
3864  " namespace='urn:MultiRefTest2'\n" +
3865  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
3866  " </input>\n" +
3867  " <output>\n" +
3868  " <soap:body use='encoded'\n" +
3869  " namespace='urn:MultiRefTest2'\n" +
3870  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
3871  " </output>\n" +
3872  " </operation>\n" +
3873  " <operation name='testDiamond'>\n" +
3874  " <soap:operation soapAction=''/>\n" +
3875  " <input>\n" +
3876  " <soap:body use='encoded'\n" +
3877  " namespace='urn:MultiRefTest2'\n" +
3878  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
3879  " </input>\n" +
3880  " <output>\n" +
3881  " <soap:body use='encoded'\n" +
3882  " namespace='urn:MultiRefTest2'\n" +
3883  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
3884  " </output>\n" +
3885  " </operation>\n" +
3886  " <operation name='testLoop'>\n" +
3887  " <soap:operation soapAction=''/>\n" +
3888  " <input>\n" +
3889  " <soap:body use='encoded'\n" +
3890  " namespace='urn:MultiRefTest2'\n" +
3891  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
3892  " </input>\n" +
3893  " <output>\n" +
3894  " <soap:body use='encoded'\n" +
3895  " namespace='urn:MultiRefTest2'\n" +
3896  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
3897  " </output>\n" +
3898  " </operation>\n" +
3899  " <operation name='testSelfRef'>\n" +
3900  " <soap:operation soapAction=''/>\n" +
3901  " <input>\n" +
3902  " <soap:body use='encoded'\n" +
3903  " namespace='urn:MultiRefTest2'\n" +
3904  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
3905  " </input>\n" +
3906  " <output>\n" +
3907  " <soap:body use='encoded'\n" +
3908  " namespace='urn:MultiRefTest2'\n" +
3909  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
3910  " </output>\n" +
3911  " </operation>\n" +
3912  " <operation name='testSameArgs'>\n" +
3913  " <soap:operation soapAction=''/>\n" +
3914  " <input>\n" +
3915  " <soap:body use='encoded'\n" +
3916  " namespace='urn:MultiRefTest2'\n" +
3917  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
3918  " </input>\n" +
3919  " <output>\n" +
3920  " <soap:body use='encoded'\n" +
3921  " namespace='urn:MultiRefTest2'\n" +
3922  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
3923  " </output>\n" +
3924  " </operation>\n" +
3925  " <operation name='testArgsRefSameNode'>\n" +
3926  " <soap:operation soapAction=''/>\n" +
3927  " <input>\n" +
3928  " <soap:body use='encoded'\n" +
3929  " namespace='urn:MultiRefTest2'\n" +
3930  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
3931  " </input>\n" +
3932  " <output>\n" +
3933  " <soap:body use='encoded'\n" +
3934  " namespace='urn:MultiRefTest2'\n" +
3935  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
3936  " </output>\n" +
3937  " </operation>\n" +
3938  " <operation name='testArgsRefEachOther'>\n" +
3939  " <soap:operation soapAction=''/>\n" +
3940  " <input>\n" +
3941  " <soap:body use='encoded'\n" +
3942  " namespace='urn:MultiRefTest2'\n" +
3943  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
3944  " </input>\n" +
3945  " <output>\n" +
3946  " <soap:body use='encoded'\n" +
3947  " namespace='urn:MultiRefTest2'\n" +
3948  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
3949  " </output>\n" +
3950  " </operation>\n" +
3951  " </binding>\n" +
3952  "\n" +
3953  " <!-- service decln -->\n" +
3954  " <service name='MultiRefTestService'>\n" +
3955  " <port name='MultiRefTest' binding='tns:MultiRefTestSOAPBinding'>\n" +
3956  " <soap:address location='http://localhost:8080/axis/services/MultiRefTest'/>\n" +
3957  " </port>\n" +
3958  " </service>\n" +
3959  "\n" +
3960  "</definitions>\n";
3961
3962  public void testMultiRefTest() throws Exception JavaDoc {
3963    parseString(multiRefTest, "MultiRefTest.wsdl");
3964  }
3965
3966  private static final String JavaDoc header =
3967  "<?xml version='1.0' encoding='utf-8'?>\n" +
3968  "\n" +
3969  "<wsdl:definitions \n" +
3970  " xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' \n" +
3971  " xmlns:xsd='http://www.w3.org/2001/XMLSchema' \n" +
3972  " xmlns:tns='urn:header.wsdl.test' \n" +
3973  " targetNamespace='urn:header.wsdl.test' \n" +
3974  " xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'>\n" +
3975  "\n" +
3976  " <wsdl:types>\n" +
3977  " <xsd:schema>\n" +
3978  "\n" +
3979  " <xsd:element name='Header' type='tns:HeaderType'/>\n" +
3980  " <xsd:complexType name='HeaderType'>\n" +
3981  " <xsd:all>\n" +
3982  " <element name='e1' type='xsd:string'/>\n" +
3983  " </xsd:all>\n" +
3984  " </xsd:complexType>\n" +
3985  "\n" +
3986  " </xsd:schema>\n" +
3987  " </wsdl:types>\n" +
3988  "\n" +
3989  " <wsdl:message name='op1Request'>\n" +
3990  " <wsdl:part name='parm1' type='xsd:int'/>\n" +
3991  " <wsdl:part name='parm2' type='xsd:string'/>\n" +
3992  " <wsdl:part name='header' element='tns:Header'/>\n" +
3993  " </wsdl:message>\n" +
3994  "\n" +
3995  " <wsdl:message name='op1Response'>\n" +
3996  "<!--\n" +
3997  " <wsdl:part name='header' element='tns:Header'/>\n" +
3998  "-->\n" +
3999  " <wsdl:part name='return' type='xsd:float'/>\n" +
4000  " </wsdl:message>\n" +
4001  "\n" +
4002  " <wsdl:message name='op1Fault'>\n" +
4003  " <wsdl:part name='message' type='xsd:string'/>\n" +
4004  " </wsdl:message>\n" +
4005  "\n" +
4006  " <wsdl:message name='op2Request'>\n" +
4007  " <wsdl:part name='parm' type='xsd:int'/>\n" +
4008  " <wsdl:part name='header' element='tns:Header'/>\n" +
4009  " </wsdl:message>\n" +
4010  "\n" +
4011  " <wsdl:message name='op2Response'/>\n" +
4012  "\n" +
4013  " <wsdl:message name='implicitFault'>\n" +
4014  " <wsdl:part name='message' type='xsd:string'/>\n" +
4015  " </wsdl:message>\n" +
4016  "\n" +
4017  " <wsdl:portType name='PortType'>\n" +
4018  " <wsdl:operation name='op1'>\n" +
4019  " <wsdl:input message='tns:op1Request'/>\n" +
4020  " <wsdl:output message='tns:op1Response'/>\n" +
4021  " <wsdl:fault name='op1Fault' message='tns:op1Fault'/>\n" +
4022  " </wsdl:operation>\n" +
4023  " <wsdl:operation name='op2'>\n" +
4024  " <wsdl:input message='tns:op2Request'/>\n" +
4025  " <wsdl:output message='tns:op2Response'/>\n" +
4026  " </wsdl:operation>\n" +
4027  " </wsdl:portType>\n" +
4028  "\n" +
4029  " <wsdl:binding name='Binding' type='tns:PortType'>\n" +
4030  " <soap:binding transport='http://schemas.xmlsoap.org/soap/http' style='rpc'/>\n" +
4031  " <wsdl:operation name='op1'>\n" +
4032  " <soap:operation/>\n" +
4033  " <wsdl:input>\n" +
4034  " <soap:body use='literal'\n" +
4035  " namespace='urn:header.wsdl.test'\n" +
4036  " parts='parm2'/>\n" +
4037  " <soap:header message='tns:op1Request'\n" +
4038  " part='parm1'\n" +
4039  " use='literal'\n" +
4040  " namespace='urn:header.wsdl.test'>\n" +
4041  " <soap:headerfault message='tns:op1Fault'\n" +
4042  " part='message'\n" +
4043  " use='literal' \n" +
4044  " namespace='urn:header.wsdl.test'/>\n" +
4045  " </soap:header>\n" +
4046  " <soap:header message='tns:op1Request'\n" +
4047  " part='header'\n" +
4048  " use='literal'\n" +
4049  " namespace='urn:header.wsdl.test'>\n" +
4050  " <soap:headerfault message='tns:op1Fault'\n" +
4051  " part='message'\n" +
4052  " use='literal' \n" +
4053  " namespace='urn:header.wsdl.test'/>\n" +
4054  " </soap:header>\n" +
4055  " </wsdl:input>\n" +
4056  " <wsdl:output>\n" +
4057  "<!--\n" +
4058  " <soap:body use='literal'\n" +
4059  " parts='header'\n" +
4060  " namespace='urn:header.wsdl.test'/>\n" +
4061  "-->\n" +
4062  " <soap:header message='tns:op1Response'\n" +
4063  " part='return'\n" +
4064  " use='literal'\n" +
4065  " namespace='urn:header.wsdl.test'>\n" +
4066  " </soap:header>\n" +
4067  " </wsdl:output>\n" +
4068  " </wsdl:operation>\n" +
4069  " <wsdl:operation name='op2'>\n" +
4070  " <soap:operation/>\n" +
4071  " <wsdl:input>\n" +
4072  " <soap:body use='literal'\n" +
4073  " namespace='urn:header.wsdl.test'\n" +
4074  " parts='parm'/>\n" +
4075  " <soap:header message='tns:op2Request'\n" +
4076  " part='header'\n" +
4077  " use='literal'\n" +
4078  " namespace='urn:header.wsdl.test'>\n" +
4079  " <soap:headerfault message='tns:implicitFault'\n" +
4080  " part='message'\n" +
4081  " use='literal' \n" +
4082  " namespace='urn:header.wsdl.test'/>\n" +
4083  " </soap:header>\n" +
4084  " </wsdl:input>\n" +
4085  " <wsdl:output>\n" +
4086  " <soap:body use='literal'\n" +
4087  " namespace='urn:header.wsdl.test'/>\n" +
4088  " </wsdl:output>\n" +
4089  " </wsdl:operation>\n" +
4090  " </wsdl:binding>\n" +
4091  "\n" +
4092  " <wsdl:service name='HeaderService'>\n" +
4093  " <wsdl:port name='header' binding='tns:Binding'>\n" +
4094  " <soap:address location='http://localhost:8080/axis/services/header'/>\n" +
4095  " </wsdl:port>\n" +
4096  " </wsdl:service>\n" +
4097  "\n" +
4098  "</wsdl:definitions>\n";
4099
4100  public void testHeader() throws Exception JavaDoc {
4101    parseString(header, "header.wsdl");
4102  }
4103
4104  private static final String JavaDoc dimeRpc =
4105  "<?xml version='1.0' encoding='utf-8'?>\n" +
4106  "<wsdl:definitions name='SOAPBuilders' xmlns='http://soapinterop.org/attachments/wsdl' xmlns:types='http://soapinterop.org/attachments/xsd' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/' xmlns:soap-enc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:dime='http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/' xmlns:content='http://schemas.xmlsoap.org/ws/2002/04/content-type/' targetNamespace='http://soapinterop.org/attachments/wsdl'>\n" +
4107  " <wsdl:types>\n" +
4108  " <schema xmlns='http://www.w3.org/2001/XMLSchema' targetNamespace='http://soapinterop.org/attachments/xsd'>\n" +
4109  " <!-- <import namespace='http://schemas.xmlsoap.org/soap/encoding/' schemaLocation='http://schemas.xmlsoap.org/soap/encoding/' /> -->\n" +
4110  " <import namespace='http://schemas.xmlsoap.org/ws/2002/04/content-type/'/>\n" +
4111  " <import namespace='http://schemas.xmlsoap.org/ws/2002/04/reference/'/>\n" +
4112  " <complexType name='ReferencedBinary'>\n" +
4113  " <simpleContent>\n" +
4114  " <restriction base='soap-enc:base64Binary'>\n" +
4115  " <annotation>\n" +
4116  " <appinfo>\n" +
4117  " <content:mediaType value='application/octetstream'/>\n" +
4118  " </appinfo>\n" +
4119  " </annotation>\n" +
4120  " <attributeGroup ref='soap-enc:commonAttributes'/>\n" +
4121  " </restriction>\n" +
4122  " </simpleContent>\n" +
4123  " </complexType>\n" +
4124  " <complexType name='ArrayOfBinary'>\n" +
4125  " <complexContent>\n" +
4126  " <restriction base='soap-enc:Array'>\n" +
4127  " <attribute ref='soap-enc:arrayType' wsdl:arrayType='types:ReferencedBinary[]'/>\n" +
4128  " </restriction>\n" +
4129  " </complexContent>\n" +
4130  " </complexType>\n" +
4131  " <complexType name='ReferencedText'>\n" +
4132  " <simpleContent>\n" +
4133  " <restriction base='soap-enc:base64Binary'>\n" +
4134  " <annotation>\n" +
4135  " <appinfo>\n" +
4136  " <content:mediaType value='text/plain'/>\n" +
4137  " </appinfo>\n" +
4138  " </annotation>\n" +
4139  " <attributeGroup ref='soap-enc:commonAttributes'/>\n" +
4140  " </restriction>\n" +
4141  " </simpleContent>\n" +
4142  " </complexType>\n" +
4143  " </schema>\n" +
4144  " </wsdl:types>\n" +
4145  " <wsdl:message name='EchoAttachmentIn'>\n" +
4146  " <wsdl:part name='In' type='types:ReferencedBinary'/>\n" +
4147  " </wsdl:message>\n" +
4148  " <wsdl:message name='EchoAttachmentOut'>\n" +
4149  " <wsdl:part name='Out' type='types:ReferencedBinary'/>\n" +
4150  " </wsdl:message>\n" +
4151  " <wsdl:message name='EchoAttachmentsIn'>\n" +
4152  " <wsdl:part name='In' type='types:ArrayOfBinary'/>\n" +
4153  " </wsdl:message>\n" +
4154  " <wsdl:message name='EchoAttachmentsOut'>\n" +
4155  " <wsdl:part name='Out' type='types:ArrayOfBinary'/>\n" +
4156  " </wsdl:message>\n" +
4157  " <wsdl:message name='EchoAttachmentAsBase64In'>\n" +
4158  " <wsdl:part name='In' type='types:ReferencedBinary'/>\n" +
4159  " </wsdl:message>\n" +
4160  " <wsdl:message name='EchoAttachmentAsBase64Out'>\n" +
4161  " <wsdl:part name='Out' type='xsd:base64Binary'/>\n" +
4162  " </wsdl:message>\n" +
4163  " <wsdl:message name='EchoBase64AsAttachmentIn'>\n" +
4164  " <wsdl:part name='In' type='xsd:base64Binary'/>\n" +
4165  " </wsdl:message>\n" +
4166  " <wsdl:message name='EchoBase64AsAttachmentOut'>\n" +
4167  " <wsdl:part name='Out' type='types:ReferencedBinary'/>\n" +
4168  " </wsdl:message>\n" +
4169  " <wsdl:message name='EchoUnrefAttachmentsIn' />\n" +
4170  " <wsdl:message name='EchoUnrefAttachmentsOut' />\n" +
4171  " <wsdl:message name='EchoAttachmentAsStringIn'>\n" +
4172  " <wsdl:part name='In' type='types:ReferencedText'/>\n" +
4173  " </wsdl:message>\n" +
4174  " <wsdl:message name='EchoAttachmentAsStringOut'>\n" +
4175  " <wsdl:part name='Out' type='xsd:string'/>\n" +
4176  " </wsdl:message>\n" +
4177  " \n" +
4178  " <wsdl:portType name='AttachmentsPortType'>\n" +
4179  " <wsdl:operation name='EchoAttachment'>\n" +
4180  " <wsdl:input name='EchoAttachmentInput' message='EchoAttachmentIn'/>\n" +
4181  " <wsdl:output name='EchoAttachmentOutput' message='EchoAttachmentOut'/>\n" +
4182  " </wsdl:operation>\n" +
4183  " <wsdl:operation name='EchoAttachments'>\n" +
4184  " <wsdl:input name='EchoAttachmentsInput' message='EchoAttachmentsIn'/>\n" +
4185  " <wsdl:output name='EchoAttachmentsOutput' message='EchoAttachmentsOut'/>\n" +
4186  " </wsdl:operation>\n" +
4187  " <wsdl:operation name='EchoAttachmentAsBase64'>\n" +
4188  " <wsdl:input name='EchoAttachmentAsBase64Input' message='EchoAttachmentAsBase64In'/>\n" +
4189  " <wsdl:output name='EchoAttachmentAsBase64Output' message='EchoAttachmentAsBase64Out'/>\n" +
4190  " </wsdl:operation>\n" +
4191  " <wsdl:operation name='EchoBase64AsAttachment'>\n" +
4192  " <wsdl:input name='EchoBase64AsAttachmentInput' message='EchoBase64AsAttachmentIn'/>\n" +
4193  " <wsdl:output name='EchoBase64AsAttachmentOutput' message='EchoBase64AsAttachmentOut'/>\n" +
4194  " </wsdl:operation>\n" +
4195  " <wsdl:operation name='EchoUnrefAttachments'>\n" +
4196  " <wsdl:input name='EchoUnrefAttachmentsInput' message='EchoUnrefAttachmentsIn'/>\n" +
4197  " <wsdl:output name='EchoUnrefAttachmentsOutput' message='EchoUnrefAttachmentsOut'/>\n" +
4198  " </wsdl:operation>\n" +
4199  " <wsdl:operation name='EchoAttachmentAsString'>\n" +
4200  " <wsdl:input name='EchoAttachmentAsStringInput' message='EchoAttachmentAsStringIn'/>\n" +
4201  " <wsdl:output name='EchoAttachmentAsStringOutput' message='EchoAttachmentAsStringOut'/>\n" +
4202  " </wsdl:operation>\n" +
4203  " </wsdl:portType>\n" +
4204  " <wsdl:binding name='AttachmentsBinding' type='AttachmentsPortType'>\n" +
4205  " <soap:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http'/>\n" +
4206  " <wsdl:operation name='EchoAttachment'>\n" +
4207  " <soap:operation style='rpc' soapAction='http://soapinterop.org/attachments/'/>\n" +
4208  " <wsdl:input name='EchoAttachmentInput'>\n" +
4209  " <dime:message layout='http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout' wsdl:required='true'/>\n" +
4210  " <soap:body use='encoded' namespace='http://soapinterop.org/attachments/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
4211  " </wsdl:input>\n" +
4212  " <wsdl:output name='EchoAttachmentOutput'>\n" +
4213  " <dime:message layout='http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout' wsdl:required='true'/>\n" +
4214  " <soap:body use='encoded' namespace='http://soapinterop.org/attachments/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
4215  " </wsdl:output>\n" +
4216  " </wsdl:operation>\n" +
4217  " <wsdl:operation name='EchoAttachments'>\n" +
4218  " <soap:operation style='rpc' soapAction='http://soapinterop.org/attachments/'/>\n" +
4219  " <wsdl:input name='EchoAttachmentsInput'>\n" +
4220  " <dime:message layout='http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout' wsdl:required='true'/>\n" +
4221  " <soap:body use='encoded' namespace='http://soapinterop.org/attachments/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
4222  " </wsdl:input>\n" +
4223  " <wsdl:output name='EchoAttachmentsOutput'>\n" +
4224  " <dime:message layout='http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout' wsdl:required='true'/>\n" +
4225  " <soap:body use='encoded' namespace='http://soapinterop.org/attachments/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
4226  " </wsdl:output>\n" +
4227  " </wsdl:operation>\n" +
4228  " <wsdl:operation name='EchoAttachmentAsBase64'>\n" +
4229  " <soap:operation style='rpc' soapAction='http://soapinterop.org/attachments/'/>\n" +
4230  " <wsdl:input name='EchoAttachmentAsBase64Input'>\n" +
4231  " <dime:message layout='http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout' wsdl:required='true'/>\n" +
4232  " <soap:body use='encoded' namespace='http://soapinterop.org/attachments/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
4233  " </wsdl:input>\n" +
4234  " <wsdl:output name='EchoAttachmentAsBase64Output'>\n" +
4235  " <soap:body use='encoded' namespace='http://soapinterop.org/attachments/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
4236  " </wsdl:output>\n" +
4237  " </wsdl:operation>\n" +
4238  " <wsdl:operation name='EchoBase64AsAttachment'>\n" +
4239  " <soap:operation style='rpc' soapAction='http://soapinterop.org/attachments/'/>\n" +
4240  " <wsdl:input name='EchoBase64AsAttachmentInput'>\n" +
4241  " <soap:body use='encoded' namespace='http://soapinterop.org/attachments/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
4242  " </wsdl:input>\n" +
4243  " <wsdl:output name='EchoBase64AsAttachmentOutput'>\n" +
4244  " <dime:message layout='http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout' wsdl:required='true'/>\n" +
4245  " <soap:body use='encoded' namespace='http://soapinterop.org/attachments/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
4246  " </wsdl:output>\n" +
4247  " </wsdl:operation>\n" +
4248  " <wsdl:operation name='EchoUnrefAttachments'>\n" +
4249  " <soap:operation style='rpc' soapAction='http://soapinterop.org/attachments/'/>\n" +
4250  " <wsdl:input name='EchoUnrefAttachmentsInput'>\n" +
4251  " <dime:message layout='http://schemas.xmlsoap.org/ws/2002/04/dime/open-layout' wsdl:required='true'/>\n" +
4252  " <soap:body use='encoded' namespace='http://soapinterop.org/attachments/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
4253  " </wsdl:input>\n" +
4254  " <wsdl:output name='EchoUnrefAttachmentsOutput'>\n" +
4255  " <dime:message layout='http://schemas.xmlsoap.org/ws/2002/04/dime/open-layout' wsdl:required='true'/>\n" +
4256  " <soap:body use='encoded' namespace='http://soapinterop.org/attachments/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
4257  " </wsdl:output>\n" +
4258  " </wsdl:operation>\n" +
4259  " <wsdl:operation name='EchoAttachmentAsString'>\n" +
4260  " <soap:operation style='rpc' soapAction='http://soapinterop.org/attachments/'/>\n" +
4261  " <wsdl:input name='EchoAttachmentAsStringInput'>\n" +
4262  " <dime:message layout='http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout' wsdl:required='true'/>\n" +
4263  " <soap:body use='encoded' namespace='http://soapinterop.org/attachments/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
4264  " </wsdl:input>\n" +
4265  " <wsdl:output name='EchoAttachmentAsStringOutput'>\n" +
4266  " <soap:body use='encoded' namespace='http://soapinterop.org/attachments/' encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
4267  " </wsdl:output>\n" +
4268  " </wsdl:operation>\n" +
4269  " </wsdl:binding>\n" +
4270  " <wsdl:service name='DimeRPCInterop'>\n" +
4271  " <wsdl:port name='DimeRPCSoapPort' binding='AttachmentsBinding'>\n" +
4272  " <soap:address location='http://localhost:8080/axis/services/DimeRPCSoapPort'/>\n" +
4273  " </wsdl:port>\n" +
4274  " </wsdl:service>\n" +
4275  "</wsdl:definitions>\n";
4276
4277  public void testDimeRpc() throws Exception JavaDoc {
4278    parseString(dimeRpc, "dime-rpc.wsdl");
4279  }
4280
4281  private static final String JavaDoc dimeDoc =
4282  "<?xml version='1.0' encoding='utf-8'?>\n" +
4283  "<wsdl:definitions name='SOAPBuilders' xmlns='http://soapinterop.org/attachments/wsdl' xmlns:types='http://soapinterop.org/attachments/xsd' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/' xmlns:dime='http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/' xmlns:content='http://schemas.xmlsoap.org/ws/2002/04/content-type/' xmlns:ref='http://schemas.xmlsoap.org/ws/2002/04/reference/' targetNamespace='http://soapinterop.org/attachments/wsdl'>\n" +
4284  " <wsdl:types>\n" +
4285  " <schema xmlns='http://www.w3.org/2001/XMLSchema' targetNamespace='http://soapinterop.org/attachments/xsd' elementFormDefault='qualified' attributeFormDefault='qualified'>\n" +
4286  " <import namespace='http://schemas.xmlsoap.org/ws/2002/04/reference/'/>\n" +
4287  " <import namespace='http://schemas.xmlsoap.org/ws/2002/04/content-type/'/>\n" +
4288  " <complexType name='ReferencedBinary'>\n" +
4289  " <simpleContent>\n" +
4290  " <restriction base='xsd:base64Binary'>\n" +
4291  " <annotation>\n" +
4292  " <appinfo>\n" +
4293  " <content:mediaType value='application/octetstream'/>\n" +
4294  " </appinfo>\n" +
4295  " </annotation>\n" +
4296  " <attribute ref='ref:location' use='optional'/>\n" +
4297  " </restriction>\n" +
4298  " </simpleContent>\n" +
4299  " </complexType>\n" +
4300  " <complexType name='ReferencedText'>\n" +
4301  " <simpleContent>\n" +
4302  " <restriction base='xsd:base64Binary'>\n" +
4303  " <annotation>\n" +
4304  " <appinfo>\n" +
4305  " <content:mediaType value='text/plain'/>\n" +
4306  " </appinfo>\n" +
4307  " </annotation>\n" +
4308  " <attribute ref='ref:location' use='optional'/>\n" +
4309  " </restriction>\n" +
4310  " </simpleContent>\n" +
4311  " </complexType>\n" +
4312  " <element name='EchoAttachment' type='types:EchoAttachment'/>\n" +
4313  " <element name='EchoAttachmentResponse' type='types:EchoAttachmentResponse'/>\n" +
4314  " <complexType name='EchoAttachment'>\n" +
4315  " <sequence>\n" +
4316  " <element name='In' type='types:ReferencedBinary'/>\n" +
4317  " </sequence>\n" +
4318  " </complexType>\n" +
4319  " <complexType name='EchoAttachmentResponse'>\n" +
4320  " <sequence>\n" +
4321  " <element name='Out' type='types:ReferencedBinary'/>\n" +
4322  " </sequence>\n" +
4323  " </complexType>\n" +
4324  " <element name='EchoAttachments' type='types:Attachments'/>\n" +
4325  " <element name='EchoAttachmentsResponse' type='types:Attachments'/>\n" +
4326  " <complexType name='Attachments'>\n" +
4327  " <sequence>\n" +
4328  " <element name='Item' minOccurs='0' maxOccurs='unbounded' type='types:ReferencedBinary'/>\n" +
4329  " </sequence>\n" +
4330  " </complexType>\n" +
4331  " <element name='EchoAttachmentAsBase64' type='types:EchoAttachment'/>\n" +
4332  " <element name='EchoAttachmentAsBase64Response' type='types:base64Out'/>\n" +
4333  " <element name='EchoBase64AsAttachment' type='types:base64In'/>\n" +
4334  " <element name='EchoBase64AsAttachmentResponse' type='types:EchoAttachmentResponse'/>\n" +
4335  " <complexType name='base64In'>\n" +
4336  " <sequence>\n" +
4337  " <element name='In' type='xsd:base64Binary'/>\n" +
4338  " </sequence>\n" +
4339  " </complexType>\n" +
4340  " <complexType name='base64Out'>\n" +
4341  " <sequence>\n" +
4342  " <element name='Out' type='xsd:base64Binary'/>\n" +
4343  " </sequence>\n" +
4344  " </complexType>\n" +
4345  " <element name='EchoUnrefAttachments' type='types:emptyType'/>\n" +
4346  " <element name='EchoUnrefAttachmentsResponse' type='types:emptyType'/>\n" +
4347  " <complexType name='emptyType'>\n" +
4348  " <sequence/>\n" +
4349  " </complexType>\n" +
4350  " <element name='EchoAttachmentAsString' type='types:EchoAttachmentAsString'/>\n" +
4351  " <element name='EchoAttachmentAsStringResponse' type='types:EchoAttachmentAsStringResponse'/>\n" +
4352  " <complexType name='EchoAttachmentAsString'>\n" +
4353  " <sequence>\n" +
4354  " <element name='In' type='types:ReferencedText'/>\n" +
4355  " </sequence>\n" +
4356  " </complexType>\n" +
4357  " <complexType name='EchoAttachmentAsStringResponse'>\n" +
4358  " <sequence>\n" +
4359  " <element name='Out' type='xsd:string'/>\n" +
4360  " </sequence>\n" +
4361  " </complexType>\n" +
4362  " </schema>\n" +
4363  " </wsdl:types>\n" +
4364  " <wsdl:message name='EchoAttachmentIn'>\n" +
4365  " <wsdl:part name='In' element='types:EchoAttachment'/>\n" +
4366  " </wsdl:message>\n" +
4367  " <wsdl:message name='EchoAttachmentOut'>\n" +
4368  " <wsdl:part name='Out' element='types:EchoAttachmentResponse'/>\n" +
4369  " </wsdl:message>\n" +
4370  " <wsdl:message name='EchoAttachmentsIn'>\n" +
4371  " <wsdl:part name='In' element='types:EchoAttachments'/>\n" +
4372  " </wsdl:message>\n" +
4373  " <wsdl:message name='EchoAttachmentsOut'>\n" +
4374  " <wsdl:part name='Out' element='types:EchoAttachmentsResponse'/>\n" +
4375  " </wsdl:message>\n" +
4376  " <wsdl:message name='EchoAttachmentAsBase64In'>\n" +
4377  " <wsdl:part name='In' element='types:EchoAttachmentAsBase64'/>\n" +
4378  " </wsdl:message>\n" +
4379  " <wsdl:message name='EchoAttachmentAsBase64Out'>\n" +
4380  " <wsdl:part name='Out' element='types:EchoAttachmentAsBase64Response'/>\n" +
4381  " </wsdl:message>\n" +
4382  " <wsdl:message name='EchoBase64AsAttachmentIn'>\n" +
4383  " <wsdl:part name='In' element='types:EchoBase64AsAttachment'/>\n" +
4384  " </wsdl:message>\n" +
4385  " <wsdl:message name='EchoBase64AsAttachmentOut'>\n" +
4386  " <wsdl:part name='Out' element='types:EchoBase64AsAttachmentResponse'/>\n" +
4387  " </wsdl:message>\n" +
4388  " <wsdl:message name='EchoUnrefAttachmentsIn'>\n" +
4389  " <wsdl:part name='In' element='types:EchoUnrefAttachments'/>\n" +
4390  " </wsdl:message>\n" +
4391  " <wsdl:message name='EchoUnrefAttachmentsOut'>\n" +
4392  " <wsdl:part name='Out' element='types:EchoUnrefAttachmentsResponse'/>\n" +
4393  " </wsdl:message>\n" +
4394  " <wsdl:message name='EchoAttachmentAsStringIn'>\n" +
4395  " <wsdl:part name='In' element='types:EchoAttachmentAsString'/>\n" +
4396  " </wsdl:message>\n" +
4397  " <wsdl:message name='EchoAttachmentAsStringOut'>\n" +
4398  " <wsdl:part name='Out' element='types:EchoAttachmentAsStringResponse'/>\n" +
4399  " </wsdl:message>\n" +
4400  " <wsdl:portType name='AttachmentsPortType'>\n" +
4401  " <wsdl:operation name='EchoAttachment'>\n" +
4402  " <wsdl:input name='EchoAttachmentInput' message='EchoAttachmentIn'/>\n" +
4403  " <wsdl:output name='EchoAttachmentOutput' message='EchoAttachmentOut'/>\n" +
4404  " </wsdl:operation>\n" +
4405  " <wsdl:operation name='EchoAttachments'>\n" +
4406  " <wsdl:input name='EchoAttachmentsInput' message='EchoAttachmentsIn'/>\n" +
4407  " <wsdl:output name='EchoAttachmentsOutput' message='EchoAttachmentsOut'/>\n" +
4408  " </wsdl:operation>\n" +
4409  " <wsdl:operation name='EchoAttachmentAsBase64'>\n" +
4410  " <wsdl:input name='EchoAttachmentAsBase64Input' message='EchoAttachmentAsBase64In'/>\n" +
4411  " <wsdl:output name='EchoAttachmentAsBase64Output' message='EchoAttachmentAsBase64Out'/>\n" +
4412  " </wsdl:operation>\n" +
4413  " <wsdl:operation name='EchoBase64AsAttachment'>\n" +
4414  " <wsdl:input name='EchoBase64AsAttachmentInput' message='EchoBase64AsAttachmentIn'/>\n" +
4415  " <wsdl:output name='EchoBase64AsAttachmentOutput' message='EchoBase64AsAttachmentOut'/>\n" +
4416  " </wsdl:operation>\n" +
4417  " <wsdl:operation name='EchoUnrefAttachments'>\n" +
4418  " <wsdl:input name='EchoUnrefAttachmentsInput' message='EchoUnrefAttachmentsIn'/>\n" +
4419  " <wsdl:output name='EchoUnrefAttachmentsOutput' message='EchoUnrefAttachmentsOut'/>\n" +
4420  " </wsdl:operation>\n" +
4421  " <wsdl:operation name='EchoAttachmentAsString'>\n" +
4422  " <wsdl:input name='EchoAttachmentAsStringInput' message='EchoAttachmentAsStringIn'/>\n" +
4423  " <wsdl:output name='EchoAttachmentAsStringOutput' message='EchoAttachmentAsStringOut'/>\n" +
4424  " </wsdl:operation>\n" +
4425  " </wsdl:portType>\n" +
4426  " <wsdl:binding name='AttachmentsBinding' type='AttachmentsPortType'>\n" +
4427  " <soap:binding style='document' transport='http://schemas.xmlsoap.org/soap/http'/>\n" +
4428  " <wsdl:operation name='EchoAttachment'>\n" +
4429  " <soap:operation soapAction='http://soapinterop.org/attachments/'/>\n" +
4430  " <wsdl:input name='EchoAttachmentInput'>\n" +
4431  " <dime:message layout='http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout' wsdl:required='true'/>\n" +
4432  " <soap:body use='literal'/>\n" +
4433  " </wsdl:input>\n" +
4434  " <wsdl:output name='EchoAttachmentOutput'>\n" +
4435  " <dime:message layout='http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout' wsdl:required='true'/>\n" +
4436  " <soap:body use='literal'/>\n" +
4437  " </wsdl:output>\n" +
4438  " </wsdl:operation>\n" +
4439  " <wsdl:operation name='EchoAttachments'>\n" +
4440  " <soap:operation soapAction='http://soapinterop.org/attachments/'/>\n" +
4441  " <wsdl:input name='EchoAttachmentsInput'>\n" +
4442  " <dime:message layout='http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout' wsdl:required='true'/>\n" +
4443  " <soap:body use='literal'/>\n" +
4444  " </wsdl:input>\n" +
4445  " <wsdl:output name='EchoAttachmentsOutput'>\n" +
4446  " <dime:message layout='http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout' wsdl:required='true'/>\n" +
4447  " <soap:body use='literal'/>\n" +
4448  " </wsdl:output>\n" +
4449  " </wsdl:operation>\n" +
4450  " <wsdl:operation name='EchoAttachmentAsBase64'>\n" +
4451  " <soap:operation soapAction='http://soapinterop.org/attachments/'/>\n" +
4452  " <wsdl:input name='EchoAttachmentAsBase64Input'>\n" +
4453  " <dime:message layout='http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout' wsdl:required='true'/>\n" +
4454  " <soap:body use='literal'/>\n" +
4455  " </wsdl:input>\n" +
4456  " <wsdl:output name='EchoAttachmentAsBase64Output'>\n" +
4457  " <soap:body use='literal'/>\n" +
4458  " </wsdl:output>\n" +
4459  " </wsdl:operation>\n" +
4460  " <wsdl:operation name='EchoBase64AsAttachment'>\n" +
4461  " <soap:operation soapAction='http://soapinterop.org/attachments/'/>\n" +
4462  " <wsdl:input name='EchoBase64AsAttachmentInput'>\n" +
4463  " <soap:body use='literal'/>\n" +
4464  " </wsdl:input>\n" +
4465  " <wsdl:output name='EchoBase64AsAttachmentOutput'>\n" +
4466  " <dime:message layout='http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout' wsdl:required='true'/>\n" +
4467  " <soap:body use='literal'/>\n" +
4468  " </wsdl:output>\n" +
4469  " </wsdl:operation>\n" +
4470  " <wsdl:operation name='EchoUnrefAttachments'>\n" +
4471  " <soap:operation soapAction='http://soapinterop.org/attachments/'/>\n" +
4472  " <wsdl:input name='EchoUnrefAttachmentsInput'>\n" +
4473  " <dime:message layout='http://schemas.xmlsoap.org/ws/2002/04/dime/open-layout' wsdl:required='true'/>\n" +
4474  " <soap:body use='literal'/>\n" +
4475  " </wsdl:input>\n" +
4476  " <wsdl:output name='EchoUnrefAttachmentsOutput'>\n" +
4477  " <dime:message layout='http://schemas.xmlsoap.org/ws/2002/04/dime/open-layout' wsdl:required='true'/>\n" +
4478  " <soap:body use='literal'/>\n" +
4479  " </wsdl:output>\n" +
4480  " </wsdl:operation>\n" +
4481  " <wsdl:operation name='EchoAttachmentAsString'>\n" +
4482  " <soap:operation soapAction='http://soapinterop.org/attachments/'/>\n" +
4483  " <wsdl:input name='EchoAttachmentAsStringInput'>\n" +
4484  " <dime:message layout='http://schemas.xmlsoap.org/ws/2002/04/dime/closed-layout' wsdl:required='true'/>\n" +
4485  " <soap:body use='literal'/>\n" +
4486  " </wsdl:input>\n" +
4487  " <wsdl:output name='EchoAttachmentAsStringOutput'>\n" +
4488  " <soap:body use='literal'/>\n" +
4489  " </wsdl:output>\n" +
4490  " </wsdl:operation>\n" +
4491  " </wsdl:binding>\n" +
4492  " <wsdl:service name='DimeDOCInterop'>\n" +
4493  " <wsdl:port name='DimeDOCSoapPort' binding='AttachmentsBinding'>\n" +
4494  " <soap:address location='http://localhost:8080/axis/services/DimeDOCSoapPort'/>\n" +
4495  " </wsdl:port>\n" +
4496  " </wsdl:service>\n" +
4497  "</wsdl:definitions>\n";
4498
4499  public void testDimeDoc() throws Exception JavaDoc {
4500    parseString(dimeDoc, "dime-doc.wsdl");
4501  }
4502
4503  private final static String JavaDoc comprehensiveTypes1 =
4504  "<?xml version='1.0' ?>\n" +
4505  "\n" +
4506  "<definitions \n" +
4507  " name='comprehensive types test'\n" +
4508  " targetNamespace='urn:comprehensive-service.types.wsdl.test'\n" +
4509  " xmlns:tns='urn:comprehensive-service.types.wsdl.test'\n" +
4510  " xmlns:typens='urn:comprehensive-types.types.wsdl.test'\n" +
4511  " xmlns:typens2='urn:comprehensive-types2.types.wsdl.test'\n" +
4512  " xmlns:xsd='http://www.w3.org/2001/XMLSchema'\n" +
4513  " xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'\n" +
4514  " xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/'\n" +
4515  " xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'\n" +
4516  " xmlns='http://schemas.xmlsoap.org/wsdl/'>\n" +
4517  "\n" +
4518  " <!-- type defs -->\n" +
4519  " <types>\n" +
4520  " <xsd:schema \n" +
4521  " targetNamespace='urn:comprehensive-types.types.wsdl.test'\n" +
4522  " xmlns:xsd='http://www.w3.org/1999/XMLSchema'\n" +
4523  " xmlns:xsd2='http://www.w3.org/2001/XMLSchema'>\n" +
4524  "\n" +
4525  " <xsd:simpleType name='simple'>\n" +
4526  " <xsd:restriction base='xsd:string' />\n" +
4527  " </xsd:simpleType>\n" +
4528  " \n" +
4529  " <xsd:simpleType name='simpleDate'>\n" +
4530  " <xsd:restriction base='xsd:date' />\n" +
4531  " </xsd:simpleType>\n" +
4532  "\n" +
4533  " <xsd:simpleType name='simpleDateTime'>\n" +
4534  " <xsd:restriction base='xsd2:dateTime' />\n" +
4535  " </xsd:simpleType>\n" +
4536  " \n" +
4537  " <xsd:simpleType name='enum'>\n" +
4538  " <xsd:restriction base='xsd:string'>\n" +
4539  " <xsd:enumeration value='one'/> \n" +
4540  " <xsd:enumeration value='two'/> \n" +
4541  " <xsd:enumeration value='three'/> \n" +
4542  " </xsd:restriction>\n" +
4543  " </xsd:simpleType>\n" +
4544  "\n" +
4545  " <xsd:complexType name='array'>\n" +
4546  " <xsd:complexContent>\n" +
4547  " <xsd:restriction base='soapenc:Array'>\n" +
4548  " <xsd:attribute ref='soapenc:arrayType' wsdl:arrayType='xsd:string[]'/>\n" +
4549  " </xsd:restriction>\n" +
4550  " </xsd:complexContent>\n" +
4551  " </xsd:complexType>\n" +
4552  "\n" +
4553  " <xsd:complexType name='array_of_base64'>\n" +
4554  " <xsd:complexContent>\n" +
4555  " <xsd:restriction base='soapenc:Array'>\n" +
4556  " <xsd:attribute ref='soapenc:arrayType' wsdl:arrayType='xsd:base64Binary[]'/>\n" +
4557  " </xsd:restriction>\n" +
4558  " </xsd:complexContent>\n" +
4559  " </xsd:complexType>\n" +
4560  "\n" +
4561  " <xsd:complexType name='complexAll'>\n" +
4562  " <xsd:all>\n" +
4563  " <xsd:element name='areaCode' type='xsd:int'/>\n" +
4564  " <xsd:element name='exchange' type='xsd:string'/>\n" +
4565  " <xsd:element name='number' type='xsd:string'/>\n" +
4566  " </xsd:all>\n" +
4567  " </xsd:complexType>\n" +
4568  "\n" +
4569  " <xsd:complexType name='complexSequence'>\n" +
4570  " <xsd:sequence>\n" +
4571  " <xsd:element name='areaCode' type='xsd:int'/>\n" +
4572  " <xsd:element name='exchange' type='xsd:string'/>\n" +
4573  " <xsd:element name='number' type='xsd:string'/>\n" +
4574  " </xsd:sequence>\n" +
4575  " </xsd:complexType>\n" +
4576  "\n" +
4577  " <xsd:complexType name='complexChoice'>\n" +
4578  " <xsd:choice>\n" +
4579  " <xsd:element name='choiceA' type='xsd:int'/>\n" +
4580  " <xsd:element name='choiceB' type='xsd:string'/>\n" +
4581  " <xsd:element name='choiceC' type='xsd:string'/>\n" +
4582  " </xsd:choice>\n" +
4583  " </xsd:complexType>\n" +
4584  "\n" +
4585  " <!-- Test proper construction of types with names that match common java.lang classes -->\n" +
4586  " <xsd:complexType name='Object'>\n" +
4587  " <xsd:sequence>\n" +
4588  " <xsd:element name='test' type='xsd:string' />\n" +
4589  " </xsd:sequence>\n" +
4590  " </xsd:complexType>\n" +
4591  " <xsd:complexType name='String'>\n" +
4592  " <xsd:sequence>\n" +
4593  " <xsd:element name='test' type='xsd:string' />\n" +
4594  " </xsd:sequence>\n" +
4595  " </xsd:complexType>\n" +
4596  " <xsd:complexType name='Class'>\n" +
4597  " <xsd:sequence>\n" +
4598  " <xsd:element name='test' type='xsd:string' />\n" +
4599  " </xsd:sequence>\n" +
4600  " </xsd:complexType>\n" +
4601  "\n" +
4602  " <xsd:element name='elemWComplex'>\n" +
4603  " <xsd:complexType>\n" +
4604  " <xsd:all>\n" +
4605  " <xsd:element name='one' type='typens:simple'/> <!-- Ref to a simple type -->\n" +
4606  " <xsd:element name='dateone' type='typens:simpleDate'/>\n" +
4607  " <xsd:element name='datetwo' type='typens:simpleDateTime'/>\n" +
4608  " <xsd:element name='two' type='typens2:fwd'/> <!-- Forward type use to dif namespace -->\n" +
4609  " <xsd:element ref='typens2:three'/> <!-- Forward ref use to a dif namespace -->\n" +
4610  " <xsd:element ref='typens:enumValue' maxOccurs='unbounded' /> <!-- ref & maxOccurs -->\n" +
4611  " <xsd:element name='enum1' type='typens:enumString'/>\n" +
4612  " <xsd:element name='enum2' type='typens:enumInt'/>\n" +
4613  " <xsd:element name='enum3' type='typens:enumLong'/>\n" +
4614  " <xsd:element name='enum4' type='typens:enumFloat'/>\n" +
4615  " <xsd:element name='enum5' type='typens:enumDouble'/>\n" +
4616  " <xsd:element name='enum6' type='typens:enumShort'/>\n" +
4617  " <xsd:element name='enum7' type='typens:enumByte'/>\n" +
4618  " <xsd:element name='enum8' type='typens:enumInteger'/>\n" +
4619  " <xsd:element name='enum9' type='typens:enumNMTOKEN'/>\n" +
4620  " <xsd:element name='soapint' type='soapenc:int'/>\n" +
4621  " <xsd:element name='nested' type='typens2:b'/>\n" +
4622  " <xsd:element name='D_TSENT' type='xsd:string'/> <!-- test strange name -->\n" +
4623  " <xsd:element name='optArray' minOccurs='0' maxOccurs='1' type='typens:array' />\n" +
4624  " <xsd:element name='byteArray' type='typens:array_of_base64' />\n" +
4625  " <xsd:element name='parm' type='typens:StringParameter' />\n" +
4626  "\n" +
4627  " <!-- Test for types that are similarly named to common java lang classes -->\n" +
4628  " <xsd:element name='myObject' type='typens:Object' />\n" +
4629  " <xsd:element name='myString' type='typens:String' />\n" +
4630  " <xsd:element name='myClass' type='typens:Class' />\n" +
4631  "\n" +
4632  " <!-- Test anonymous type with an element that has maxOccurs -->\n" +
4633  " <xsd:element name='logEntry' minOccurs='0' maxOccurs='unbounded'>\n" +
4634  " <xsd:complexType>\n" +
4635  " <xsd:sequence>\n" +
4636  " <xsd:element name='name' type='xsd:string'/>\n" +
4637  " <xsd:element name='value' type='xsd:string'/>\n" +
4638  " </xsd:sequence>\n" +
4639  " </xsd:complexType>\n" +
4640  " </xsd:element>\n" +
4641  " </xsd:all>\n" +
4642  " <xsd:attribute name='attr' type='typens:enum' />\n" +
4643  " <xsd:attribute name='parmAttr' type='typens:StringParameter' />\n" +
4644  " <xsd:attribute name='enumAttr'>\n" +
4645  " <xsd:simpleType>\n" +
4646  " <xsd:restriction base='xsd:string'>\n" +
4647  " <xsd:enumeration value='one'/> \n" +
4648  " <xsd:enumeration value='two'/> \n" +
4649  " <xsd:enumeration value='three'/> \n" +
4650  " </xsd:restriction>\n" +
4651  " </xsd:simpleType>\n" +
4652  " </xsd:attribute>\n" +
4653  " </xsd:complexType>\n" +
4654  " </xsd:element>\n" +
4655  "\n" +
4656  " <xsd:element name='enumValue' type='typens:enum'/>\n" +
4657  "\n" +
4658  " <xsd:complexType name='time'>\n" +
4659  " <xsd:simpleContent>\n" +
4660  " <xsd:extension base='xsd:string'>\n" +
4661  " <xsd:attribute name='DST' type='xsd:boolean' />\n" +
4662  " </xsd:extension>\n" +
4663  " </xsd:simpleContent>\n" +
4664  " </xsd:complexType>\n" +
4665  "\n" +
4666  " <xsd:complexType name='complexWComplex'>\n" +
4667  " <xsd:sequence>\n" +
4668  " <xsd:element name='stock_quote'>\n" +
4669  " <xsd:complexType>\n" +
4670  " <xsd:attribute name='symbol' type='xsd:string'/> \n" +
4671  " <xsd:sequence>\n" +
4672  " <!-- forward simple type ref -->\n" +
4673  " <xsd:element name='time' type='typens:time'/>\n" +
4674  " <xsd:element name='change' type='typens:simpleFwd'/> \n" +
4675  " <xsd:element name='pctchange' type='xsd:string'/>\n" +
4676  " <xsd:element name='bid' type='xsd:string'/>\n" +
4677  " <xsd:element name='ask' type='xsd:string'/>\n" +
4678  " <xsd:element name='choice' type='typens:complexChoice'/>\n" +
4679  " </xsd:sequence>\n" +
4680  " <xsd:attribute name='last' type='xsd:string'/>\n" +
4681  " </xsd:complexType>\n" +
4682  " </xsd:element>\n" +
4683  " <xsd:element name='outside' type='xsd:int'/>\n" +
4684  " </xsd:sequence>\n" +
4685  " </xsd:complexType>\n" +
4686  "\n" +
4687  " <xsd:complexType name='emptyFault'>\n" +
4688  " <xsd:sequence />\n" +
4689  " </xsd:complexType>\n" +
4690  "\n" +
4691  " <xsd:element name='faultElement' type='typens:faultType' />\n" +
4692  " <xsd:complexType name='faultType'>\n" +
4693  " <xsd:sequence>\n" +
4694  " <xsd:element name='userData' type='xsd:string' />\n" +
4695  " </xsd:sequence>\n" +
4696  " </xsd:complexType>\n" +
4697  "\n" +
4698  " <xsd:complexType name='emptyComplexType'>\n" +
4699  " <xsd:sequence />\n" +
4700  " </xsd:complexType>\n" +
4701  "\n" +
4702  " <xsd:simpleType name='simpleFwd'>\n" +
4703  " <xsd:restriction base='typens:simple' />\n" +
4704  " </xsd:simpleType>\n" +
4705  "\n" +
4706  " <!-- The following definitions validate forward refs -->\n" +
4707  " <xsd:complexType name='arrayM'>\n" +
4708  " <xsd:complexContent>\n" +
4709  " <xsd:restriction base='soapenc:Array'>\n" +
4710  " <xsd:attribute ref='soapenc:arrayType' wsdl:arrayType='typens:arrayM2[]'/>\n" +
4711  " </xsd:restriction>\n" +
4712  " </xsd:complexContent>\n" +
4713  " </xsd:complexType>\n" +
4714  " <xsd:complexType name='arrayM2'>\n" +
4715  " <xsd:complexContent>\n" +
4716  " <xsd:restriction base='soapenc:Array'>\n" +
4717  " <xsd:attribute ref='soapenc:arrayType' wsdl:arrayType='typens:arrayM3[]'/>\n" +
4718  " </xsd:restriction>\n" +
4719  " </xsd:complexContent>\n" +
4720  " </xsd:complexType>\n" +
4721  " <xsd:complexType name='arrayM3'>\n" +
4722  " <xsd:complexContent>\n" +
4723  " <xsd:restriction base='soapenc:Array'>\n" +
4724  " <xsd:attribute ref='soapenc:arrayType' wsdl:arrayType='xsd:int[]'/>\n" +
4725  " </xsd:restriction>\n" +
4726  " </xsd:complexContent>\n" +
4727  " </xsd:complexType>\n" +
4728  "\n" +
4729  "\n" +
4730  " <!-- The following is a simple test of inheritance with types -->\n" +
4731  " <xsd:complexType name='Animal'>\n" +
4732  " <xsd:all>\n" +
4733  " <xsd:element name='Name' nillable='true' type='xsd:string'/>\n" +
4734  " </xsd:all>\n" +
4735  " </xsd:complexType>\n" +
4736  " <xsd:element name='Animal' nillable='true' type='typens:Animal'/>\n" +
4737  " <xsd:complexType name='Cat'>\n" +
4738  " <xsd:complexContent>\n" +
4739  " <xsd:extension base='typens:Animal'>\n" +
4740  " <xsd:all>\n" +
4741  " <xsd:element name='Purr' nillable='true' type='xsd:string'/>\n" +
4742  " </xsd:all>\n" +
4743  " </xsd:extension>\n" +
4744  " </xsd:complexContent>\n" +
4745  " </xsd:complexType>\n" +
4746  " <xsd:element name='Cat' nillable='true' type='typens:Cat'/>\n" +
4747  "\n" +
4748  " <!-- Even though PersionCat is not directly referenced, it should\n" +
4749  " be generated and registered because its base class (Cat) is referenced -->\n" +
4750  " <xsd:complexType name='PersionCat'>\n" +
4751  " <xsd:complexContent>\n" +
4752  " <xsd:extension base='typens:Cat'>\n" +
4753  " <xsd:all>\n" +
4754  " <xsd:element name='Color' type='xsd:string'/>\n" +
4755  " <xsd:element name='Toy' /> <!-- Defaults to xsd:anyType -->\n" +
4756  " </xsd:all>\n" +
4757  " </xsd:extension>\n" +
4758  " </xsd:complexContent>\n" +
4759  " </xsd:complexType>\n" +
4760  "\n" +
4761  " <!-- Even though Yarn is not directly referenced, it should\n" +
4762  " be generated and registered because the Toy above is an anyType -->\n" +
4763  " <xsd:complexType name='Yarn'>\n" +
4764  " <xsd:all>\n" +
4765  " <xsd:element name='Color' type='xsd:string'/>\n" +
4766  " </xsd:all>\n" +
4767  " </xsd:complexType>\n" +
4768  "\n" +
4769  " <!-- The following test all of the valid enum basic types -->\n" +
4770  " <xsd:simpleType name='enumString'>\n" +
4771  " <xsd:restriction base='xsd:string'>\n" +
4772  " <xsd:enumeration value='Ho Ho Ho'/> <!-- Blanks should force value<1..n> names --> \n" +
4773  " <xsd:enumeration value='He He He'/> \n" +
4774  " <xsd:enumeration value='Ha Ha Ha'/> \n" +
4775  " </xsd:restriction>\n" +
4776  " </xsd:simpleType>\n" +
4777  " <xsd:simpleType name='enumInt'>\n" +
4778  " <xsd:restriction base='xsd:int'>\n" +
4779  " <xsd:enumeration value='1'/>\n" +
4780  " <xsd:enumeration value='2'/> \n" +
4781  " <xsd:enumeration value='3'/> \n" +
4782  " </xsd:restriction>\n" +
4783  " </xsd:simpleType>\n" +
4784  " <xsd:simpleType name='enumLong'>\n" +
4785  " <xsd:restriction base='xsd:long'>\n" +
4786  " <xsd:enumeration value='1'/>\n" +
4787  " <xsd:enumeration value='2'/> \n" +
4788  " <xsd:enumeration value='3'/> \n" +
4789  " <xsd:enumeration value='-9223372036854775808'/> \n" +
4790  " <xsd:enumeration value='9223372036854775807'/> \n" +
4791  " </xsd:restriction>\n" +
4792  " </xsd:simpleType>\n" +
4793  " <xsd:simpleType name='enumShort'>\n" +
4794  " <xsd:restriction base='xsd:short'>\n" +
4795  " <xsd:enumeration value='1'/>\n" +
4796  " <xsd:enumeration value='2'/> \n" +
4797  " <xsd:enumeration value='3'/> \n" +
4798  " </xsd:restriction>\n" +
4799  " </xsd:simpleType>\n" +
4800  " <xsd:simpleType name='enumFloat'>\n" +
4801  " <xsd:restriction base='xsd:float'>\n" +
4802  " <xsd:enumeration value='1.1'/>\n" +
4803  " <xsd:enumeration value='2.2'/> \n" +
4804  " <xsd:enumeration value='3.3'/> \n" +
4805  " </xsd:restriction>\n" +
4806  " </xsd:simpleType>\n" +
4807  " <xsd:simpleType name='enumDouble'>\n" +
4808  " <xsd:restriction base='xsd:double'>\n" +
4809  " <xsd:enumeration value='1.1'/>\n" +
4810  " <xsd:enumeration value='2.2'/> \n" +
4811  " <xsd:enumeration value='3.3'/> \n" +
4812  " </xsd:restriction>\n" +
4813  " </xsd:simpleType>\n" +
4814  " <xsd:simpleType name='enumByte'>\n" +
4815  " <xsd:restriction base='xsd:byte'>\n" +
4816  " <xsd:enumeration value='1'/>\n" +
4817  " <xsd:enumeration value='2'/> \n" +
4818  " <xsd:enumeration value='3'/> \n" +
4819  " </xsd:restriction>\n" +
4820  " </xsd:simpleType>\n" +
4821  "\n" +
4822  " <xsd:simpleType name='enumInteger'>\n" +
4823  " <xsd:restriction base='xsd:integer'>\n" +
4824  " <xsd:enumeration value='1'/>\n" +
4825  " <xsd:enumeration value='2'/> \n" +
4826  " <xsd:enumeration value='3'/> \n" +
4827  " </xsd:restriction>\n" +
4828  " </xsd:simpleType>\n" +
4829  "\n" +
4830  " <xsd:simpleType name='flowDirectionType'>\n" +
4831  " <xsd:restriction base='xsd:string'>\n" +
4832  " <xsd:enumeration value='in'/>\n" +
4833  " <xsd:enumeration value='inOut'/>\n" +
4834  " <xsd:enumeration value='out'/>\n" +
4835  " </xsd:restriction>\n" +
4836  " </xsd:simpleType>\n" +
4837  "\n" +
4838  " <xsd:simpleType name='enumNMTOKEN'>\n" +
4839  " <xsd:restriction base='xsd:NMTOKEN'> <!-- axis provided simple type -->\n" +
4840  " <xsd:enumeration value='NameToken1'/>\n" +
4841  " <xsd:enumeration value='NameToken2'/> \n" +
4842  " <xsd:enumeration value='NameToken3'/> \n" +
4843  " </xsd:restriction>\n" +
4844  " </xsd:simpleType>\n" +
4845  "\n" +
4846  " <xsd:simpleType name='AIDType'>\n" +
4847  " <xsd:restriction base='xsd:hexBinary'>\n" +
4848  " <xsd:maxLength value='16'/>\n" +
4849  " <xsd:minLength value='5'/>\n" +
4850  " </xsd:restriction>\n" +
4851  " </xsd:simpleType>\n" +
4852  "\n" +
4853  "<xsd:simpleType name='passModeType'>\n" +
4854  " <xsd:restriction base='xsd:string'>\n" +
4855  " <xsd:enumeration value='passByValue'/>\n" +
4856  " <xsd:enumeration value='passByReference'/>\n" +
4857  " </xsd:restriction>\n" +
4858  "</xsd:simpleType>\n" +
4859  "\n" +
4860  "\n" +
4861  "<xsd:element name='StringParameter' type='typens:StringParameter' />\n" +
4862  " <xsd:complexType name='StringParameter'>\n" +
4863  " <xsd:simpleContent>\n" +
4864  " <xsd:extension base='xsd:string'>\n" +
4865  " <xsd:attribute name='numBytes' type='soapenc:int'/>\n" +
4866  " <xsd:attribute name='storageEncoding' type='xsd:string'/>\n" +
4867  " <xsd:attribute name='direction' type='typens:flowDirectionType'/> <!-- in, out, or inOut -->\n" +
4868  " <xsd:attribute name='passMode' type='typens:passModeType'/> <!-- passByValue or passByReference -->\n" +
4869  " <xsd:attribute name='description' type='xsd:string'/>\n" +
4870  " </xsd:extension>\n" +
4871  " </xsd:simpleContent>\n" +
4872  "</xsd:complexType>\n" +
4873  "\n" +
4874  " </xsd:schema>\n" +
4875  "\n" +
4876  "\n" +
4877  " <xsd:schema \n" +
4878  " targetNamespace='urn:comprehensive-types2.types.wsdl.test'\n" +
4879  " xmlns:xsd='http://www.w3.org/1999/XMLSchema'>\n" +
4880  " <xsd:complexType name='fwd'>\n" +
4881  " <xsd:complexContent>\n" +
4882  " <xsd:restriction base='soapenc:Array'>\n" +
4883  " <xsd:attribute ref='soapenc:arrayType' wsdl:arrayType='xsd:QName[]'/>\n" +
4884  " </xsd:restriction>\n" +
4885  " </xsd:complexContent>\n" +
4886  " </xsd:complexType>\n" +
4887  "\n" +
4888  " <!-- Collection of enums -->\n" +
4889  " <xsd:element name='three' type='typens:enum' maxOccurs='unbounded' />\n" +
4890  "\n" +
4891  "\n" +
4892  " <!-- Test for nested defined complexType -->\n" +
4893  " <xsd:element name='a' type='xsd:short' />\n" +
4894  " <xsd:complexType name='b'>\n" +
4895  " <xsd:sequence>\n" +
4896  " <xsd:complexType name='a'>\n" +
4897  " <xsd:sequence>\n" +
4898  " <xsd:element name='c' type='xsd:int' />\n" +
4899  " </xsd:sequence>\n" +
4900  " </xsd:complexType>\n" +
4901  " <xsd:element name='d' type='typens2:a' />\n" +
4902  " </xsd:sequence>\n" +
4903  " </xsd:complexType>\n" +
4904  "\n" +
4905  " <!-- Test for a WS-I-like type that we used to fail on. -->\n" +
4906  " <xsd:complexType name='SimpleAnyURIType'>\n" +
4907  " <xsd:simpleContent>\n" +
4908  " <xsd:extension base='xsd:anyURI'>\n" +
4909  " </xsd:extension>\n" +
4910  " </xsd:simpleContent>\n" +
4911  " </xsd:complexType>\n" +
4912  "\n" +
4913  " </xsd:schema>\n" +
4914  "\n" +
4915  " </types>\n" +
4916  "\n" +
4917  " <!-- message declns -->\n" +
4918  " <message name='empty'/>\n" +
4919  "\n" +
4920  " <message name='allPrimitives'>\n" +
4921  " <part name='string' type='xsd:string'/>\n" +
4922  " <part name='integer' type='xsd:integer'/>\n" +
4923  " <part name='int' type='xsd:int'/>\n" +
4924  " <part name='long' type='xsd:long'/>\n" +
4925  " <part name='short' type='xsd:short'/>\n" +
4926  " <part name='decimal' type='xsd:decimal'/>\n" +
4927  " <part name='float' type='xsd:float'/>\n" +
4928  " <part name='double' type='xsd:double'/>\n" +
4929  " <part name='boolean' type='xsd:boolean'/>\n" +
4930  " <part name='byte' type='xsd:byte'/>\n" +
4931  " <part name='QName' type='xsd:QName'/>\n" +
4932  " <part name='dateTime' type='xsd:dateTime'/>\n" +
4933  " <part name='base64Binary' type='xsd:base64Binary'/>\n" +
4934  " <part name='hexBinary' type='xsd:hexBinary'/>\n" +
4935  " <part name='soapString' type='soapenc:string'/>\n" +
4936  " <part name='soapBoolean' type='soapenc:boolean'/>\n" +
4937  " <part name='soapFloat' type='soapenc:float'/>\n" +
4938  " <part name='soapDouble' type='soapenc:double'/>\n" +
4939  " <part name='soapDecimal' type='soapenc:decimal'/>\n" +
4940  " <part name='soapInt' type='soapenc:int'/>\n" +
4941  " <part name='soapShort' type='soapenc:short'/>\n" +
4942  " <part name='soapBase64' type='soapenc:base64'/>\n" +
4943  " <part name='time' type='xsd:time'/>\n" +
4944  " <part name='unsignedLong' type='xsd:unsignedLong'/>\n" +
4945  " <part name='unsignedInt' type='xsd:unsignedInt'/>\n" +
4946  " <part name='unsignedShort' type='xsd:unsignedShort'/>\n" +
4947  " <part name='unsignedByte' type='xsd:unsignedByte'/>\n" +
4948  " <part name='nonNegativeInteger' type='xsd:nonNegativeInteger'/>\n" +
4949  " <part name='positiveInteger' type='xsd:positiveInteger'/>\n" +
4950  " <part name='nonPositiveInteger' type='xsd:nonPositiveInteger'/>\n" +
4951  " <part name='negativeInteger' type='xsd:negativeInteger'/>\n" +
4952  " <part name='anyURI' type='xsd:anyURI'/>\n" +
4953  " <part name='gYear' type='xsd:gYear'/>\n" +
4954  " <part name='gMonth' type='xsd:gMonth'/>\n" +
4955  " <part name='gDay' type='xsd:gDay'/>\n" +
4956  " <part name='gYearMonth' type='xsd:gYearMonth'/>\n" +
4957  " <part name='gMonthDay' type='xsd:gMonthDay'/>\n" +
4958  " </message>\n" +
4959  " <message name='inputBoolean'>\n" +
4960  " <part name='inBoolean' type='xsd:boolean'/>\n" +
4961  " <part name='boolean' type='xsd:boolean'/>\n" +
4962  " </message>\n" +
4963  "\n" +
4964  " <message name='outputBoolean'>\n" +
4965  " <part name='outBoolean' type='xsd:boolean'/>\n" +
4966  " <part name='boolean' type='xsd:boolean'/>\n" +
4967  " </message> \n" +
4968  "\n" +
4969  " <message name='inputByte'>\n" +
4970  " <part name='inByte' type='xsd:byte'/>\n" +
4971  " <part name='byte' type='xsd:byte'/>\n" +
4972  " </message>\n" +
4973  "\n" +
4974  " <message name='outputByte'>\n" +
4975  " <part name='outByte' type='xsd:byte'/>\n" +
4976  " <part name='byte' type='xsd:byte'/>\n" +
4977  " </message> \n" +
4978  "\n" +
4979  " <message name='inputShort'>\n" +
4980  " <part name='inShort' type='xsd:short'/>\n" +
4981  " <part name='short' type='xsd:short'/>\n" +
4982  " </message>\n" +
4983  "\n" +
4984  " <message name='outputShort'>\n" +
4985  " <part name='outShort' type='xsd:short'/>\n" +
4986  " <part name='short' type='xsd:short'/>\n" +
4987  " </message>\n" +
4988  "\n" +
4989  " <message name='inputInt'>\n" +
4990  " <part name='inInt' type='xsd:int'/>\n" +
4991  " <part name='int' type='xsd:int'/>\n" +
4992  " </message>\n" +
4993  "\n" +
4994  " <message name='outputInt'>\n" +
4995  " <part name='outInt' type='xsd:int'/>\n" +
4996  " <part name='int' type='xsd:int'/>\n" +
4997  " </message>\n" +
4998  "\n" +
4999  " <message name='inputLong'>\n" +
5000  " <part name='inLong' type='xsd:long'/>\n" +
5001  " <part name='long' type='xsd:long'/>\n" +
5002  " </message>\n" +
5003  "\n" +
5004  " <message name='outputLong'>\n" +
5005  " <part name='outLong' type='xsd:long'/>\n" +
5006  " <part name='long' type='xsd:long'/>\n" +
5007  " </message>\n" +
5008  "\n" +
5009  " <message name='inputFloat'>\n" +
5010  " <part name='inFloat' type='xsd:float'/>\n" +
5011  " <part name='float' type='xsd:float'/>\n" +
5012  " </message>\n" +
5013  "\n" +
5014  " <message name='outputFloat'>\n" +
5015  " <part name='outFloat' type='xsd:float'/>\n" +
5016  " <part name='float' type='xsd:float'/>\n" +
5017  " </message>\n" +
5018  "\n" +
5019  " <message name='inputDouble'>\n" +
5020  " <part name='inDouble' type='xsd:double'/>\n" +
5021  " <part name='double' type='xsd:double'/>\n" +
5022  " </message>\n" +
5023  "\n" +
5024  " <message name='outputDouble'>\n" +
5025  " <part name='outDouble' type='xsd:double'/>\n" +
5026  " <part name='double' type='xsd:double'/>\n" +
5027  " </message>\n" +
5028  "\n" +
5029  " <message name='inputString'>\n" +
5030  " <part name='inString' type='xsd:string'/>\n" +
5031  " <part name='string' type='xsd:string'/>\n" +
5032  " </message>\n" +
5033  "\n" +
5034  " <message name='outputString'>\n" +
5035  " <part name='outString' type='xsd:string'/>\n" +
5036  " <part name='string' type='xsd:string'/>\n" +
5037  " </message> \n" +
5038  "\n" +
5039  " <message name='inputInteger'>\n" +
5040  " <part name='inInteger' type='xsd:integer'/>\n" +
5041  " <part name='integer' type='xsd:integer'/>\n" +
5042  " </message>\n" +
5043  "\n" +
5044  " <message name='outputInteger'>\n" +
5045  " <part name='outInteger' type='xsd:integer'/>\n" +
5046  " <part name='integer' type='xsd:integer'/>\n" +
5047  " </message>\n" +
5048  "\n" +
5049  " <message name='inputDecimal'>\n" +
5050  " <part name='inDecimal' type='xsd:decimal'/>\n" +
5051  " <part name='decimal' type='xsd:decimal'/>\n" +
5052  " </message>\n" +
5053  "\n" +
5054  " <message name='outputDecimal'>\n" +
5055  " <part name='outDecimal' type='xsd:decimal'/>\n" +
5056  " <part name='decimal' type='xsd:decimal'/>\n" +
5057  " </message>\n" +
5058  "\n" +
5059  " <message name='inputDateTime'>\n" +
5060  " <part name='inDateTime' type='xsd:dateTime'/>\n" +
5061  " <part name='dateTime' type='xsd:dateTime'/>\n" +
5062  " </message>\n" +
5063  "\n" +
5064  " <message name='outputDateTime'>\n" +
5065  " <part name='outDateTime' type='xsd:dateTime'/>\n" +
5066  " <part name='dateTime' type='xsd:dateTime'/>\n" +
5067  " </message>\n" +
5068  "\n" +
5069  " <message name='inputBase64Binary'>\n" +
5070  " <part name='inBase64Binary' type='xsd:base64Binary'/>\n" +
5071  " <part name='base64Binary' type='xsd:base64Binary'/>\n" +
5072  " </message>\n" +
5073  "\n" +
5074  " <message name='outputBase64Binary'>\n" +
5075  " <part name='outBase64Binary' type='xsd:base64Binary'/>\n" +
5076  " <part name='base64Binary' type='xsd:base64Binary'/>\n" +
5077  " </message>\n" +
5078  "\n" +
5079  " <message name='inputQName'>\n" +
5080  " <part name='inQName' type='xsd:QName'/>\n" +
5081  " <part name='qName' type='xsd:QName'/>\n" +
5082  " </message>\n" +
5083  "\n" +
5084  " <message name='outputQName'>\n" +
5085  " <part name='outQName' type='xsd:QName'/>\n" +
5086  " <part name='qName' type='xsd:QName'/>\n" +
5087  " </message>\n" +
5088  "\n" +
5089  " <message name='inputHexBinary'>\n" +
5090  " <part name='inHexBinary' type='xsd:hexBinary'/>\n" +
5091  " <part name='hexBinary' type='xsd:hexBinary'/>\n" +
5092  " </message>\n" +
5093  "\n" +
5094  " <message name='outputHexBinary'>\n" +
5095  " <part name='outHexBinary' type='xsd:hexBinary'/>\n" +
5096  " <part name='hexBinary' type='xsd:hexBinary'/>\n" +
5097  " </message>\n" +
5098  "\n" +
5099  " <message name='inputTime'>\n" +
5100  " <part name='inTime' type='xsd:time'/>\n" +
5101  " <part name='time' type='xsd:time'/>\n" +
5102  " </message>\n" +
5103  "\n" +
5104  " <message name='outputTime'>\n" +
5105  " <part name='outTime' type='xsd:time'/>\n" +
5106  " <part name='time' type='xsd:time'/>\n" +
5107  " </message>\n" +
5108  "\n" +
5109  " <message name='inputUnsignedLong'>\n" +
5110  " <part name='inUnsignedLong' type='xsd:unsignedLong'/>\n" +
5111  " <part name='unsignedLong' type='xsd:unsignedLong'/>\n" +
5112  " </message>\n" +
5113  "\n" +
5114  " <message name='outputUnsignedLong'>\n" +
5115  " <part name='outUnsignedLong' type='xsd:unsignedLong'/>\n" +
5116  " <part name='unsignedLong' type='xsd:unsignedLong'/>\n" +
5117  " </message>\n" +
5118  "\n" +
5119  " <message name='inputUnsignedInt'>\n" +
5120  " <part name='inUnsignedInt' type='xsd:unsignedInt'/>\n" +
5121  " <part name='unsignedInt' type='xsd:unsignedInt'/>\n" +
5122  " </message>\n" +
5123  "\n" +
5124  " <message name='outputUnsignedInt'>\n" +
5125  " <part name='outUnsignedInt' type='xsd:unsignedInt'/>\n" +
5126  " <part name='unsignedInt' type='xsd:unsignedInt'/>\n" +
5127  " </message>\n" +
5128  "\n" +
5129  " <message name='inputUnsignedShort'>\n" +
5130  " <part name='inUnsignedShort' type='xsd:unsignedShort'/>\n" +
5131  " <part name='unsignedShort' type='xsd:unsignedShort'/>\n" +
5132  " </message>\n" +
5133  "\n" +
5134  " <message name='outputUnsignedShort'>\n" +
5135  " <part name='outUnsignedShort' type='xsd:unsignedShort'/>\n" +
5136  " <part name='unsignedShort' type='xsd:unsignedShort'/>\n" +
5137  " </message>\n" +
5138  "\n" +
5139  " <message name='inputUnsignedByte'>\n" +
5140  " <part name='inUnsignedByte' type='xsd:unsignedByte'/>\n" +
5141  " <part name='unsignedByte' type='xsd:unsignedByte'/>\n" +
5142  " </message>\n" +
5143  "\n" +
5144  " <message name='outputUnsignedByte'>\n" +
5145  " <part name='outUnsignedByte' type='xsd:unsignedByte'/>\n" +
5146  " <part name='unsignedByte' type='xsd:unsignedByte'/>\n" +
5147  " </message>\n" +
5148  "\n" +
5149  " <message name='inputNonNegativeInteger'>\n" +
5150  " <part name='inNonNegativeInteger' type='xsd:nonNegativeInteger'/>\n" +
5151  " <part name='NonNegativeInteger' type='xsd:nonNegativeInteger'/>\n" +
5152  " </message>\n" +
5153  "\n" +
5154  " <message name='outputNonNegativeInteger'>\n" +
5155  " <part name='outNonNegativeInteger' type='xsd:nonNegativeInteger'/>\n" +
5156  " <part name='NonNegativeInteger' type='xsd:nonNegativeInteger'/>\n" +
5157  " </message>\n" +
5158  "\n" +
5159  " <message name='inputPositiveInteger'>\n" +
5160  " <part name='inPositiveInteger' type='xsd:positiveInteger'/>\n" +
5161  " <part name='PositiveInteger' type='xsd:positiveInteger'/>\n" +
5162  " </message>\n" +
5163  "\n" +
5164  " <message name='outputPositiveInteger'>\n" +
5165  " <part name='outPositiveInteger' type='xsd:positiveInteger'/>\n" +
5166  " <part name='PositiveInteger' type='xsd:positiveInteger'/>\n" +
5167  " </message>\n" +
5168  "\n" +
5169  " <message name='inputNonPositiveInteger'>\n" +
5170  " <part name='inNonPositiveInteger' type='xsd:nonPositiveInteger'/>\n" +
5171  " <part name='NonPositiveInteger' type='xsd:nonPositiveInteger'/>\n" +
5172  " </message>\n" +
5173  "\n" +
5174  " <message name='outputNonPositiveInteger'>\n" +
5175  " <part name='outNonPositiveInteger' type='xsd:nonPositiveInteger'/>\n" +
5176  " <part name='NonPositiveInteger' type='xsd:nonPositiveInteger'/>\n" +
5177  " </message>\n" +
5178  "\n" +
5179  " <message name='inputNegativeInteger'>\n" +
5180  " <part name='inNegativeInteger' type='xsd:negativeInteger'/>\n" +
5181  " <part name='NegativeInteger' type='xsd:negativeInteger'/>\n" +
5182  " </message>\n" +
5183  "\n" +
5184  " <message name='outputNegativeInteger'>\n" +
5185  " <part name='outNegativeInteger' type='xsd:negativeInteger'/>\n" +
5186  " <part name='NegativeInteger' type='xsd:negativeInteger'/>\n" +
5187  " </message>\n" +
5188  "\n" +
5189  " <message name='inputAnyURI'>\n" +
5190  " <part name='inAnyURI' type='xsd:anyURI'/>\n" +
5191  " <part name='anyURI' type='xsd:anyURI'/>\n" +
5192  " </message>\n" +
5193  "\n" +
5194  " <message name='outputAnyURI'>\n" +
5195  " <part name='outAnyURI' type='xsd:anyURI'/>\n" +
5196  " <part name='anyURI' type='xsd:anyURI'/>\n" +
5197  " </message>\n" +
5198  "\n" +
5199  " <message name='inputSimpleAnyURI'>\n" +
5200  " <part name='inAnyURI' type='typens2:SimpleAnyURIType'/>\n" +
5201  " <part name='anyURI' type='typens2:SimpleAnyURIType'/>\n" +
5202  " </message>\n" +
5203  "\n" +
5204  " <message name='outputSimpleAnyURI'>\n" +
5205  " <part name='outAnyURI' type='typens2:SimpleAnyURIType'/>\n" +
5206  " <part name='anyURI' type='typens2:SimpleAnyURIType'/>\n" +
5207  " </message>\n" +
5208  "\n" +
5209  " <message name='inputYear'>\n" +
5210  " <part name='inYear' type='xsd:gYear'/>\n" +
5211  " <part name='Year' type='xsd:gYear'/>\n" +
5212  " </message>\n" +
5213  "\n" +
5214  " <message name='outputYear'>\n" +
5215  " <part name='outYear' type='xsd:gYear'/>\n" +
5216  " <part name='Year' type='xsd:gYear'/>\n" +
5217  " </message>\n" +
5218  "\n" +
5219  " <message name='inputMonth'>\n" +
5220  " <part name='inMonth' type='xsd:gMonth'/>\n" +
5221  " <part name='Month' type='xsd:gMonth'/>\n" +
5222  " </message>\n" +
5223  "\n" +
5224  " <message name='outputMonth'>\n" +
5225  " <part name='outMonth' type='xsd:gMonth'/>\n" +
5226  " <part name='Month' type='xsd:gMonth'/>\n" +
5227  " </message>\n" +
5228  "\n" +
5229  " <message name='inputDay'>\n" +
5230  " <part name='inDay' type='xsd:gDay'/>\n" +
5231  " <part name='Day' type='xsd:gDay'/>\n" +
5232  " </message>\n" +
5233  "\n" +
5234  " <message name='outputDay'>\n" +
5235  " <part name='outDay' type='xsd:gDay'/>\n" +
5236  " <part name='Day' type='xsd:gDay'/>\n" +
5237  " </message>\n" +
5238  "\n" +
5239  " <message name='inputYearMonth'>\n" +
5240  " <part name='inYearMonth' type='xsd:gYearMonth'/>\n" +
5241  " <part name='YearMonth' type='xsd:gYearMonth'/>\n" +
5242  " </message>\n" +
5243  "\n" +
5244  " <message name='outputYearMonth'>\n" +
5245  " <part name='outYearMonth' type='xsd:gYearMonth'/>\n" +
5246  " <part name='YearMonth' type='xsd:gYearMonth'/>\n" +
5247  " </message>\n" +
5248  "\n" +
5249  " <message name='inputMonthDay'>\n" +
5250  " <part name='inMonthDay' type='xsd:gMonthDay'/>\n" +
5251  " <part name='MonthDay' type='xsd:gMonthDay'/>\n" +
5252  " </message>\n" +
5253  "\n" +
5254  " <message name='outputMonthDay'>\n" +
5255  " <part name='outMonthDay' type='xsd:gMonthDay'/>\n" +
5256  " <part name='MonthDay' type='xsd:gMonthDay'/>\n" +
5257  " </message>\n" +
5258  "\n" +
5259  " <message name='inputSoapString'>\n" +
5260  " <part name='inSoapString' type='soapenc:string'/>\n" +
5261  " <part name='soapencString' type='soapenc:string'/>\n" +
5262  " </message>\n" +
5263  "\n" +
5264  " <message name='outputSoapString'>\n" +
5265  " <part name='outSoapString' type='soapenc:string'/>\n" +
5266  " <part name='soapencString' type='soapenc:string'/>\n" +
5267  " </message>\n" +
5268  "\n" +
5269  " <message name='inputSoapBoolean'>\n" +
5270  " <part name='inSoapBoolean' type='soapenc:boolean'/>\n" +
5271  " <part name='soapencBoolean' type='soapenc:boolean'/>\n" +
5272  " </message>\n" +
5273  "\n" +
5274  " <message name='outputSoapBoolean'>\n" +
5275  " <part name='outSoapBoolean' type='soapenc:boolean'/>\n" +
5276  " <part name='soapencBoolean' type='soapenc:boolean'/>\n" +
5277  " </message>\n" +
5278  "\n" +
5279  " <message name='inputSoapFloat'>\n" +
5280  " <part name='inSoapFloat' type='soapenc:float'/>\n" +
5281  " <part name='soapencFloat' type='soapenc:float'/>\n" +
5282  " </message>\n" +
5283  "\n" +
5284  " <message name='outputSoapFloat'>\n" +
5285  " <part name='outSoapFloat' type='soapenc:float'/>\n" +
5286  " <part name='soapencFloat' type='soapenc:float'/>\n" +
5287  " </message>\n" +
5288  "\n" +
5289  " <message name='inputSoapDouble'>\n" +
5290  " <part name='inSoapDouble' type='soapenc:double'/>\n" +
5291  " <part name='soapencDouble' type='soapenc:double'/>\n" +
5292  " </message>\n" +
5293  "\n" +
5294  " <message name='outputSoapDouble'>\n" +
5295  " <part name='outSoapDouble' type='soapenc:double'/>\n" +
5296  " <part name='soapencDouble' type='soapenc:double'/>\n" +
5297  " </message>\n" +
5298  "\n" +
5299  " <message name='inputSoapDecimal'>\n" +
5300  " <part name='inSoapDecimal' type='soapenc:decimal'/>\n" +
5301  " <part name='soapencDecimal' type='soapenc:decimal'/>\n" +
5302  " </message>\n" +
5303  "\n" +
5304  " <message name='outputSoapDecimal'>\n" +
5305  " <part name='outSoapDecimal' type='soapenc:decimal'/>\n" +
5306  " <part name='soapencDecimal' type='soapenc:decimal'/>\n" +
5307  " </message>\n" +
5308  "\n" +
5309  " <message name='inputSoapInt'>\n" +
5310  " <part name='inSoapInt' type='soapenc:int'/>\n" +
5311  " <part name='soapencInt' type='soapenc:int'/>\n" +
5312  " </message>\n" +
5313  "\n" +
5314  " <message name='outputSoapInt'>\n" +
5315  " <part name='outSoapInt' type='soapenc:int'/>\n" +
5316  " <part name='soapencInt' type='soapenc:int'/>\n" +
5317  " </message>\n" +
5318  "\n" +
5319  " <message name='inputSoapShort'>\n" +
5320  " <part name='inSoapShort' type='soapenc:short'/>\n" +
5321  " <part name='soapencShort' type='soapenc:short'/>\n" +
5322  " </message>\n" +
5323  "\n" +
5324  " <message name='outputSoapShort'>\n" +
5325  " <part name='outSoapShort' type='soapenc:short'/>\n" +
5326  " <part name='soapencShort' type='soapenc:short'/>\n" +
5327  " </message>\n" +
5328  "\n" +
5329  " <message name='inputSoapBase64'>\n" +
5330  " <part name='inSoapBase64' type='soapenc:base64'/>\n" +
5331  " <part name='soapencBase64' type='soapenc:base64'/>\n" +
5332  " </message>\n" +
5333  "\n" +
5334  " <message name='outputSoapBase64'>\n" +
5335  " <part name='outSoapBase64' type='soapenc:base64'/>\n" +
5336  " <part name='soapencBase64' type='soapenc:base64'/>\n" +
5337  " </message>\n" +
5338  " \n" +
5339  " <message name='enum'>\n" +
5340  " <part name='enum' type='typens:enum'/>\n" +
5341  " </message>\n" +
5342  "\n" +
5343  " <message name='enumInt'>\n" +
5344  " <part name='enumInt' type='typens:enumInt'/>\n" +
5345  " </message>\n" +
5346  "\n" +
5347  " <message name='array'>\n" +
5348  " <part name='array' type='typens:array'/>\n" +
5349  " </message>\n" +
5350  "\n" +
5351  " <message name='arrayM'>\n" +
5352  " <part name='arrayM' type='typens:arrayM'/>\n" +
5353  " </message>\n" +
5354  "\n" +
5355  " <message name='complexAll'>\n" +
5356  " <part name='complexAll' type='typens:complexAll'/>\n" +
5357  " </message>\n" +
5358  "\n" +
5359  " <message name='complexSequence'>\n" +
5360  " <part name='complexSequence' type='typens:complexSequence'/>\n" +
5361  " </message>\n" +
5362  "\n" +
5363  " <message name='elemWComplex'>\n" +
5364  " <part name='elemWComplex' element='typens:elemWComplex'/>\n" +
5365  " </message>\n" +
5366  "\n" +
5367  " <message name='complexWComplex'>\n" +
5368  " <part name='complexWComplex' type='typens:complexWComplex'/>\n" +
5369  " </message>\n" +
5370  "\n" +
5371  " <message name='any'>\n" +
5372  " <part name='any' type='xsd:anyType'/>\n" +
5373  " </message>\n" +
5374  "\n" +
5375  " <message name='animal'>\n" +
5376  " <part name='animal' type='typens:Animal'/>\n" +
5377  " </message>\n" +
5378  "\n" +
5379  " <message name='cat'>\n" +
5380  " <part name='cat' type='typens:Cat'/>\n" +
5381  " </message>\n" +
5382  "\n" +
5383  " <message name='emptyFault'>\n" +
5384  " <part name='theFault' type='typens:emptyFault' />\n" +
5385  " </message>\n" +
5386  "\n" +
5387  " <message name='faultWithElement'>\n" +
5388  " <part name='fault2' element='typens:faultElement' />\n" +
5389  " </message>\n" +
5390  "\n" +
5391  " <message name='emptyComplexType'>\n" +
5392  " <part name='emptyComplexType' type='typens:emptyComplexType' />\n" +
5393  " </message>\n" +
5394  "\n" +
5395  " <!-- port type declns -->\n" +
5396  " <portType name='TypeTest'>\n" +
5397  " <operation name='allPrimitivesIn'>\n" +
5398  " <input message='tns:allPrimitives'/>\n" +
5399  " <output message='tns:empty'/>\n" +
5400  " </operation>\n" +
5401  " <operation name='allPrimitivesInout'>\n" +
5402  " <input message='tns:allPrimitives'/>\n" +
5403  " <output message='tns:allPrimitives'/>\n" +
5404  " </operation>\n" +
5405  " <operation name='allPrimitivesOut'>\n" +
5406  " <input message='tns:empty'/>\n" +
5407  " <output message='tns:allPrimitives'/>\n" +
5408  " </operation>\n" +
5409  " <operation name='enumIn'>\n" +
5410  " <input message='tns:enum'/>\n" +
5411  " <output message='tns:empty'/>\n" +
5412  " </operation>\n" +
5413  " <operation name='enumInout'>\n" +
5414  " <input message='tns:enum'/>\n" +
5415  " <output message='tns:enum'/>\n" +
5416  " </operation>\n" +
5417  " <operation name='enumOut' parameterOrder='enum'>\n" +
5418  " <input message='tns:empty'/>\n" +
5419  " <output message='tns:enum'/>\n" +
5420  " </operation>\n" +
5421  " <operation name='enumReturn'>\n" +
5422  " <input message='tns:empty'/>\n" +
5423  " <output message='tns:enum'/>\n" +
5424  " </operation>\n" +
5425  " <operation name='enumIntIn'>\n" +
5426  " <input message='tns:enumInt'/>\n" +
5427  " <output message='tns:empty'/>\n" +
5428  " </operation>\n" +
5429  " <operation name='enumIntInout'>\n" +
5430  " <input message='tns:enumInt'/>\n" +
5431  " <output message='tns:enumInt'/>\n" +
5432  " </operation>\n" +
5433  " <operation name='enumIntOut' parameterOrder='enumInt'>\n" +
5434  " <input message='tns:empty'/>\n" +
5435  " <output message='tns:enumInt'/>\n" +
5436  " </operation>\n" +
5437  " <operation name='enumIntReturn'>\n" +
5438  " <input message='tns:empty'/>\n" +
5439  " <output message='tns:enumInt'/>\n" +
5440  " </operation>\n" +
5441  " <operation name='arrayIn'>\n" +
5442  " <input message='tns:array'/>\n" +
5443  " <output message='tns:empty'/>\n" +
5444  " </operation>\n" +
5445  " <operation name='arrayInout'>\n" +
5446  " <input message='tns:array'/>\n" +
5447  " <output message='tns:array'/>\n" +
5448  " </operation>\n" +
5449  " <operation name='arrayOut' parameterOrder='array'>\n" +
5450  " <input message='tns:empty'/>\n" +
5451  " <output message='tns:array'/>\n" +
5452  " </operation>\n" +
5453  " <operation name='arrayReturn'>\n" +
5454  " <input message='tns:empty'/>\n" +
5455  " <output message='tns:array'/>\n" +
5456  " </operation>\n" +
5457  "\n" +
5458  " <operation name='arrayMIn'>\n" +
5459  " <input message='tns:arrayM'/>\n" +
5460  " <output message='tns:empty'/>\n" +
5461  " </operation>\n" +
5462  " <operation name='arrayMInout'>\n" +
5463  " <input message='tns:arrayM'/>\n" +
5464  " <output message='tns:arrayM'/>\n" +
5465  " </operation>\n" +
5466  " <operation name='arrayMOut' parameterOrder='arrayM'>\n" +
5467  " <!-- BUG: type emptyM not defined ! Replacing by type empty\n" +
5468  " for the time being.\n" +
5469  " -->\n" +
5470  " <input message='tns:empty'/>\n" +
5471  " <output message='tns:arrayM'/>\n" +
5472  " </operation>\n" +
5473  " <operation name='arrayMReturn'>\n" +
5474  " <!-- BUG: type emptyM not defined ! Replacing by type empty\n" +
5475  " for the time being.\n" +
5476  " -->\n" +
5477  " <input message='tns:empty'/> \n" +
5478  " <output message='tns:arrayM'/>\n" +
5479  " </operation>\n" +
5480  "\n" +
5481  " <operation name='complexAllIn'>\n" +
5482  " <input message='tns:complexAll'/>\n" +
5483  " <output message='tns:empty'/>\n" +
5484  " </operation>\n" +
5485  " <operation name='complexAllInout'>\n" +
5486  " <input message='tns:complexAll'/>\n" +
5487  " <output message='tns:complexAll'/>\n" +
5488  " </operation>\n" +
5489  " <operation name='complexAllOut' parameterOrder='complexAll'>\n" +
5490  " <input message='tns:empty'/>\n" +
5491  " <output message='tns:complexAll'/>\n" +
5492  " </operation>\n" +
5493  " <operation name='complexAllReturn'>\n" +
5494  " <input message='tns:empty'/>\n" +
5495  " <output message='tns:complexAll'/>\n" +
5496  " </operation>\n" +
5497  " <operation name='complexSequenceIn'>\n" +
5498  " <input message='tns:complexSequence'/>\n" +
5499  " <output message='tns:empty'/>\n" +
5500  " </operation>\n" +
5501  " <operation name='complexSequenceInout'>\n" +
5502  " <input message='tns:complexSequence'/>\n" +
5503  " <output message='tns:complexSequence'/>\n" +
5504  " </operation>\n" +
5505  " <operation name='complexSequenceOut' parameterOrder='complexSequence'>\n" +
5506  " <input message='tns:empty'/>\n" +
5507  " <output message='tns:complexSequence'/>\n" +
5508  " </operation>\n" +
5509  " <operation name='complexSequenceReturn'>\n" +
5510  " <input message='tns:empty'/>\n" +
5511  " <output message='tns:complexSequence'/>\n" +
5512  " </operation>\n" +
5513  " <operation name='elemWComplexIn'>\n" +
5514  " <input message='tns:elemWComplex'/>\n" +
5515  " <output message='tns:empty'/>\n" +
5516  " </operation>\n" +
5517  " <operation name='elemWComplexInout'>\n" +
5518  " <input message='tns:elemWComplex'/>\n" +
5519  " <output message='tns:elemWComplex'/>\n" +
5520  " </operation>\n" +
5521  " <operation name='elemWComplexOut' parameterOrder='elemWComplex'>\n" +
5522  " <input message='tns:empty'/>\n" +
5523  " <output message='tns:elemWComplex'/>\n" +
5524  " </operation>\n" +
5525  " <operation name='elemWComplexReturn'>\n" +
5526  " <input message='tns:empty'/>\n" +
5527  " <output message='tns:elemWComplex'/>\n" +
5528  " </operation>\n" +
5529  " <operation name='complexWComplexIn'>\n" +
5530  " <input message='tns:complexWComplex'/>\n" +
5531  " <output message='tns:empty'/>\n" +
5532  " </operation>\n" +
5533  " <operation name='complexWComplexInout'>\n" +
5534  " <input message='tns:complexWComplex'/>\n" +
5535  " <output message='tns:complexWComplex'/>\n" +
5536  " </operation>\n" +
5537  " <operation name='complexWComplexOut' parameterOrder='complexWComplex'>\n" +
5538  " <input message='tns:empty'/>\n" +
5539  " <output message='tns:complexWComplex'/>\n" +
5540  " </operation>\n" +
5541  " <operation name='complexWComplexReturn'>\n" +
5542  " <input message='tns:empty'/>\n" +
5543  " <output message='tns:complexWComplex'/>\n" +
5544  " </operation>\n";
5545
5546  private static final String JavaDoc comprehensiveTypes2 =
5547  " <operation name='emptyComplexTypeIn' parameterOrder='emptyComplexType'>\n" +
5548  " <input message='tns:emptyComplexType'/>\n" +
5549  " <output message='tns:empty'/>\n" +
5550  " <fault name='emptyFault' message='tns:emptyFault'/>\n" +
5551  " <!-- Can't have faults with <part element=''> in an RPC service...\n" +
5552  " Don't know what the intent was here, but since no one is actually\n" +
5553  " throwing this fault, commenting it out because it's now triggering\n" +
5554  " our more-draconian error checking.\n" +
5555  " \n" +
5556  " <fault name='faultWithElement' message='tns:faultWithElement'/>\n" +
5557  " -->\n" +
5558  " </operation>\n" +
5559  " <operation name='emptyComplexTypeInout' parameterOrder='emptyComplexType'>\n" +
5560  " <input message='tns:emptyComplexType'/>\n" +
5561  " <output message='tns:emptyComplexType'/>\n" +
5562  " <fault name='emptyFault' message='tns:emptyFault'/>\n" +
5563  " </operation>\n" +
5564  " <operation name='emptyComplexTypeOut' parameterOrder='emptyComplexType'>\n" +
5565  " <input message='tns:empty'/>\n" +
5566  " <output message='tns:emptyComplexType'/>\n" +
5567  " <fault name='emptyFault' message='tns:emptyFault'/>\n" +
5568  " </operation>\n" +
5569  " <operation name='emptyComplexTypeReturn'>\n" +
5570  " <input message='tns:empty'/>\n" +
5571  " <output message='tns:emptyComplexType'/>\n" +
5572  " <fault name='emptyFault' message='tns:emptyFault'/>\n" +
5573  " </operation>\n" +
5574  " <operation name='anyIn'>\n" +
5575  " <input message='tns:any'/>\n" +
5576  " <output message='tns:empty'/>\n" +
5577  " </operation>\n" +
5578  " <operation name='anyInout'>\n" +
5579  " <input message='tns:any'/>\n" +
5580  " <output message='tns:any'/>\n" +
5581  " </operation>\n" +
5582  " <operation name='anyOut' parameterOrder='any'>\n" +
5583  " <input message='tns:empty'/>\n" +
5584  " <output message='tns:any'/>\n" +
5585  " </operation>\n" +
5586  " <operation name='anyReturn'>\n" +
5587  " <input message='tns:empty'/>\n" +
5588  " <output message='tns:any'/>\n" +
5589  " </operation>\n" +
5590  " <operation name='animalIn'>\n" +
5591  " <input message='tns:animal'/>\n" +
5592  " <output message='tns:empty'/>\n" +
5593  " </operation>\n" +
5594  " <operation name='animalInout'>\n" +
5595  " <input message='tns:animal'/>\n" +
5596  " <output message='tns:animal'/>\n" +
5597  " </operation>\n" +
5598  " <operation name='animalOut' parameterOrder='animal'>\n" +
5599  " <input message='tns:empty'/>\n" +
5600  " <output message='tns:animal'/>\n" +
5601  " </operation>\n" +
5602  " <operation name='animalReturn'>\n" +
5603  " <input message='tns:empty'/>\n" +
5604  " <output message='tns:animal'/>\n" +
5605  " </operation>\n" +
5606  " <operation name='catIn'>\n" +
5607  " <input message='tns:cat'/>\n" +
5608  " <output message='tns:empty'/>\n" +
5609  " </operation>\n" +
5610  " <operation name='catInout'>\n" +
5611  " <input message='tns:cat'/>\n" +
5612  " <output message='tns:cat'/>\n" +
5613  " </operation>\n" +
5614  " <operation name='catOut' parameterOrder='cat'>\n" +
5615  " <input message='tns:empty'/>\n" +
5616  " <output message='tns:cat'/>\n" +
5617  " </operation>\n" +
5618  " <operation name='catReturn'>\n" +
5619  " <input message='tns:empty'/>\n" +
5620  " <output message='tns:cat'/>\n" +
5621  " </operation>\n" +
5622  " <operation name='methodBoolean'>\n" +
5623  " <input message='tns:inputBoolean'/>\n" +
5624  " <output message='tns:outputBoolean'/>\n" +
5625  " </operation>\n" +
5626  " <operation name='methodByte'>\n" +
5627  " <input message='tns:inputByte'/>\n" +
5628  " <output message='tns:outputByte'/>\n" +
5629  " </operation>\n" +
5630  " <operation name='methodShort'>\n" +
5631  " <input message='tns:inputShort'/>\n" +
5632  " <output message='tns:outputShort'/>\n" +
5633  " </operation>\n" +
5634  " <operation name='methodInt'>\n" +
5635  " <input message='tns:inputInt'/>\n" +
5636  " <output message='tns:outputInt'/>\n" +
5637  " </operation>\n" +
5638  " <operation name='methodLong'>\n" +
5639  " <input message='tns:inputLong'/>\n" +
5640  " <output message='tns:outputLong'/>\n" +
5641  " </operation>\n" +
5642  " <operation name='methodFloat'>\n" +
5643  " <input message='tns:inputFloat'/>\n" +
5644  " <output message='tns:outputFloat'/>\n" +
5645  " </operation>\n" +
5646  " <operation name='methodDouble'>\n" +
5647  " <input message='tns:inputDouble'/>\n" +
5648  " <output message='tns:outputDouble'/>\n" +
5649  " </operation>\n" +
5650  " <operation name='methodString'>\n" +
5651  " <input message='tns:inputString'/>\n" +
5652  " <output message='tns:outputString'/>\n" +
5653  " </operation>\n" +
5654  " <operation name='methodInteger'>\n" +
5655  " <input message='tns:inputInteger'/>\n" +
5656  " <output message='tns:outputInteger'/>\n" +
5657  " </operation>\n" +
5658  " <operation name='methodDecimal'>\n" +
5659  " <input message='tns:inputDecimal'/>\n" +
5660  " <output message='tns:outputDecimal'/>\n" +
5661  " </operation>\n" +
5662  " <operation name='methodDateTime'>\n" +
5663  " <input message='tns:inputDateTime'/>\n" +
5664  " <output message='tns:outputDateTime'/>\n" +
5665  " </operation> \n" +
5666  " <!-- Comment out for now because causes compile errors\n" +
5667  " <operation name='methodBase64Binary'>\n" +
5668  " <input message='tns:inputBase64Binary'/>\n" +
5669  " <output message='tns:outputBase64Binary'/>\n" +
5670  " </operation>\n" +
5671  " -->\n" +
5672  " <operation name='methodQName'>\n" +
5673  " <input message='tns:inputQName'/>\n" +
5674  " <output message='tns:outputQName'/>\n" +
5675  " </operation> \n" +
5676  " <!-- Comment out for now because causes compile errors\n" +
5677  " <operation name='methodHexBinary'>\n" +
5678  " <input message='tns:inputHexBinary'/>\n" +
5679  " <output message='tns:outputHexBinary'/>\n" +
5680  " </operation>\n" +
5681  " -->\n" +
5682  " <operation name='methodTime'>\n" +
5683  " <input message='tns:inputTime'/>\n" +
5684  " <output message='tns:outputTime'/>\n" +
5685  " </operation> \n" +
5686  " <operation name='methodUnsignedLong'>\n" +
5687  " <input message='tns:inputUnsignedLong'/>\n" +
5688  " <output message='tns:outputUnsignedLong'/>\n" +
5689  " </operation> \n" +
5690  " <operation name='methodUnsignedInt'>\n" +
5691  " <input message='tns:inputUnsignedInt'/>\n" +
5692  " <output message='tns:outputUnsignedInt'/>\n" +
5693  " </operation> \n" +
5694  " <operation name='methodUnsignedShort'>\n" +
5695  " <input message='tns:inputUnsignedShort'/>\n" +
5696  " <output message='tns:outputUnsignedShort'/>\n" +
5697  " </operation> \n" +
5698  " <operation name='methodUnsignedByte'>\n" +
5699  " <input message='tns:inputUnsignedByte'/>\n" +
5700  " <output message='tns:outputUnsignedByte'/>\n" +
5701  " </operation>\n" +
5702  " <operation name='methodNonNegativeInteger'>\n" +
5703  " <input message='tns:inputNonNegativeInteger'/>\n" +
5704  " <output message='tns:outputNonNegativeInteger'/>\n" +
5705  " </operation> \n" +
5706  " <operation name='methodPositiveInteger'>\n" +
5707  " <input message='tns:inputPositiveInteger'/>\n" +
5708  " <output message='tns:outputPositiveInteger'/>\n" +
5709  " </operation> \n" +
5710  " <operation name='methodNonPositiveInteger'>\n" +
5711  " <input message='tns:inputNonPositiveInteger'/>\n" +
5712  " <output message='tns:outputNonPositiveInteger'/>\n" +
5713  " </operation> \n" +
5714  " <operation name='methodNegativeInteger'>\n" +
5715  " <input message='tns:inputNegativeInteger'/>\n" +
5716  " <output message='tns:outputNegativeInteger'/>\n" +
5717  " </operation> \n" +
5718  " <operation name='methodAnyURI'>\n" +
5719  " <input message='tns:inputAnyURI'/>\n" +
5720  " <output message='tns:outputAnyURI'/>\n" +
5721  " </operation>\n" +
5722  " <operation name='methodSimpleAnyURI'>\n" +
5723  " <input message='tns:inputSimpleAnyURI'/>\n" +
5724  " <output message='tns:outputSimpleAnyURI'/>\n" +
5725  " </operation>\n" +
5726  " <operation name='methodYear'>\n" +
5727  " <input message='tns:inputYear'/>\n" +
5728  " <output message='tns:outputYear'/>\n" +
5729  " </operation> \n" +
5730  " <operation name='methodMonth'>\n" +
5731  " <input message='tns:inputMonth'/>\n" +
5732  " <output message='tns:outputMonth'/>\n" +
5733  " </operation> \n" +
5734  " <operation name='methodDay'>\n" +
5735  " <input message='tns:inputDay'/>\n" +
5736  " <output message='tns:outputDay'/>\n" +
5737  " </operation> \n" +
5738  " <operation name='methodYearMonth'>\n" +
5739  " <input message='tns:inputYearMonth'/>\n" +
5740  " <output message='tns:outputYearMonth'/>\n" +
5741  " </operation> \n" +
5742  " <operation name='methodMonthDay'>\n" +
5743  " <input message='tns:inputMonthDay'/>\n" +
5744  " <output message='tns:outputMonthDay'/>\n" +
5745  " </operation> \n" +
5746  " <operation name='methodSoapString'>\n" +
5747  " <input message='tns:inputSoapString'/>\n" +
5748  " <output message='tns:outputSoapString'/>\n" +
5749  " </operation>\n" +
5750  " <operation name='methodSoapBoolean'>\n" +
5751  " <input message='tns:inputSoapBoolean'/>\n" +
5752  " <output message='tns:outputSoapBoolean'/>\n" +
5753  " </operation>\n" +
5754  " <operation name='methodSoapFloat'>\n" +
5755  " <input message='tns:inputSoapFloat'/>\n" +
5756  " <output message='tns:outputSoapFloat'/>\n" +
5757  " </operation>\n" +
5758  " <operation name='methodSoapDouble'>\n" +
5759  " <input message='tns:inputSoapDouble'/>\n" +
5760  " <output message='tns:outputSoapDouble'/>\n" +
5761  " </operation>\n" +
5762  " <operation name='methodSoapDecimal'>\n" +
5763  " <input message='tns:inputSoapDecimal'/>\n" +
5764  " <output message='tns:outputSoapDecimal'/>\n" +
5765  " </operation>\n" +
5766  " <operation name='methodSoapInt'>\n" +
5767  " <input message='tns:inputSoapInt'/>\n" +
5768  " <output message='tns:outputSoapInt'/>\n" +
5769  " </operation>\n" +
5770  " <operation name='methodSoapShort'>\n" +
5771  " <input message='tns:inputSoapShort'/>\n" +
5772  " <output message='tns:outputSoapShort'/>\n" +
5773  " </operation> \n" +
5774  " <!-- Comment out for now because causes compile errors \n" +
5775  " <operation name='methodSoapBase64'>\n" +
5776  " <input message='tns:inputSoapBase64'/>\n" +
5777  " <output message='tns:outputSoapBase64'/>\n" +
5778  " </operation>\n" +
5779  " -->\n" +
5780  " </portType>\n" +
5781  "\n" +
5782  " <!-- binding declns -->\n" +
5783  " <binding name='TypeTestBinding' type='tns:TypeTest'>\n" +
5784  " <soap:binding\n" +
5785  " style='rpc'\n" +
5786  " transport='http://schemas.xmlsoap.org/soap/http'/>\n" +
5787  " <operation name='allPrimitivesIn'>\n" +
5788  " <soap:operation soapAction=''/>\n" +
5789  " <input>\n" +
5790  " <soap:body\n" +
5791  " use='encoded'\n" +
5792  " namespace=''\n" +
5793  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5794  " </input>\n" +
5795  " <output>\n" +
5796  " <soap:body\n" +
5797  " use='encoded'\n" +
5798  " namespace=''\n" +
5799  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5800  " </output>\n" +
5801  " </operation>\n" +
5802  " <operation name='allPrimitivesInout'>\n" +
5803  " <soap:operation soapAction=''/>\n" +
5804  " <input>\n" +
5805  " <soap:body\n" +
5806  " use='encoded'\n" +
5807  " namespace=''\n" +
5808  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5809  " </input>\n" +
5810  " <output>\n" +
5811  " <soap:body\n" +
5812  " use='encoded'\n" +
5813  " namespace=''\n" +
5814  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5815  " </output>\n" +
5816  " </operation>\n" +
5817  " <operation name='allPrimitivesOut'>\n" +
5818  " <soap:operation soapAction=''/>\n" +
5819  " <input>\n" +
5820  " <soap:body\n" +
5821  " use='encoded'\n" +
5822  " namespace=''\n" +
5823  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5824  " </input>\n" +
5825  " <output>\n" +
5826  " <soap:body\n" +
5827  " use='encoded'\n" +
5828  " namespace=''\n" +
5829  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5830  " </output>\n" +
5831  " </operation>\n" +
5832  " <operation name='enumIn'>\n" +
5833  " <soap:operation soapAction=''/>\n" +
5834  " <input>\n" +
5835  " <soap:body\n" +
5836  " use='encoded'\n" +
5837  " namespace=''\n" +
5838  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5839  " </input>\n" +
5840  " <output>\n" +
5841  " <soap:body\n" +
5842  " use='encoded'\n" +
5843  " namespace=''\n" +
5844  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5845  " </output>\n" +
5846  " </operation>\n" +
5847  " <operation name='enumInout'>\n" +
5848  " <soap:operation soapAction=''/>\n" +
5849  " <input>\n" +
5850  " <soap:body\n" +
5851  " use='encoded'\n" +
5852  " namespace=''\n" +
5853  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5854  " </input>\n" +
5855  " <output>\n" +
5856  " <soap:body\n" +
5857  " use='encoded'\n" +
5858  " namespace=''\n" +
5859  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5860  " </output>\n" +
5861  " </operation>\n" +
5862  " <operation name='enumOut'>\n" +
5863  " <soap:operation soapAction=''/>\n" +
5864  " <input>\n" +
5865  " <soap:body\n" +
5866  " use='encoded'\n" +
5867  " namespace=''\n" +
5868  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5869  " </input>\n" +
5870  " <output>\n" +
5871  " <soap:body\n" +
5872  " use='encoded'\n" +
5873  " namespace=''\n" +
5874  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5875  " </output>\n" +
5876  " </operation>\n" +
5877  " <operation name='enumReturn'>\n" +
5878  " <soap:operation soapAction=''/>\n" +
5879  " <input>\n" +
5880  " <soap:body\n" +
5881  " use='encoded'\n" +
5882  " namespace=''\n" +
5883  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5884  " </input>\n" +
5885  " <output>\n" +
5886  " <soap:body\n" +
5887  " use='encoded'\n" +
5888  " namespace=''\n" +
5889  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5890  " </output>\n" +
5891  " </operation>\n" +
5892  " <operation name='enumIntIn'>\n" +
5893  " <soap:operation soapAction=''/>\n" +
5894  " <input>\n" +
5895  " <soap:body\n" +
5896  " use='encoded'\n" +
5897  " namespace=''\n" +
5898  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5899  " </input>\n" +
5900  " <output>\n" +
5901  " <soap:body\n" +
5902  " use='encoded'\n" +
5903  " namespace=''\n" +
5904  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5905  " </output>\n" +
5906  " </operation>\n" +
5907  " <operation name='enumIntInout'>\n" +
5908  " <soap:operation soapAction=''/>\n" +
5909  " <input>\n" +
5910  " <soap:body\n" +
5911  " use='encoded'\n" +
5912  " namespace=''\n" +
5913  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5914  " </input>\n" +
5915  " <output>\n" +
5916  " <soap:body\n" +
5917  " use='encoded'\n" +
5918  " namespace=''\n" +
5919  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5920  " </output>\n" +
5921  " </operation>\n" +
5922  " <operation name='enumIntOut'>\n" +
5923  " <soap:operation soapAction=''/>\n" +
5924  " <input>\n" +
5925  " <soap:body\n" +
5926  " use='encoded'\n" +
5927  " namespace=''\n" +
5928  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5929  " </input>\n" +
5930  " <output>\n" +
5931  " <soap:body\n" +
5932  " use='encoded'\n" +
5933  " namespace=''\n" +
5934  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5935  " </output>\n" +
5936  " </operation>\n" +
5937  " <operation name='enumIntReturn'>\n" +
5938  " <soap:operation soapAction=''/>\n" +
5939  " <input>\n" +
5940  " <soap:body\n" +
5941  " use='encoded'\n" +
5942  " namespace=''\n" +
5943  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5944  " </input>\n" +
5945  " <output>\n" +
5946  " <soap:body\n" +
5947  " use='encoded'\n" +
5948  " namespace=''\n" +
5949  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5950  " </output>\n" +
5951  " </operation>\n" +
5952  " <operation name='arrayIn'>\n" +
5953  " <soap:operation soapAction=''/>\n" +
5954  " <input>\n" +
5955  " <soap:body\n" +
5956  " use='encoded'\n" +
5957  " namespace=''\n" +
5958  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5959  " </input>\n" +
5960  " <output>\n" +
5961  " <soap:body\n" +
5962  " use='encoded'\n" +
5963  " namespace=''\n" +
5964  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5965  " </output>\n" +
5966  " </operation>\n" +
5967  " <operation name='arrayInout'>\n" +
5968  " <soap:operation soapAction=''/>\n" +
5969  " <input>\n" +
5970  " <soap:body\n" +
5971  " use='encoded'\n" +
5972  " namespace=''\n" +
5973  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5974  " </input>\n" +
5975  " <output>\n" +
5976  " <soap:body\n" +
5977  " use='encoded'\n" +
5978  " namespace=''\n" +
5979  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5980  " </output>\n" +
5981  " </operation>\n" +
5982  " <operation name='arrayOut'>\n" +
5983  " <soap:operation soapAction=''/>\n" +
5984  " <input>\n" +
5985  " <soap:body\n" +
5986  " use='encoded'\n" +
5987  " namespace=''\n" +
5988  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5989  " </input>\n" +
5990  " <output>\n" +
5991  " <soap:body\n" +
5992  " use='encoded'\n" +
5993  " namespace=''\n" +
5994  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
5995  " </output>\n" +
5996  " </operation>\n" +
5997  " <operation name='arrayReturn'>\n" +
5998  " <soap:operation soapAction=''/>\n" +
5999  " <input>\n" +
6000  " <soap:body\n" +
6001  " use='encoded'\n" +
6002  " namespace=''\n" +
6003  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6004  " </input>\n" +
6005  " <output>\n" +
6006  " <soap:body\n" +
6007  " use='encoded'\n" +
6008  " namespace=''\n" +
6009  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6010  " </output>\n" +
6011  " </operation>\n" +
6012  "\n" +
6013  " <operation name='arrayMIn'>\n" +
6014  " <soap:operation soapAction=''/>\n" +
6015  " <input>\n" +
6016  " <soap:body\n" +
6017  " use='encoded'\n" +
6018  " namespace=''\n" +
6019  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6020  " </input>\n" +
6021  " <output>\n" +
6022  " <soap:body\n" +
6023  " use='encoded'\n" +
6024  " namespace=''\n" +
6025  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6026  " </output>\n" +
6027  " </operation>\n" +
6028  " <operation name='arrayMInout'>\n" +
6029  " <soap:operation soapAction=''/>\n" +
6030  " <input>\n" +
6031  " <soap:body\n" +
6032  " use='encoded'\n" +
6033  " namespace=''\n" +
6034  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6035  " </input>\n" +
6036  " <output>\n" +
6037  " <soap:body\n" +
6038  " use='encoded'\n" +
6039  " namespace=''\n" +
6040  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6041  " </output>\n" +
6042  " </operation>\n" +
6043  " <operation name='arrayMOut'>\n" +
6044  " <soap:operation soapAction=''/>\n" +
6045  " <input>\n" +
6046  " <soap:body\n" +
6047  " use='encoded'\n" +
6048  " namespace=''\n" +
6049  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6050  " </input>\n" +
6051  " <output>\n" +
6052  " <soap:body\n" +
6053  " use='encoded'\n" +
6054  " namespace=''\n" +
6055  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6056  " </output>\n" +
6057  " </operation>\n" +
6058  " <operation name='arrayMReturn'>\n" +
6059  " <soap:operation soapAction=''/>\n" +
6060  " <input>\n" +
6061  " <soap:body\n" +
6062  " use='encoded'\n" +
6063  " namespace=''\n" +
6064  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6065  " </input>\n" +
6066  " <output>\n" +
6067  " <soap:body\n" +
6068  " use='encoded'\n" +
6069  " namespace=''\n" +
6070  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6071  " </output>\n" +
6072  " </operation>\n" +
6073  "\n" +
6074  " <operation name='complexAllIn'>\n" +
6075  " <soap:operation soapAction=''/>\n" +
6076  " <input>\n" +
6077  " <soap:body\n" +
6078  " use='encoded'\n" +
6079  " namespace=''\n" +
6080  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6081  " </input>\n" +
6082  " <output>\n" +
6083  " <soap:body\n" +
6084  " use='encoded'\n" +
6085  " namespace=''\n" +
6086  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6087  " </output>\n" +
6088  " </operation>\n" +
6089  " <operation name='complexAllInout'>\n" +
6090  " <soap:operation soapAction=''/>\n" +
6091  " <input>\n" +
6092  " <soap:body\n" +
6093  " use='encoded'\n" +
6094  " namespace=''\n" +
6095  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6096  " </input>\n" +
6097  " <output>\n" +
6098  " <soap:body\n" +
6099  " use='encoded'\n" +
6100  " namespace=''\n" +
6101  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6102  " </output>\n" +
6103  " </operation>\n" +
6104  " <operation name='complexAllOut'>\n" +
6105  " <soap:operation soapAction=''/>\n" +
6106  " <input>\n" +
6107  " <soap:body\n" +
6108  " use='encoded'\n" +
6109  " namespace=''\n" +
6110  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6111  " </input>\n" +
6112  " <output>\n" +
6113  " <soap:body\n" +
6114  " use='encoded'\n" +
6115  " namespace=''\n" +
6116  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6117  " </output>\n" +
6118  " </operation>\n" +
6119  " <operation name='complexAllReturn'>\n" +
6120  " <soap:operation soapAction=''/>\n" +
6121  " <input>\n" +
6122  " <soap:body\n" +
6123  " use='encoded'\n" +
6124  " namespace=''\n" +
6125  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6126  " </input>\n" +
6127  " <output>\n" +
6128  " <soap:body\n" +
6129  " use='encoded'\n" +
6130  " namespace=''\n" +
6131  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6132  " </output>\n" +
6133  " </operation>\n" +
6134  " <operation name='complexSequenceIn'>\n" +
6135  " <soap:operation soapAction=''/>\n" +
6136  " <input>\n" +
6137  " <soap:body\n" +
6138  " use='encoded'\n" +
6139  " namespace=''\n" +
6140  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6141  " </input>\n" +
6142  " <output>\n" +
6143  " <soap:body\n" +
6144  " use='encoded'\n" +
6145  " namespace=''\n" +
6146  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6147  " </output>\n" +
6148  " </operation>\n" +
6149  " <operation name='complexSequenceInout'>\n" +
6150  " <soap:operation soapAction=''/>\n" +
6151  " <input>\n" +
6152  " <soap:body\n" +
6153  " use='encoded'\n" +
6154  " namespace=''\n" +
6155  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6156  " </input>\n" +
6157  " <output>\n" +
6158  " <soap:body\n" +
6159  " use='encoded'\n" +
6160  " namespace=''\n" +
6161  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6162  " </output>\n" +
6163  " </operation>\n" +
6164  " <operation name='complexSequenceOut'>\n" +
6165  " <soap:operation soapAction=''/>\n" +
6166  " <input>\n" +
6167  " <soap:body\n" +
6168  " use='encoded'\n" +
6169  " namespace=''\n" +
6170  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6171  " </input>\n" +
6172  " <output>\n" +
6173  " <soap:body\n" +
6174  " use='encoded'\n" +
6175  " namespace=''\n" +
6176  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6177  " </output>\n" +
6178  " </operation>\n" +
6179  " <operation name='complexSequenceReturn'>\n" +
6180  " <soap:operation soapAction=''/>\n" +
6181  " <input>\n" +
6182  " <soap:body\n" +
6183  " use='encoded'\n" +
6184  " namespace=''\n" +
6185  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6186  " </input>\n" +
6187  " <output>\n" +
6188  " <soap:body\n" +
6189  " use='encoded'\n" +
6190  " namespace=''\n" +
6191  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6192  " </output>\n" +
6193  " </operation>\n" +
6194  " <operation name='elemWComplexIn'>\n" +
6195  " <soap:operation soapAction=''/>\n" +
6196  " <input>\n" +
6197  " <soap:body\n" +
6198  " use='encoded'\n" +
6199  " namespace=''\n" +
6200  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6201  " </input>\n" +
6202  " <output>\n" +
6203  " <soap:body\n" +
6204  " use='encoded'\n" +
6205  " namespace=''\n" +
6206  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6207  " </output>\n" +
6208  " </operation>\n" +
6209  " <operation name='elemWComplexInout'>\n" +
6210  " <soap:operation soapAction=''/>\n" +
6211  " <input>\n" +
6212  " <soap:body\n" +
6213  " use='encoded'\n" +
6214  " namespace=''\n" +
6215  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6216  " </input>\n" +
6217  " <output>\n" +
6218  " <soap:body\n" +
6219  " use='encoded'\n" +
6220  " namespace=''\n" +
6221  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6222  " </output>\n" +
6223  " </operation>\n" +
6224  " <operation name='elemWComplexOut'>\n" +
6225  " <soap:operation soapAction=''/>\n" +
6226  " <input>\n" +
6227  " <soap:body\n" +
6228  " use='encoded'\n" +
6229  " namespace=''\n" +
6230  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6231  " </input>\n" +
6232  " <output>\n" +
6233  " <soap:body\n" +
6234  " use='encoded'\n" +
6235  " namespace=''\n" +
6236  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6237  " </output>\n" +
6238  " </operation>\n" +
6239  " <operation name='elemWComplexReturn'>\n" +
6240  " <soap:operation soapAction=''/>\n" +
6241  " <input>\n" +
6242  " <soap:body\n" +
6243  " use='encoded'\n" +
6244  " namespace=''\n" +
6245  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6246  " </input>\n" +
6247  " <output>\n" +
6248  " <soap:body\n" +
6249  " use='encoded'\n" +
6250  " namespace=''\n" +
6251  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6252  " </output>\n" +
6253  " </operation>\n" +
6254  " <operation name='complexWComplexIn'>\n" +
6255  " <soap:operation soapAction=''/>\n" +
6256  " <input>\n" +
6257  " <soap:body\n" +
6258  " use='encoded'\n" +
6259  " namespace=''\n" +
6260  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6261  " </input>\n" +
6262  " <output>\n" +
6263  " <soap:body\n" +
6264  " use='encoded'\n" +
6265  " namespace=''\n" +
6266  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6267  " </output>\n" +
6268  " </operation>\n" +
6269  " <operation name='complexWComplexInout'>\n" +
6270  " <soap:operation soapAction=''/>\n" +
6271  " <input>\n" +
6272  " <soap:body\n" +
6273  " use='encoded'\n" +
6274  " namespace=''\n" +
6275  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6276  " </input>\n" +
6277  " <output>\n" +
6278  " <soap:body\n" +
6279  " use='encoded'\n" +
6280  " namespace=''\n" +
6281  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6282  " </output>\n" +
6283  " </operation>\n" +
6284  " <operation name='complexWComplexOut'>\n" +
6285  " <soap:operation soapAction=''/>\n" +
6286  " <input>\n" +
6287  " <soap:body\n" +
6288  " use='encoded'\n" +
6289  " namespace=''\n" +
6290  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6291  " </input>\n" +
6292  " <output>\n" +
6293  " <soap:body\n" +
6294  " use='encoded'\n" +
6295  " namespace=''\n" +
6296  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6297  " </output>\n" +
6298  " </operation>\n" +
6299  " <operation name='complexWComplexReturn'>\n" +
6300  " <soap:operation soapAction=''/>\n" +
6301  " <input>\n" +
6302  " <soap:body\n" +
6303  " use='encoded'\n" +
6304  " namespace=''\n" +
6305  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6306  " </input>\n" +
6307  " <output>\n" +
6308  " <soap:body\n" +
6309  " use='encoded'\n" +
6310  " namespace=''\n" +
6311  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6312  " </output>\n" +
6313  " </operation>\n" +
6314  " <operation name='emptyComplexTypeIn'>\n" +
6315  " <soap:operation soapAction=''/>\n" +
6316  " <input>\n" +
6317  " <soap:body\n" +
6318  " use='encoded'\n" +
6319  " namespace=''\n" +
6320  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6321  " </input>\n" +
6322  " <output>\n" +
6323  " <soap:body\n" +
6324  " use='encoded'\n" +
6325  " namespace=''\n" +
6326  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6327  " </output>\n" +
6328  " <fault name='emptyFault'>\n" +
6329  " <soap:fault name='emptyFault' use='encoded'/>\n" +
6330  " </fault>\n" +
6331  " </operation>\n" +
6332  " <operation name='emptyComplexTypeInout'>\n" +
6333  " <soap:operation soapAction=''/>\n" +
6334  " <input>\n" +
6335  " <soap:body\n" +
6336  " use='encoded'\n" +
6337  " namespace=''\n" +
6338  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6339  " </input>\n" +
6340  " <output>\n" +
6341  " <soap:body\n" +
6342  " use='encoded'\n" +
6343  " namespace=''\n" +
6344  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6345  " </output>\n" +
6346  " <fault name='emptyFault'>\n" +
6347  " <soap:fault name='emptyFault' use='encoded'/>\n" +
6348  " </fault>\n" +
6349  " </operation>\n" +
6350  " <operation name='emptyComplexTypeOut'>\n" +
6351  " <soap:operation soapAction=''/>\n" +
6352  " <input>\n" +
6353  " <soap:body\n" +
6354  " use='encoded'\n" +
6355  " namespace=''\n" +
6356  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6357  " </input>\n" +
6358  " <output>\n" +
6359  " <soap:body\n" +
6360  " use='encoded'\n" +
6361  " namespace=''\n" +
6362  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6363  " </output>\n" +
6364  " <fault name='emptyFault'>\n" +
6365  " <soap:fault name='emptyFault' use='encoded'/>\n" +
6366  " </fault>\n" +
6367  " </operation>\n" +
6368  " <operation name='emptyComplexTypeReturn'>\n" +
6369  " <soap:operation soapAction=''/>\n" +
6370  " <input>\n" +
6371  " <soap:body\n" +
6372  " use='encoded'\n" +
6373  " namespace=''\n" +
6374  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6375  " </input>\n" +
6376  " <output>\n" +
6377  " <soap:body\n" +
6378  " use='encoded'\n" +
6379  " namespace=''\n" +
6380  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6381  " </output>\n" +
6382  " <fault name='emptyFault'>\n" +
6383  " <soap:fault name='emptyFault' use='encoded'/>\n" +
6384  " </fault>\n" +
6385  " </operation>\n" +
6386  " <operation name='anyIn'>\n" +
6387  " <soap:operation soapAction=''/>\n" +
6388  " <input>\n" +
6389  " <soap:body\n" +
6390  " use='encoded'\n" +
6391  " namespace=''\n" +
6392  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6393  " </input>\n" +
6394  " <output>\n" +
6395  " <soap:body\n" +
6396  " use='encoded'\n" +
6397  " namespace=''\n" +
6398  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6399  " </output>\n" +
6400  " </operation>\n" +
6401  " <operation name='anyInout'>\n" +
6402  " <soap:operation soapAction=''/>\n" +
6403  " <input>\n" +
6404  " <soap:body\n" +
6405  " use='encoded'\n" +
6406  " namespace=''\n" +
6407  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6408  " </input>\n" +
6409  " <output>\n" +
6410  " <soap:body\n" +
6411  " use='encoded'\n" +
6412  " namespace=''\n" +
6413  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6414  " </output>\n" +
6415  " </operation>\n" +
6416  " <operation name='anyOut'>\n" +
6417  " <soap:operation soapAction=''/>\n" +
6418  " <input>\n" +
6419  " <soap:body\n" +
6420  " use='encoded'\n" +
6421  " namespace=''\n" +
6422  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6423  " </input>\n" +
6424  " <output>\n" +
6425  " <soap:body\n" +
6426  " use='encoded'\n" +
6427  " namespace=''\n" +
6428  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6429  " </output>\n" +
6430  " </operation>\n" +
6431  " <operation name='anyReturn'>\n" +
6432  " <soap:operation soapAction=''/>\n" +
6433  " <input>\n" +
6434  " <soap:body\n" +
6435  " use='encoded'\n" +
6436  " namespace=''\n" +
6437  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6438  " </input>\n" +
6439  " <output>\n" +
6440  " <soap:body\n" +
6441  " use='encoded'\n" +
6442  " namespace=''\n" +
6443  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6444  " </output>\n" +
6445  " </operation>\n" +
6446  " <operation name='animalIn'>\n" +
6447  " <soap:operation soapAction=''/>\n" +
6448  " <input>\n" +
6449  " <soap:body\n" +
6450  " use='encoded'\n" +
6451  " namespace=''\n" +
6452  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6453  " </input>\n" +
6454  " <output>\n" +
6455  " <soap:body\n" +
6456  " use='encoded'\n" +
6457  " namespace=''\n" +
6458  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6459  " </output>\n" +
6460  " </operation>\n" +
6461  " <operation name='animalInout'>\n" +
6462  " <soap:operation soapAction=''/>\n" +
6463  " <input>\n" +
6464  " <soap:body\n" +
6465  " use='encoded'\n" +
6466  " namespace=''\n" +
6467  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6468  " </input>\n" +
6469  " <output>\n" +
6470  " <soap:body\n" +
6471  " use='encoded'\n" +
6472  " namespace=''\n" +
6473  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6474  " </output>\n" +
6475  " </operation>\n" +
6476  " <operation name='animalOut'>\n" +
6477  " <soap:operation soapAction=''/>\n" +
6478  " <input>\n" +
6479  " <soap:body\n" +
6480  " use='encoded'\n" +
6481  " namespace=''\n" +
6482  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6483  " </input>\n" +
6484  " <output>\n" +
6485  " <soap:body\n" +
6486  " use='encoded'\n" +
6487  " namespace=''\n" +
6488  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6489  " </output>\n" +
6490  " </operation>\n" +
6491  " <operation name='animalReturn'>\n" +
6492  " <soap:operation soapAction=''/>\n" +
6493  " <input>\n" +
6494  " <soap:body\n" +
6495  " use='encoded'\n" +
6496  " namespace=''\n" +
6497  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6498  " </input>\n" +
6499  " <output>\n" +
6500  " <soap:body\n" +
6501  " use='encoded'\n" +
6502  " namespace=''\n" +
6503  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6504  " </output>\n" +
6505  " </operation>\n" +
6506  " <operation name='catIn'>\n" +
6507  " <soap:operation soapAction=''/>\n" +
6508  " <input>\n" +
6509  " <soap:body\n" +
6510  " use='encoded'\n" +
6511  " namespace=''\n" +
6512  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6513  " </input>\n" +
6514  " <output>\n" +
6515  " <soap:body\n" +
6516  " use='encoded'\n" +
6517  " namespace=''\n" +
6518  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6519  " </output>\n" +
6520  " </operation>\n" +
6521  " <operation name='catInout'>\n" +
6522  " <soap:operation soapAction=''/>\n" +
6523  " <input>\n" +
6524  " <soap:body\n" +
6525  " use='encoded'\n" +
6526  " namespace=''\n" +
6527  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6528  " </input>\n" +
6529  " <output>\n" +
6530  " <soap:body\n" +
6531  " use='encoded'\n" +
6532  " namespace=''\n" +
6533  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6534  " </output>\n" +
6535  " </operation>\n" +
6536  " <operation name='catOut'>\n" +
6537  " <soap:operation soapAction=''/>\n" +
6538  " <input>\n" +
6539  " <soap:body\n" +
6540  " use='encoded'\n" +
6541  " namespace=''\n" +
6542  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6543  " </input>\n" +
6544  " <output>\n" +
6545  " <soap:body\n" +
6546  " use='encoded'\n" +
6547  " namespace=''\n" +
6548  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6549  " </output>\n" +
6550  " </operation>\n" +
6551  " <operation name='catReturn'>\n" +
6552  " <soap:operation soapAction=''/>\n" +
6553  " <input>\n" +
6554  " <soap:body\n" +
6555  " use='encoded'\n" +
6556  " namespace=''\n" +
6557  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6558  " </input>\n" +
6559  " <output>\n" +
6560  " <soap:body\n" +
6561  " use='encoded'\n" +
6562  " namespace=''\n" +
6563  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6564  " </output>\n" +
6565  " </operation>\n" +
6566  " <operation name='methodBoolean'>\n" +
6567  " <soap:operation soapAction=''/>\n" +
6568  " <input>\n" +
6569  " <soap:body\n" +
6570  " use='encoded'\n" +
6571  " namespace=''\n" +
6572  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6573  " </input>\n" +
6574  " <output>\n" +
6575  " <soap:body\n" +
6576  " use='encoded'\n" +
6577  " namespace=''\n" +
6578  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6579  " </output>\n" +
6580  " </operation>\n" +
6581  " <operation name='methodByte'>\n" +
6582  " <soap:operation soapAction=''/>\n" +
6583  " <input>\n" +
6584  " <soap:body\n" +
6585  " use='encoded'\n" +
6586  " namespace=''\n" +
6587  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6588  " </input>\n" +
6589  " <output>\n" +
6590  " <soap:body\n" +
6591  " use='encoded'\n" +
6592  " namespace=''\n" +
6593  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6594  " </output>\n" +
6595  " </operation>\n" +
6596  " <operation name='methodShort'>\n" +
6597  " <soap:operation soapAction=''/>\n" +
6598  " <input>\n" +
6599  " <soap:body\n" +
6600  " use='encoded'\n" +
6601  " namespace=''\n" +
6602  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6603  " </input>\n" +
6604  " <output>\n" +
6605  " <soap:body\n" +
6606  " use='encoded'\n" +
6607  " namespace=''\n" +
6608  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6609  " </output>\n" +
6610  " </operation>\n" +
6611  " <operation name='methodInt'>\n" +
6612  " <soap:operation soapAction=''/>\n" +
6613  " <input>\n" +
6614  " <soap:body\n" +
6615  " use='encoded'\n" +
6616  " namespace=''\n" +
6617  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6618  " </input>\n" +
6619  " <output>\n" +
6620  " <soap:body\n" +
6621  " use='encoded'\n" +
6622  " namespace=''\n" +
6623  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6624  " </output>\n" +
6625  " </operation>\n" +
6626  " <operation name='methodLong'>\n" +
6627  " <soap:operation soapAction=''/>\n" +
6628  " <input>\n" +
6629  " <soap:body\n" +
6630  " use='encoded'\n" +
6631  " namespace=''\n" +
6632  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6633  " </input>\n" +
6634  " <output>\n" +
6635  " <soap:body\n" +
6636  " use='encoded'\n" +
6637  " namespace=''\n" +
6638  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6639  " </output>\n" +
6640  " </operation>\n" +
6641  " <operation name='methodFloat'>\n" +
6642  " <soap:operation soapAction=''/>\n" +
6643  " <input>\n" +
6644  " <soap:body\n" +
6645  " use='encoded'\n" +
6646  " namespace=''\n" +
6647  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6648  " </input>\n" +
6649  " <output>\n" +
6650  " <soap:body\n" +
6651  " use='encoded'\n" +
6652  " namespace=''\n" +
6653  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6654  " </output>\n" +
6655  " </operation>\n" +
6656  " <operation name='methodDouble'>\n" +
6657  " <soap:operation soapAction=''/>\n" +
6658  " <input>\n" +
6659  " <soap:body\n" +
6660  " use='encoded'\n" +
6661  " namespace=''\n" +
6662  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6663  " </input>\n" +
6664  " <output>\n" +
6665  " <soap:body\n" +
6666  " use='encoded'\n" +
6667  " namespace=''\n" +
6668  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6669  " </output>\n" +
6670  " </operation>\n" +
6671  " <operation name='methodString'>\n" +
6672  " <soap:operation soapAction=''/>\n" +
6673  " <input>\n" +
6674  " <soap:body\n" +
6675  " use='encoded'\n" +
6676  " namespace=''\n" +
6677  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6678  " </input>\n" +
6679  " <output>\n" +
6680  " <soap:body\n" +
6681  " use='encoded'\n" +
6682  " namespace=''\n" +
6683  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6684  " </output>\n" +
6685  " </operation>\n" +
6686  " <operation name='methodInteger'>\n" +
6687  " <soap:operation soapAction=''/>\n" +
6688  " <input>\n" +
6689  " <soap:body\n" +
6690  " use='encoded'\n" +
6691  " namespace=''\n" +
6692  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6693  " </input>\n" +
6694  " <output>\n" +
6695  " <soap:body\n" +
6696  " use='encoded'\n" +
6697  " namespace=''\n" +
6698  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6699  " </output>\n" +
6700  " </operation>\n" +
6701  " <operation name='methodDecimal'>\n" +
6702  " <soap:operation soapAction=''/>\n" +
6703  " <input>\n" +
6704  " <soap:body\n" +
6705  " use='encoded'\n" +
6706  " namespace=''\n" +
6707  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6708  " </input>\n" +
6709  " <output>\n" +
6710  " <soap:body\n" +
6711  " use='encoded'\n" +
6712  " namespace=''\n" +
6713  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6714  " </output>\n" +
6715  " </operation>\n" +
6716  " <operation name='methodDateTime'>\n" +
6717  " <soap:operation soapAction=''/>\n" +
6718  " <input>\n" +
6719  " <soap:body\n" +
6720  " use='encoded'\n" +
6721  " namespace=''\n" +
6722  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6723  " </input>\n" +
6724  " <output>\n" +
6725  " <soap:body\n" +
6726  " use='encoded'\n" +
6727  " namespace=''\n" +
6728  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6729  " </output>\n" +
6730  " </operation> \n" +
6731  " <!-- Comment out for now because causes compile errors\n" +
6732  " <operation name='methodBase64Binary'>\n" +
6733  " <soap:operation soapAction=''/>\n" +
6734  " <input>\n" +
6735  " <soap:body\n" +
6736  " use='encoded'\n" +
6737  " namespace=''\n" +
6738  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6739  " </input>\n" +
6740  " <output>\n" +
6741  " <soap:body\n" +
6742  " use='encoded'\n" +
6743  " namespace=''\n" +
6744  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6745  " </output>\n" +
6746  " </operation>\n" +
6747  " -->\n" +
6748  " <operation name='methodQName'>\n" +
6749  " <soap:operation soapAction=''/>\n" +
6750  " <input>\n" +
6751  " <soap:body\n" +
6752  " use='encoded'\n" +
6753  " namespace=''\n" +
6754  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6755  " </input>\n" +
6756  " <output>\n" +
6757  " <soap:body\n" +
6758  " use='encoded'\n" +
6759  " namespace=''\n" +
6760  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6761  " </output>\n" +
6762  " </operation> \n" +
6763  " <!-- Comment out for now because causes compile errors\n" +
6764  " <operation name='methodHexBinary'>\n" +
6765  " <soap:operation soapAction=''/>\n" +
6766  " <input>\n" +
6767  " <soap:body\n" +
6768  " use='encoded'\n" +
6769  " namespace=''\n" +
6770  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6771  " </input>\n" +
6772  " <output>\n" +
6773  " <soap:body\n" +
6774  " use='encoded'\n" +
6775  " namespace=''\n" +
6776  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6777  " </output>\n" +
6778  " </operation>\n" +
6779  " -->\n" +
6780  " <operation name='methodTime'>\n" +
6781  " <soap:operation soapAction=''/>\n" +
6782  " <input>\n" +
6783  " <soap:body\n" +
6784  " use='encoded'\n" +
6785  " namespace=''\n" +
6786  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6787  " </input>\n" +
6788  " <output>\n" +
6789  " <soap:body\n" +
6790  " use='encoded'\n" +
6791  " namespace=''\n" +
6792  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6793  " </output>\n" +
6794  " </operation> \n" +
6795  " <operation name='methodUnsignedLong'>\n" +
6796  " <soap:operation soapAction=''/>\n" +
6797  " <input>\n" +
6798  " <soap:body\n" +
6799  " use='encoded'\n" +
6800  " namespace=''\n" +
6801  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6802  " </input>\n" +
6803  " <output>\n" +
6804  " <soap:body\n" +
6805  " use='encoded'\n" +
6806  " namespace=''\n" +
6807  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6808  " </output>\n" +
6809  " </operation> \n" +
6810  " <operation name='methodUnsignedInt'>\n" +
6811  " <soap:operation soapAction=''/>\n" +
6812  " <input>\n" +
6813  " <soap:body\n" +
6814  " use='encoded'\n" +
6815  " namespace=''\n" +
6816  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6817  " </input>\n" +
6818  " <output>\n" +
6819  " <soap:body\n" +
6820  " use='encoded'\n" +
6821  " namespace=''\n" +
6822  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6823  " </output>\n" +
6824  " </operation> \n" +
6825  " <operation name='methodUnsignedShort'>\n" +
6826  " <soap:operation soapAction=''/>\n" +
6827  " <input>\n" +
6828  " <soap:body\n" +
6829  " use='encoded'\n" +
6830  " namespace=''\n" +
6831  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6832  " </input>\n" +
6833  " <output>\n" +
6834  " <soap:body\n" +
6835  " use='encoded'\n" +
6836  " namespace=''\n" +
6837  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6838  " </output>\n" +
6839  " </operation> \n" +
6840  " <operation name='methodUnsignedByte'>\n" +
6841  " <soap:operation soapAction=''/>\n" +
6842  " <input>\n" +
6843  " <soap:body\n" +
6844  " use='encoded'\n" +
6845  " namespace=''\n" +
6846  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6847  " </input>\n" +
6848  " <output>\n" +
6849  " <soap:body\n" +
6850  " use='encoded'\n" +
6851  " namespace=''\n" +
6852  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6853  " </output>\n" +
6854  " </operation> \n" +
6855  " <operation name='methodNonNegativeInteger'>\n" +
6856  " <soap:operation soapAction=''/>\n" +
6857  " <input>\n" +
6858  " <soap:body\n" +
6859  " use='encoded'\n" +
6860  " namespace=''\n" +
6861  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6862  " </input>\n" +
6863  " <output>\n" +
6864  " <soap:body\n" +
6865  " use='encoded'\n" +
6866  " namespace=''\n" +
6867  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6868  " </output>\n" +
6869  " </operation>\n" +
6870  " <operation name='methodPositiveInteger'>\n" +
6871  " <soap:operation soapAction=''/>\n" +
6872  " <input>\n" +
6873  " <soap:body\n" +
6874  " use='encoded'\n" +
6875  " namespace=''\n" +
6876  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6877  " </input>\n" +
6878  " <output>\n" +
6879  " <soap:body\n" +
6880  " use='encoded'\n" +
6881  " namespace=''\n" +
6882  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6883  " </output>\n" +
6884  " </operation>\n" +
6885  " <operation name='methodNonPositiveInteger'>\n" +
6886  " <soap:operation soapAction=''/>\n" +
6887  " <input>\n" +
6888  " <soap:body\n" +
6889  " use='encoded'\n" +
6890  " namespace=''\n" +
6891  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6892  " </input>\n" +
6893  " <output>\n" +
6894  " <soap:body\n" +
6895  " use='encoded'\n" +
6896  " namespace=''\n" +
6897  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6898  " </output>\n" +
6899  " </operation>\n" +
6900  " <operation name='methodNegativeInteger'>\n" +
6901  " <soap:operation soapAction=''/>\n" +
6902  " <input>\n" +
6903  " <soap:body\n" +
6904  " use='encoded'\n" +
6905  " namespace=''\n" +
6906  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6907  " </input>\n" +
6908  " <output>\n" +
6909  " <soap:body\n" +
6910  " use='encoded'\n" +
6911  " namespace=''\n" +
6912  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6913  " </output>\n" +
6914  " </operation>\n" +
6915  " \n" +
6916  " <operation name='methodAnyURI'>\n" +
6917  " <soap:operation soapAction=''/>\n" +
6918  " <input>\n" +
6919  " <soap:body\n" +
6920  " use='encoded'\n" +
6921  " namespace=''\n" +
6922  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6923  " </input>\n" +
6924  " <output>\n" +
6925  " <soap:body\n" +
6926  " use='encoded'\n" +
6927  " namespace=''\n" +
6928  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6929  " </output>\n" +
6930  " </operation> \n" +
6931  " <operation name='methodSimpleAnyURI'>\n" +
6932  " <soap:operation soapAction=''/>\n" +
6933  " <input>\n" +
6934  " <soap:body\n" +
6935  " use='encoded'\n" +
6936  " namespace=''\n" +
6937  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6938  " </input>\n" +
6939  " <output>\n" +
6940  " <soap:body\n" +
6941  " use='encoded'\n" +
6942  " namespace=''\n" +
6943  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6944  " </output>\n" +
6945  " </operation> \n" +
6946  " <operation name='methodYear'>\n" +
6947  " <soap:operation soapAction=''/>\n" +
6948  " <input>\n" +
6949  " <soap:body\n" +
6950  " use='encoded'\n" +
6951  " namespace=''\n" +
6952  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6953  " </input>\n" +
6954  " <output>\n" +
6955  " <soap:body\n" +
6956  " use='encoded'\n" +
6957  " namespace=''\n" +
6958  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6959  " </output>\n" +
6960  " </operation> \n" +
6961  " <operation name='methodMonth'>\n" +
6962  " <soap:operation soapAction=''/>\n" +
6963  " <input>\n" +
6964  " <soap:body\n" +
6965  " use='encoded'\n" +
6966  " namespace=''\n" +
6967  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6968  " </input>\n" +
6969  " <output>\n" +
6970  " <soap:body\n" +
6971  " use='encoded'\n" +
6972  " namespace=''\n" +
6973  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6974  " </output>\n" +
6975  " </operation> \n" +
6976  " <operation name='methodDay'>\n" +
6977  " <soap:operation soapAction=''/>\n" +
6978  " <input>\n" +
6979  " <soap:body\n" +
6980  " use='encoded'\n" +
6981  " namespace=''\n" +
6982  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6983  " </input>\n" +
6984  " <output>\n" +
6985  " <soap:body\n" +
6986  " use='encoded'\n" +
6987  " namespace=''\n" +
6988  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6989  " </output>\n" +
6990  " </operation> \n" +
6991  " <operation name='methodYearMonth'>\n" +
6992  " <soap:operation soapAction=''/>\n" +
6993  " <input>\n" +
6994  " <soap:body\n" +
6995  " use='encoded'\n" +
6996  " namespace=''\n" +
6997  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
6998  " </input>\n" +
6999  " <output>\n" +
7000  " <soap:body\n" +
7001  " use='encoded'\n" +
7002  " namespace=''\n" +
7003  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
7004  " </output>\n" +
7005  " </operation> \n" +
7006  " <operation name='methodMonthDay'>\n" +
7007  " <soap:operation soapAction=''/>\n" +
7008  " <input>\n" +
7009  " <soap:body\n" +
7010  " use='encoded'\n" +
7011  " namespace=''\n" +
7012  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
7013  " </input>\n" +
7014  " <output>\n" +
7015  " <soap:body\n" +
7016  " use='encoded'\n" +
7017  " namespace=''\n" +
7018  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
7019  " </output>\n" +
7020  " </operation> \n" +
7021  " <operation name='methodSoapString'>\n" +
7022  " <soap:operation soapAction=''/>\n" +
7023  " <input>\n" +
7024  " <soap:body\n" +
7025  " use='encoded'\n" +
7026  " namespace=''\n" +
7027  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
7028  " </input>\n" +
7029  " <output>\n" +
7030  " <soap:body\n" +
7031  " use='encoded'\n" +
7032  " namespace=''\n" +
7033  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
7034  " </output>\n" +
7035  " </operation>\n" +
7036  " <operation name='methodSoapBoolean'>\n" +
7037  " <soap:operation soapAction=''/>\n" +
7038  " <input>\n" +
7039  " <soap:body\n" +
7040  " use='encoded'\n" +
7041  " namespace=''\n" +
7042  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
7043  " </input>\n" +
7044  " <output>\n" +
7045  " <soap:body\n" +
7046  " use='encoded'\n" +
7047  " namespace=''\n" +
7048  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
7049  " </output>\n" +
7050  " </operation>\n" +
7051  " <operation name='methodSoapFloat'>\n" +
7052  " <soap:operation soapAction=''/>\n" +
7053  " <input>\n" +
7054  " <soap:body\n" +
7055  " use='encoded'\n" +
7056  " namespace=''\n" +
7057  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
7058  " </input>\n" +
7059  " <output>\n" +
7060  " <soap:body\n" +
7061  " use='encoded'\n" +
7062  " namespace=''\n" +
7063  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
7064  " </output>\n" +
7065  " </operation>\n" +
7066  " <operation name='methodSoapDouble'>\n" +
7067  " <soap:operation soapAction=''/>\n" +
7068  " <input>\n" +
7069  " <soap:body\n" +
7070  " use='encoded'\n" +
7071  " namespace=''\n" +
7072  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
7073  " </input>\n" +
7074  " <output>\n" +
7075  " <soap:body\n" +
7076  " use='encoded'\n" +
7077  " namespace=''\n" +
7078  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
7079  " </output>\n" +
7080  " </operation>\n" +
7081  " <operation name='methodSoapDecimal'>\n" +
7082  " <soap:operation soapAction=''/>\n" +
7083  " <input>\n" +
7084  " <soap:body\n" +
7085  " use='encoded'\n" +
7086  " namespace=''\n" +
7087  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
7088  " </input>\n" +
7089  " <output>\n" +
7090  " <soap:body\n" +
7091  " use='encoded'\n" +
7092  " namespace=''\n" +
7093  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
7094  " </output>\n" +
7095  " </operation>\n" +
7096  " <operation name='methodSoapInt'>\n" +
7097  " <soap:operation soapAction=''/>\n" +
7098  " <input>\n" +
7099  " <soap:body\n" +
7100  " use='encoded'\n" +
7101  " namespace=''\n" +
7102  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
7103  " </input>\n" +
7104  " <output>\n" +
7105  " <soap:body\n" +
7106  " use='encoded'\n" +
7107  " namespace=''\n" +
7108  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
7109  " </output>\n" +
7110  " </operation>\n" +
7111  " <operation name='methodSoapShort'>\n" +
7112  " <soap:operation soapAction=''/>\n" +
7113  " <input>\n" +
7114  " <soap:body\n" +
7115  " use='encoded'\n" +
7116  " namespace=''\n" +
7117  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
7118  " </input>\n" +
7119  " <output>\n" +
7120  " <soap:body\n" +
7121  " use='encoded'\n" +
7122  " namespace=''\n" +
7123  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
7124  " </output>\n" +
7125  " </operation> \n" +
7126  " <!-- Comment out for now because causes compile errors\n" +
7127  " <operation name='methodSoapBase64'>\n" +
7128  " <soap:operation soapAction=''/>\n" +
7129  " <input>\n" +
7130  " <soap:body\n" +
7131  " use='encoded'\n" +
7132  " namespace=''\n" +
7133  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
7134  " </input>\n" +
7135  " <output>\n" +
7136  " <soap:body\n" +
7137  " use='encoded'\n" +
7138  " namespace=''\n" +
7139  " encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/>\n" +
7140  " </output>\n" +
7141  " </operation>\n" +
7142  " -->\n" +
7143  " </binding>\n" +
7144  "\n" +
7145  " <!-- service decln -->\n" +
7146  " <service name='TypeTestService'>\n" +
7147  " <port name='TypeTest' binding='tns:TypeTestBinding'>\n" +
7148  " <soap:address location='http://localhost:8080/axis/services/TypeTest'/>\n" +
7149  " </port>\n" +
7150  " </service>\n" +
7151  "\n" +
7152  "</definitions>\n";
7153
7154  public void testComprehensiveTypes() throws Exception JavaDoc {
7155      StringBuffer JavaDoc comprehensiveTypesText = new StringBuffer JavaDoc(comprehensiveTypes1);
7156      comprehensiveTypesText.append(comprehensiveTypes2);
7157      parseString(comprehensiveTypesText.toString(), "ComprehensiveTypes.wsdl");
7158  }
7159}
7160
Popular Tags