1SOAP::WSDL::Generator::UIsteerraCtoonrt:r:iWbSuDtLeS1dO1A(PP3e:)r:lWSDDoLc:u:mGeennteartaitoonr::Iterator::WSDL11(3)
2
3
4

NAME

6       SOAP::WSDL::Generator::Iterator::WSDL11 - WSDL 1.1 Iterator
7

SYNOPSIS

9        my $iter = SOAP::WSDL::Generator::Iterator::WSDL11->new({
10            definitions => $wsdl
11        });
12        $iter->init();
13        while (my $node = $iter->get_next()) {
14            # do something with node - possibly call _accept with a visitor on it...
15        }
16

DESCRIPTION

18       Iterator for walking a WSDL 1.1 definition.
19
20       The iterator performs a depth-first search along the following path:
21
22        service
23        port
24        binding
25        operation
26        input/output/fault of operation in portType
27        message
28        part
29        type/element in XML schema
30
31       If you wonder about this path: This is how to look up which XML Schema
32       element is associated with a operation from a service/port.
33
34   Example
35       The nodes are returned in the order denoted in the following example:
36
37        <?xml version="1.0" encoding="UTF-8"?>
38        <!-- 1 -->
39        <definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
40          xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
41          xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="urn:HelloWorld"
42          targetNamespace="urn:HelloWorld"
43          xmlns="http://schemas.xmlsoap.org/wsdl/">
44          <types>
45            <s:schema elementFormDefault="qualified" targetNamespace="urn:HelloWorld">
46              <!-- 9 -->
47              <s:element name="sayHello">
48                <s:complexType>
49                   <s:sequence>
50                     <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string" />
51                     <s:element minOccurs="0" maxOccurs="1" name="givenName" type="s:string" nillable="1" />
52                   </s:sequence>
53                   <s:attribute name="testAttr" type="s:string" use="optional"></s:attribute>
54                 </s:complexType>
55               </s:element>
56
57               <!-- 13 -->
58               <s:element name="sayHelloResponse">
59                 <s:complexType>
60                   <s:sequence>
61                     <s:element minOccurs="0" maxOccurs="1"
62                       name="sayHelloResult" type="s:string" />
63                  </s:sequence>
64                </s:complexType>
65              </s:element>
66            </s:schema>
67          </types>
68
69          <!-- 7 -->
70          <message name="sayHelloSoapIn">
71            <!-- 8 -->
72            <part name="parameters" element="s0:sayHello" />
73          </message>
74
75          <!-- 11 -->
76          <message name="sayHelloSoapOut">
77            <!-- 12 -->
78            <part name="parameters" element="s0:sayHelloResponse" />
79          </message>
80
81          <portType name="Service1Soap">
82            <operation name="sayHello">
83            <!-- 6 -->
84            <input message="s0:sayHelloSoapIn" />
85            <!-- 10 -->
86            <output message="s0:sayHelloSoapOut" />
87          </operation>
88         </portType>
89
90           <!-- 4 -->
91           <binding name="Service1Soap" type="s0:Service1Soap">
92               <soap:binding transport="http://schemas.xmlsoap.org/soap/http"
93                   style="document" />
94
95               <!-- 5 -->
96               <operation name="sayHello">
97                   <soap:operation soapAction="urn:HelloWorld#sayHello"
98                       style="document" />
99
100                   <input>
101                       <soap:body use="literal" />
102                   </input>
103
104                   <output>
105                       <soap:body use="literal" />
106                   </output>
107               </operation>
108           </binding>
109
110           <!-- 2 -->
111           <service name="Service1">
112               <!-- 3 -->
113               <port name="Service1Soap" binding="s0:Service1Soap">
114                   <soap:address
115                       location="http://localhost:81/soap-wsdl-test/helloworld.pl" />
116               </port>
117           </service>
118        </definitions>
119
120       You should not rely too much on this order - it may change. Even though
121       the current order will probably remain, the nodes currently skipped
122       might be returned somewhere along the path.
123
125       Copyright 2004-2008 Martin Kutter.
126
127       This file is part of SOAP-WSDL. You may distribute/modify it under the
128       same terms as perl itself
129

AUTHOR

131       Martin Kutter <martin.kutter fen-net.de>
132

REPOSITORY INFORMATION

134        $Rev: 239 $
135        $LastChangedBy: kutterma $
136        $Id: Client.pm 239 2007-09-11 09:45:42Z kutterma $
137        $HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Client.pm $
138
139
140
141perl v5.32.1                      202S1O-A0P1:-:2W7SDL::Generator::Iterator::WSDL11(3)
Impressum