Subversion Repositories XServices

Rev

Rev 59 | Rev 77 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 59 Rev 67
1
<?xml version="1.0" encoding="UTF-8"?><book xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0">
1
<?xml version="1.0" encoding="UTF-8"?><book xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" version="5.0">
2
	<title>Brutex XServices Documentation</title>
2
	<title>Brutex XServices Documentation</title>
3
	<bookinfo>
3
	<bookinfo>
4
		<date>February, 16th 2010</date>
4
		<date>February, 16th 2010</date>
5
		<author>
5
		<author>
6
			<firstname>Brian</firstname>
6
			<firstname>Brian</firstname>
7
			<surname>Rosenberger</surname>
7
			<surname>Rosenberger</surname>
8
			<email>bru@brutex.de</email>
8
			<email>bru@brutex.de</email>
9
		</author>
9
		</author>
10
		<corpname>Brutex Network</corpname>
10
		<corpname>Brutex Network</corpname>
11
		<copyright>
11
		<copyright>
12
			<year>2011</year>
12
			<year>2011</year>
13
		</copyright>
13
		</copyright>
14
		<legalnotice>
14
		<legalnotice>
15
			<para>
15
			<para>
16
				The copyright holders make no representation about the suitability
16
				The copyright holders make no representation about the suitability
17
				of this document for any purpose. It is provided
17
				of this document for any purpose. It is provided
18
				<quote>as is</quote>
18
				<quote>as is</quote>
19
				without expressed or implied warranty.
19
				without expressed or implied warranty.
20
			</para>
20
			</para>
21
		</legalnotice>
21
		</legalnotice>
22
		<legalnotice>
22
		<legalnotice>
23
			<para>Apache Tomcat and Apache Ant are trademarks of the Apache
23
			<para>Apache Tomcat and Apache Ant are trademarks of the Apache
24
				Software Foundation.</para>
24
				Software Foundation.</para>
25
		</legalnotice>
25
		</legalnotice>
26
		<abstract xml:base="common/abstract.xml">
26
		<abstract xml:base="common/abstract.xml">
27
			<title>Abstract</title>
27
			<title>Abstract</title>
28
			<para>In complex IT environments it is necessary to integrate
28
			<para>In complex IT environments it is necessary to integrate
29
				different information systems with each other, exchange data
29
				different information systems with each other, exchange data
30
				between
30
				between
31
				tools and automate actions and function calls depending
31
				tools and automate actions and function calls depending
32
				on events
32
				on events
33
				arising from user interaction. To meet the requirements
33
				arising from user interaction. To meet the requirements
34
				of
34
				of
35
				integration building usually means to implement APIs and to
35
				integration building usually means to implement APIs and to
36
				create
36
				create
37
				tool-to-tool bridges. Web Services can help to clean up
37
				tool-to-tool bridges. Web Services can help to clean up
38
				bridges into
38
				bridges into
39
				interfaces as well as to abstract functions from
39
				interfaces as well as to abstract functions from
40
				their underlying
40
				their underlying
41
				platform and implementation.</para>
41
				platform and implementation.</para>
42
			<para>These are the major goals of the loosely coupled
42
			<para>These are the major goals of the loosely coupled
43
				integration
43
				integration
44
				strategy which is in turn one essential idea of a
44
				strategy which is in turn one essential idea of a
45
				service-oriented
45
				service-oriented
46
				architecture (SOA).</para>
46
				architecture (SOA).</para>
47
			<para>provide a low level set of functions and web services.
47
			<para>provide a low level set of functions and web services.
48
				These can
48
				These can
49
				be orchestrated into services and used in business
49
				be orchestrated into services and used in business
50
				processes which
50
				processes which
51
				make up the execution part of a SOA
51
				make up the execution part of a SOA
52
				environment.</para>
52
				environment.</para>
53
			<para>is an add-on to XBridgeNG 2.0. It runs standalone or in
53
			<para>is an add-on to XBridgeNG 2.0. It runs standalone or in
54
				combination with XBridgeNG. Pure XBridgeNG has two
54
				combination with XBridgeNG. Pure XBridgeNG has two
55
				components:</para>
55
				components:</para>
56
			<para>
56
			<para>
57
				<itemizedlist>
57
				<itemizedlist>
58
					<listitem>
58
					<listitem>
59
						<para>XML Schema for item based data types (e.g. tickets
59
						<para>XML Schema for item based data types (e.g. tickets
60
							from a bug
60
							from a bug
61
							tracker system or a database record)</para>
61
							tracker system or a database record)</para>
62
					</listitem>
62
					</listitem>
63
					<listitem>
63
					<listitem>
64
						<para>Set of Apache Ant tasks to function as a bridge
64
						<para>Set of Apache Ant tasks to function as a bridge
65
							between the
65
							between the
66
							XBridgeNG XML format at legacy 3rd party
66
							XBridgeNG XML format at legacy 3rd party
67
							software (e.g. HP Quality
67
							software (e.g. HP Quality
68
							Center, Serena TeamTrack,
68
							Center, Serena TeamTrack,
69
							...)</para>
69
							...)</para>
70
					</listitem>
70
					</listitem>
71
					<listitem>
71
					<listitem>
72
						<para>The add Web Services (SOAP) wrapper around Apache Ant
72
						<para>The add Web Services (SOAP) wrapper around Apache Ant
73
							tasks
73
							tasks
74
							(since XBridgeNG 2.0)</para>
74
							(since XBridgeNG 2.0)</para>
75
					</listitem>
75
					</listitem>
76
				</itemizedlist>
76
				</itemizedlist>
77
			</para>
77
			</para>
78
			<para>The current focus is on file-based operations. do not
78
			<para>The current focus is on file-based operations. do not
79
				contain an
79
				contain an
80
				integration server or a process execution
80
				integration server or a process execution
81
				engine.</para>
81
				engine.</para>
82
		</abstract>
82
		</abstract>
83
	</bookinfo>
83
	</bookinfo>
84
	<chapter id="installation">
84
	<chapter id="installation">
85
		<beginpage/>
85
		<beginpage/>
86
		<title>Getting started</title>
86
		<title>Getting started</title>
87
		<para>This chapter describes the installation.</para>
87
		<para>This chapter describes the installation.</para>
88
		<section xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:base="common/installation.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
88
		<section xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:base="common/installation.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
89
 
89
 
90
	<section>
90
	<section>
91
		<title>Installation</title>
91
		<title>Installation</title>
92
		<para>tbd.</para>
92
		<para>tbd.</para>
93
		<para>Sun Java SE 1.6.0</para>
93
		<para>Sun Java SE 1.6.0</para>
94
		<para>Apache Tomcat 7</para>
94
		<para>Apache Tomcat 7</para>
95
		<para>tbd.</para>
95
		<para>tbd.</para>
96
		<para>In short: Deploy .WAR file to Apache Tomcat</para>
96
		<para>In short: Deploy .WAR file to Apache Tomcat</para>
97
		<section>
97
		<section>
98
			<title>Securing with Basic Authentication</title>
98
			<title>Securing with Basic Authentication</title>
99
			<para>There is a quick guide explaining Basic Authentication for Tomcat here: <link xlink:href="http://oreilly.com/pub/a/java/archive/tomcat-tips.html?page=1">
99
			<para>There is a quick guide explaining Basic Authentication for Tomcat here: <link xlink:href="http://oreilly.com/pub/a/java/archive/tomcat-tips.html?page=1">
100
					http://oreilly.com/pub/a/java/archive/tomcat-tips.html?page=1</link>
100
					http://oreilly.com/pub/a/java/archive/tomcat-tips.html?page=1</link>
101
					</para>
101
					</para>
102
			<para>
102
			<para>
103
				
103
				
104
			</para>
104
			</para>
105
		</section>
105
		</section>
106
		<section>
106
		<section>
107
			<title>Limit access to</title>
107
			<title>Limit access to</title>
108
			<para>Sometimes you'll only want to restrict access to to
108
			<para>Sometimes you'll only want to restrict access to to
109
				only
109
				only
110
				specified host names or IP addresses. This way, only
110
				specified host names or IP addresses. This way, only
111
				clients at
111
				clients at
112
				those specified addresses can use the web services.
112
				those specified addresses can use the web services.
113
				Tomcat provides
113
				Tomcat provides
114
				two configuration values for that:
114
				two configuration values for that:
115
				RemoteHostValve and
115
				RemoteHostValve and
116
				RemoteAddrValve.</para>
116
				RemoteAddrValve.</para>
117
			<para>These Valves allow you to filter requests by host name or
117
			<para>These Valves allow you to filter requests by host name or
118
				by IP
118
				by IP
119
				address, and to allow or deny hosts that match. The
119
				address, and to allow or deny hosts that match. The
120
				example below
120
				example below
121
				restricts access to the ArchiveService from any
121
				restricts access to the ArchiveService from any
122
				machine that is not
122
				machine that is not
123
				the local host.</para>
123
				the local host.</para>
124
			<programlisting language="xml">&lt;Context
124
			<programlisting language="xml">&lt;Context
125
				path="/XService/ArchiveService"
125
				path="/XService/ArchiveService"
126
				...&gt; &lt;Valve
126
				...&gt; &lt;Valve
127
				className="org.apache.catalina.valves.RemoteAddrValve"
127
				className="org.apache.catalina.valves.RemoteAddrValve"
128
				allow="127.0.0.1" deny=""/&gt; &lt;/Context&gt;
128
				allow="127.0.0.1" deny=""/&gt; &lt;/Context&gt;
129
			</programlisting>
129
			</programlisting>
130
			<para>If no allow pattern is given, then patterns that match
130
			<para>If no allow pattern is given, then patterns that match
131
				the deny
131
				the deny
132
				attribute patterns will be rejected, and all others
132
				attribute patterns will be rejected, and all others
133
				will be allowed.
133
				will be allowed.
134
				Similarly, if no deny pattern is given,
134
				Similarly, if no deny pattern is given,
135
				patterns that match the
135
				patterns that match the
136
				allow attribute will be allowed, and
136
				allow attribute will be allowed, and
137
				all others will be denied.
137
				all others will be denied.
138
				</para>
138
				</para>
139
			<para>The &lt;context&gt; element must be placed into the
139
			<para>The &lt;context&gt; element must be placed into the
140
				server.xml
140
				server.xml
141
				file (into &lt;engine&gt;&lt;host&gt;).</para>
141
				file (into &lt;engine&gt;&lt;host&gt;).</para>
142
		</section>
142
		</section>
143
	</section>
143
	</section>
144
</section>
144
</section>
145
	</chapter>
145
	</chapter>
146
	<chapter id="services">
146
	<chapter id="services">
147
		<beginpage/>
147
		<beginpage/>
148
		<title>Available Services</title>
148
		<title>Available Services</title>
149
		<para>List of available web services and their operations.</para>
149
		<para>List of available web services and their operations.</para>
150
		<section id="archiveservices" version="5.0" xml:base="ArchiveServices.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
150
		<section id="archiveservices" version="5.0" xml:base="ArchiveServices.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
151
			<title>ArchiveServices</title>
151
			<title>ArchiveServices</title>
152
			<para>The ArchiveService bundles file packing operations. Its
152
			<para>The ArchiveService bundles file packing operations. Its
153
				WSDL is
153
				WSDL is
154
				located at
154
				located at
155
				http://server:port/XServices/ArchiveService?wsdl</para>
155
				http://server:port/XServices/ArchiveService?wsdl</para>
156
		</section>
156
		</section>
-
 
157
		<section id="dateservices" version="5.0" xml:base="DateServices.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
-
 
158
	<title>DateServices</title>
-
 
159
	<para>The DateService bundles various date and time related operations. Its WSDL is located at
-
 
160
		http://server:port/XServices/DateService?wsdl</para>
-
 
161
 
-
 
162
</section>	
157
		<section id="executeservices" version="5.0" xml:base="ExecuteServices.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
163
		<section id="executeservices" version="5.0" xml:base="ExecuteServices.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
158
	<title>ExecuteServices</title>
164
	<title>ExecuteServices</title>
159
	<para>The ExecuteService bundles local and remote command
165
	<para>The ExecuteService bundles local and remote command
160
		execution operations. Its WSDL is located at
166
		execution operations. Its WSDL is located at
161
		http://server:port/XServices/ExecuteService?wsdl</para>
167
		http://server:port/XServices/ExecuteService?wsdl</para>
162
		<section version="5.0" xml:base="ExecuteServices/rExec.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
168
		<section version="5.0" xml:base="ExecuteServices/rExec.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
163
	<title>rExec
169
	<title>rExec
164
	</title>
170
	</title>
165
	<para>provides remote execution facilities with authentication based on
171
	<para>provides remote execution facilities with authentication based on
166
		user names and passwords.</para>
172
		user names and passwords.</para>
167
	<section>
173
	<section>
168
		<title>Input parameters
174
		<title>Input parameters
169
		</title>
175
		</title>
170
		<para/>
176
		<para/>
171
		<table frame="all">
177
		<table frame="all">
172
			<title>rExec
178
			<title>rExec
173
				input parameters
179
				input parameters
174
			</title>
180
			</title>
175
			<tgroup cols="4">
181
			<tgroup cols="4">
176
				<colspec colname="parameter" colnum="1"/>
182
				<colspec colname="parameter" colnum="1"/>
177
				<colspec colname="type" colnum="2"/>
183
				<colspec colname="type" colnum="2"/>
178
				<colspec colname="required" colnum="3"/>
184
				<colspec colname="required" colnum="3"/>
179
				<colspec colname="description" colnum="4"/>
185
				<colspec colname="description" colnum="4"/>
180
				<thead>
186
				<thead>
181
					<row>
187
					<row>
182
						<entry>parameter</entry>
188
						<entry>parameter</entry>
183
						<entry>type</entry>
189
						<entry>type</entry>
184
						<entry>required</entry>
190
						<entry>required</entry>
185
						<entry>description</entry>
191
						<entry>description</entry>
186
					</row>
192
					</row>
187
				</thead>
193
				</thead>
188
				<tbody>
194
				<tbody>
189
					<row>
195
					<row>
190
						<entry>host</entry>
196
						<entry>host</entry>
191
						<entry>HostConnection</entry>
197
						<entry>HostConnection</entry>
192
						<entry>Yes</entry>
198
						<entry>Yes</entry>
193
						<entry>
199
						<entry>
194
							Host where to execute the command. See
200
							Host where to execute the command. See
195
							<link linkend="hostconnection">HostConnection</link>
201
							<link linkend="hostconnection">HostConnection</link>
196
							.
202
							.
197
						</entry>
203
						</entry>
198
					</row>
204
					</row>
199
					<row>
205
					<row>
200
						<entry>command</entry>
206
						<entry>command</entry>
201
						<entry>String</entry>
207
						<entry>String</entry>
202
						<entry>No</entry>
208
						<entry>No</entry>
203
						<entry>Any command including arguments</entry>
209
						<entry>Any command including arguments</entry>
204
					</row>
210
					</row>
205
          <row xml:base="file:/C:/Users/brosenberger/workspace/XServices/doc/entities.ent">
211
          <row xml:base="file:/C:/Users/brosenberger/workspace/XServices/doc/entities.ent">
206
            <entry>timeout</entry>
212
            <entry>timeout</entry>
207
            <entry>Long</entry>
213
            <entry>Long</entry>
208
            <entry>Yes</entry>
214
            <entry>Yes</entry>
209
            <entry>Timeout in milliseconds. The command is forcefully terminated when timeout is reached.</entry>
215
            <entry>Timeout in milliseconds. The command is forcefully terminated when timeout is reached.</entry>
210
          </row>
216
          </row>
211
				</tbody>
217
				</tbody>
212
			</tgroup>
218
			</tgroup>
213
		</table>
219
		</table>
214
		<para/>
220
		<para/>
215
	</section>
221
	</section>
216
	<section>
222
	<section>
217
		<title>Output parameters
223
		<title>Output parameters
218
		</title>
224
		</title>
219
		<section version="5.0" xml:base="ExecuteServices/../types/ReturnCode.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
225
		<section version="5.0" xml:base="ExecuteServices/../types/ReturnCode.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
220
	<title>ReturnCode type</title>
226
	<title>ReturnCode type</title>
221
	<para>
227
	<para>
222
		The ReturnCode type is used as the generic answer type for most of the
228
		The ReturnCode type is used as the generic answer type for most of the
223
		<application class="software">BruteXservices</application>
229
		<application class="software">BruteXservices</application>
224
		operations.
230
		operations.
225
	</para>
231
	</para>
226
	<para>
232
	<para>
227
		The defining Java class is
233
		The defining Java class is
228
		<ulink url="javadoc/net/brutex/xservices/types/ReturnCode.html">
234
		<ulink url="javadoc/net/brutex/xservices/types/ReturnCode.html">
229
			<classname>net.brutex.xservices.types.ReturnCode</classname>
235
			<classname>net.brutex.xservices.types.ReturnCode</classname>
230
		</ulink>
236
		</ulink>
231
		.
237
		.
232
	</para>
238
	</para>
233
	<bridgehead renderas="sect3">Schema definition</bridgehead>
239
	<bridgehead renderas="sect3">Schema definition</bridgehead>
234
	<programlisting language="xml"><![CDATA[
240
	<programlisting language="xml"><![CDATA[
235
<xs:complexType name="ReturnCodeType">
241
<xs:complexType name="ReturnCodeType">
236
    <xs:sequence>
242
    <xs:sequence>
237
        <xs:element name="returnCode" type="xs:int"/>
243
        <xs:element name="returnCode" type="xs:int"/>
238
        <xs:element minOccurs="0" name="stdOut" type="xs:string"/>
244
        <xs:element minOccurs="0" name="stdOut" type="xs:string"/>
239
        <xs:element minOccurs="0" name="stdErr" type="xs:string"/>
245
        <xs:element minOccurs="0" name="stdErr" type="xs:string"/>
240
        <xs:element maxOccurs="unbounded" minOccurs="0" name="propertyList" nillable="true" type="]]><link linkend="antproperty">tns:antProperty</link><![CDATA["/>
246
        <xs:element maxOccurs="unbounded" minOccurs="0" name="propertyList" nillable="true" type="]]><link linkend="antproperty">tns:antProperty</link><![CDATA["/>
241
    </xs:sequence>
247
    </xs:sequence>
242
</xs:complexType>]]>
248
</xs:complexType>]]>
243
	</programlisting>
249
	</programlisting>
244
 
250
 
245
	<bridgehead renderas="sect3">Example XML</bridgehead>
251
	<bridgehead renderas="sect3">Example XML</bridgehead>
246
	<programlisting language="xml">
252
	<programlisting language="xml">
247
		&lt;ReturnCode
253
		&lt;ReturnCode
248
		xmlns:ns2="http://ws.xservices.brutex.net"&gt;
254
		xmlns:ns2="http://ws.xservices.brutex.net"&gt;
249
		&lt;returnCode&gt;0&lt;/returnCode&gt;
255
		&lt;returnCode&gt;0&lt;/returnCode&gt;
250
		&lt;stdOut/&gt;
256
		&lt;stdOut/&gt;
251
		&lt;stdErr/&gt;
257
		&lt;stdErr/&gt;
252
		&lt;propertyList&gt;
258
		&lt;propertyList&gt;
253
		<lineannotation>
259
		<lineannotation>
254
			See
260
			See
255
			<link linkend="antproperty">tns:antProperty</link>
261
			<link linkend="antproperty">tns:antProperty</link>
256
			for details about the &lt;propertyList&gt; elements.
262
			for details about the &lt;propertyList&gt; elements.
257
		</lineannotation>
263
		</lineannotation>
258
		&lt;name&gt;key1&lt;/name&gt;
264
		&lt;name&gt;key1&lt;/name&gt;
259
		&lt;value&gt;value1&lt;/value&gt;
265
		&lt;value&gt;value1&lt;/value&gt;
260
		&lt;/propertyList&gt;
266
		&lt;/propertyList&gt;
261
		&lt;propertyList&gt;
267
		&lt;propertyList&gt;
262
		&lt;name&gt;key2&lt;/name&gt;
268
		&lt;name&gt;key2&lt;/name&gt;
263
		&lt;value&gt;value2&lt;/value&gt;
269
		&lt;value&gt;value2&lt;/value&gt;
264
		&lt;/propertyList&gt;
270
		&lt;/propertyList&gt;
265
		&lt;/ReturnCode&gt;
271
		&lt;/ReturnCode&gt;
266
	</programlisting>
272
	</programlisting>
267
 
273
 
268
</section>
274
</section>
269
	</section>
275
	</section>
270
</section>
276
</section>
271
		<section version="5.0" xml:base="ExecuteServices/runCommand.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
277
		<section version="5.0" xml:base="ExecuteServices/runCommand.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
272
	<title>runCommand</title>
278
	<title>runCommand</title>
273
	<para>Run an executable with arguments on the server providing the web
279
	<para>Run an executable with arguments on the server providing the web
274
		service. The command is run within the environment and under the user
280
		service. The command is run within the environment and under the user
275
		privileges of the user who is running the Tomcat Server.</para>
281
		privileges of the user who is running the Tomcat Server.</para>
276
	<section>
282
	<section>
277
		<title>Input parameters
283
		<title>Input parameters
278
		</title>
284
		</title>
279
		<para/>
285
		<para/>
280
		<table frame="all">
286
		<table frame="all">
281
			<title>runCommand input parameters</title>
287
			<title>runCommand input parameters</title>
282
			<tgroup cols="4">
288
			<tgroup cols="4">
283
				<colspec colname="parameter" colnum="1"/>
289
				<colspec colname="parameter" colnum="1"/>
284
				<colspec colname="type" colnum="2"/>
290
				<colspec colname="type" colnum="2"/>
285
				<colspec colname="required" colnum="3"/>
291
				<colspec colname="required" colnum="3"/>
286
				<colspec colname="description" colnum="4"/>
292
				<colspec colname="description" colnum="4"/>
287
				<thead>
293
				<thead>
288
					<row>
294
					<row>
289
						<entry>parameter</entry>
295
						<entry>parameter</entry>
290
						<entry>type</entry>
296
						<entry>type</entry>
291
						<entry>required</entry>
297
						<entry>required</entry>
292
						<entry>description</entry>
298
						<entry>description</entry>
293
					</row>
299
					</row>
294
				</thead>
300
				</thead>
295
				<tbody>
301
				<tbody>
296
					<row>
302
					<row>
297
						<entry>executable</entry>
303
						<entry>executable</entry>
298
						<entry>String</entry>
304
						<entry>String</entry>
299
						<entry>Yes</entry>
305
						<entry>Yes</entry>
300
						<entry>Command to be run. The command may be specified with full
306
						<entry>Command to be run. The command may be specified with full
301
							path using forward slash "/" as path separator.</entry>
307
							path using forward slash "/" as path separator.</entry>
302
					</row>
308
					</row>
303
					<row>
309
					<row>
304
						<entry>argline</entry>
310
						<entry>argline</entry>
305
						<entry>String</entry>
311
						<entry>String</entry>
306
						<entry>No</entry>
312
						<entry>No</entry>
307
						<entry>Any command line arguments</entry>
313
						<entry>Any command line arguments</entry>
308
					</row>
314
					</row>
309
          <row xml:base="file:/C:/Users/brosenberger/workspace/XServices/doc/entities.ent">
315
          <row xml:base="file:/C:/Users/brosenberger/workspace/XServices/doc/entities.ent">
310
            <entry>timeout</entry>
316
            <entry>timeout</entry>
311
            <entry>Long</entry>
317
            <entry>Long</entry>
312
            <entry>Yes</entry>
318
            <entry>Yes</entry>
313
            <entry>Timeout in milliseconds. The command is forcefully terminated when timeout is reached.</entry>
319
            <entry>Timeout in milliseconds. The command is forcefully terminated when timeout is reached.</entry>
314
          </row>
320
          </row>
315
				</tbody>
321
				</tbody>
316
			</tgroup>
322
			</tgroup>
317
		</table>
323
		</table>
318
		<para/>
324
		<para/>
319
	</section>
325
	</section>
320
	<section>
326
	<section>
321
		<title>Output parameters
327
		<title>Output parameters
322
		</title>
328
		</title>
323
		<section version="5.0" xml:base="ExecuteServices/../types/ReturnCode.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
329
		<section version="5.0" xml:base="ExecuteServices/../types/ReturnCode.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
324
	<title>ReturnCode type</title>
330
	<title>ReturnCode type</title>
325
	<para>
331
	<para>
326
		The ReturnCode type is used as the generic answer type for most of the
332
		The ReturnCode type is used as the generic answer type for most of the
327
		<application class="software">BruteXservices</application>
333
		<application class="software">BruteXservices</application>
328
		operations.
334
		operations.
329
	</para>
335
	</para>
330
	<para>
336
	<para>
331
		The defining Java class is
337
		The defining Java class is
332
		<ulink url="javadoc/net/brutex/xservices/types/ReturnCode.html">
338
		<ulink url="javadoc/net/brutex/xservices/types/ReturnCode.html">
333
			<classname>net.brutex.xservices.types.ReturnCode</classname>
339
			<classname>net.brutex.xservices.types.ReturnCode</classname>
334
		</ulink>
340
		</ulink>
335
		.
341
		.
336
	</para>
342
	</para>
337
	<bridgehead renderas="sect3">Schema definition</bridgehead>
343
	<bridgehead renderas="sect3">Schema definition</bridgehead>
338
	<programlisting language="xml"><![CDATA[
344
	<programlisting language="xml"><![CDATA[
339
<xs:complexType name="ReturnCodeType">
345
<xs:complexType name="ReturnCodeType">
340
    <xs:sequence>
346
    <xs:sequence>
341
        <xs:element name="returnCode" type="xs:int"/>
347
        <xs:element name="returnCode" type="xs:int"/>
342
        <xs:element minOccurs="0" name="stdOut" type="xs:string"/>
348
        <xs:element minOccurs="0" name="stdOut" type="xs:string"/>
343
        <xs:element minOccurs="0" name="stdErr" type="xs:string"/>
349
        <xs:element minOccurs="0" name="stdErr" type="xs:string"/>
344
        <xs:element maxOccurs="unbounded" minOccurs="0" name="propertyList" nillable="true" type="]]><link linkend="antproperty">tns:antProperty</link><![CDATA["/>
350
        <xs:element maxOccurs="unbounded" minOccurs="0" name="propertyList" nillable="true" type="]]><link linkend="antproperty">tns:antProperty</link><![CDATA["/>
345
    </xs:sequence>
351
    </xs:sequence>
346
</xs:complexType>]]>
352
</xs:complexType>]]>
347
	</programlisting>
353
	</programlisting>
348
 
354
 
349
	<bridgehead renderas="sect3">Example XML</bridgehead>
355
	<bridgehead renderas="sect3">Example XML</bridgehead>
350
	<programlisting language="xml">
356
	<programlisting language="xml">
351
		&lt;ReturnCode
357
		&lt;ReturnCode
352
		xmlns:ns2="http://ws.xservices.brutex.net"&gt;
358
		xmlns:ns2="http://ws.xservices.brutex.net"&gt;
353
		&lt;returnCode&gt;0&lt;/returnCode&gt;
359
		&lt;returnCode&gt;0&lt;/returnCode&gt;
354
		&lt;stdOut/&gt;
360
		&lt;stdOut/&gt;
355
		&lt;stdErr/&gt;
361
		&lt;stdErr/&gt;
356
		&lt;propertyList&gt;
362
		&lt;propertyList&gt;
357
		<lineannotation>
363
		<lineannotation>
358
			See
364
			See
359
			<link linkend="antproperty">tns:antProperty</link>
365
			<link linkend="antproperty">tns:antProperty</link>
360
			for details about the &lt;propertyList&gt; elements.
366
			for details about the &lt;propertyList&gt; elements.
361
		</lineannotation>
367
		</lineannotation>
362
		&lt;name&gt;key1&lt;/name&gt;
368
		&lt;name&gt;key1&lt;/name&gt;
363
		&lt;value&gt;value1&lt;/value&gt;
369
		&lt;value&gt;value1&lt;/value&gt;
364
		&lt;/propertyList&gt;
370
		&lt;/propertyList&gt;
365
		&lt;propertyList&gt;
371
		&lt;propertyList&gt;
366
		&lt;name&gt;key2&lt;/name&gt;
372
		&lt;name&gt;key2&lt;/name&gt;
367
		&lt;value&gt;value2&lt;/value&gt;
373
		&lt;value&gt;value2&lt;/value&gt;
368
		&lt;/propertyList&gt;
374
		&lt;/propertyList&gt;
369
		&lt;/ReturnCode&gt;
375
		&lt;/ReturnCode&gt;
370
	</programlisting>
376
	</programlisting>
371
 
377
 
372
</section>
378
</section>
373
	</section>
379
	</section>
374
</section>
380
</section>
375
		<section version="5.0" xml:base="ExecuteServices/runCommandWithSSH.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
381
		<section version="5.0" xml:base="ExecuteServices/runCommandWithSSH.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
376
	<title>runCommandWithSSH</title>
382
	<title>runCommandWithSSH</title>
377
	<para>Executes a command through a SSH session.</para>
383
	<para>Executes a command through a SSH session.</para>
378
	<section>
384
	<section>
379
		<title>Input parameters
385
		<title>Input parameters
380
		</title>
386
		</title>
381
		<para/>
387
		<para/>
382
		<table frame="all">
388
		<table frame="all">
383
			<title>runCommandWithSSH input parameters</title>
389
			<title>runCommandWithSSH input parameters</title>
384
			<tgroup cols="4">
390
			<tgroup cols="4">
385
				<colspec colname="parameter" colnum="1"/>
391
				<colspec colname="parameter" colnum="1"/>
386
				<colspec colname="type" colnum="2"/>
392
				<colspec colname="type" colnum="2"/>
387
				<colspec colname="required" colnum="3"/>
393
				<colspec colname="required" colnum="3"/>
388
				<colspec colname="description" colnum="4"/>
394
				<colspec colname="description" colnum="4"/>
389
				<thead>
395
				<thead>
390
					<row>
396
					<row>
391
						<entry>parameter</entry>
397
						<entry>parameter</entry>
392
						<entry>type</entry>
398
						<entry>type</entry>
393
						<entry>required</entry>
399
						<entry>required</entry>
394
						<entry>description</entry>
400
						<entry>description</entry>
395
					</row>
401
					</row>
396
				</thead>
402
				</thead>
397
				<tbody>
403
				<tbody>
398
					<row>
404
					<row>
399
						<entry>host</entry>
405
						<entry>host</entry>
400
						<entry>HostConnection</entry>
406
						<entry>HostConnection</entry>
401
						<entry>Yes</entry>
407
						<entry>Yes</entry>
402
						<entry>
408
						<entry>
403
							Host to connect to (see:
409
							Host to connect to (see:
404
							<link linkend="hostconnection">tns:HostConnection</link>
410
							<link linkend="hostconnection">tns:HostConnection</link>
405
							)
411
							)
406
						</entry>
412
						</entry>
407
					</row>
413
					</row>
408
					<row>
414
					<row>
409
						<entry>command</entry>
415
						<entry>command</entry>
410
						<entry>String</entry>
416
						<entry>String</entry>
411
						<entry>No</entry>
417
						<entry>No</entry>
412
						<entry>The command to execute.</entry>
418
						<entry>The command to execute.</entry>
413
					</row>
419
					</row>
414
          <row xml:base="file:/C:/Users/brosenberger/workspace/XServices/doc/entities.ent">
420
          <row xml:base="file:/C:/Users/brosenberger/workspace/XServices/doc/entities.ent">
415
            <entry>timeout</entry>
421
            <entry>timeout</entry>
416
            <entry>Long</entry>
422
            <entry>Long</entry>
417
            <entry>Yes</entry>
423
            <entry>Yes</entry>
418
            <entry>Timeout in milliseconds. The command is forcefully terminated when timeout is reached.</entry>
424
            <entry>Timeout in milliseconds. The command is forcefully terminated when timeout is reached.</entry>
419
          </row>
425
          </row>
420
				</tbody>
426
				</tbody>
421
			</tgroup>
427
			</tgroup>
422
		</table>
428
		</table>
423
		<para/>
429
		<para/>
424
	</section>
430
	</section>
425
	<section>
431
	<section>
426
		<title>Output parameters
432
		<title>Output parameters
427
		</title>
433
		</title>
428
		<section version="5.0" xml:base="ExecuteServices/../types/ReturnCode.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
434
		<section version="5.0" xml:base="ExecuteServices/../types/ReturnCode.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
429
	<title>ReturnCode type</title>
435
	<title>ReturnCode type</title>
430
	<para>
436
	<para>
431
		The ReturnCode type is used as the generic answer type for most of the
437
		The ReturnCode type is used as the generic answer type for most of the
432
		<application class="software">BruteXservices</application>
438
		<application class="software">BruteXservices</application>
433
		operations.
439
		operations.
434
	</para>
440
	</para>
435
	<para>
441
	<para>
436
		The defining Java class is
442
		The defining Java class is
437
		<ulink url="javadoc/net/brutex/xservices/types/ReturnCode.html">
443
		<ulink url="javadoc/net/brutex/xservices/types/ReturnCode.html">
438
			<classname>net.brutex.xservices.types.ReturnCode</classname>
444
			<classname>net.brutex.xservices.types.ReturnCode</classname>
439
		</ulink>
445
		</ulink>
440
		.
446
		.
441
	</para>
447
	</para>
442
	<bridgehead renderas="sect3">Schema definition</bridgehead>
448
	<bridgehead renderas="sect3">Schema definition</bridgehead>
443
	<programlisting language="xml"><![CDATA[
449
	<programlisting language="xml"><![CDATA[
444
<xs:complexType name="ReturnCodeType">
450
<xs:complexType name="ReturnCodeType">
445
    <xs:sequence>
451
    <xs:sequence>
446
        <xs:element name="returnCode" type="xs:int"/>
452
        <xs:element name="returnCode" type="xs:int"/>
447
        <xs:element minOccurs="0" name="stdOut" type="xs:string"/>
453
        <xs:element minOccurs="0" name="stdOut" type="xs:string"/>
448
        <xs:element minOccurs="0" name="stdErr" type="xs:string"/>
454
        <xs:element minOccurs="0" name="stdErr" type="xs:string"/>
449
        <xs:element maxOccurs="unbounded" minOccurs="0" name="propertyList" nillable="true" type="]]><link linkend="antproperty">tns:antProperty</link><![CDATA["/>
455
        <xs:element maxOccurs="unbounded" minOccurs="0" name="propertyList" nillable="true" type="]]><link linkend="antproperty">tns:antProperty</link><![CDATA["/>
450
    </xs:sequence>
456
    </xs:sequence>
451
</xs:complexType>]]>
457
</xs:complexType>]]>
452
	</programlisting>
458
	</programlisting>
453
 
459
 
454
	<bridgehead renderas="sect3">Example XML</bridgehead>
460
	<bridgehead renderas="sect3">Example XML</bridgehead>
455
	<programlisting language="xml">
461
	<programlisting language="xml">
456
		&lt;ReturnCode
462
		&lt;ReturnCode
457
		xmlns:ns2="http://ws.xservices.brutex.net"&gt;
463
		xmlns:ns2="http://ws.xservices.brutex.net"&gt;
458
		&lt;returnCode&gt;0&lt;/returnCode&gt;
464
		&lt;returnCode&gt;0&lt;/returnCode&gt;
459
		&lt;stdOut/&gt;
465
		&lt;stdOut/&gt;
460
		&lt;stdErr/&gt;
466
		&lt;stdErr/&gt;
461
		&lt;propertyList&gt;
467
		&lt;propertyList&gt;
462
		<lineannotation>
468
		<lineannotation>
463
			See
469
			See
464
			<link linkend="antproperty">tns:antProperty</link>
470
			<link linkend="antproperty">tns:antProperty</link>
465
			for details about the &lt;propertyList&gt; elements.
471
			for details about the &lt;propertyList&gt; elements.
466
		</lineannotation>
472
		</lineannotation>
467
		&lt;name&gt;key1&lt;/name&gt;
473
		&lt;name&gt;key1&lt;/name&gt;
468
		&lt;value&gt;value1&lt;/value&gt;
474
		&lt;value&gt;value1&lt;/value&gt;
469
		&lt;/propertyList&gt;
475
		&lt;/propertyList&gt;
470
		&lt;propertyList&gt;
476
		&lt;propertyList&gt;
471
		&lt;name&gt;key2&lt;/name&gt;
477
		&lt;name&gt;key2&lt;/name&gt;
472
		&lt;value&gt;value2&lt;/value&gt;
478
		&lt;value&gt;value2&lt;/value&gt;
473
		&lt;/propertyList&gt;
479
		&lt;/propertyList&gt;
474
		&lt;/ReturnCode&gt;
480
		&lt;/ReturnCode&gt;
475
	</programlisting>
481
	</programlisting>
476
 
482
 
477
</section>
483
</section>
478
	</section>
484
	</section>
479
	<section>
485
	<section>
480
		<title>Sample Request:</title>
486
		<title>Sample Request:</title>
481
		<programlisting language="xml">
487
		<programlisting language="xml">
482
	<![CDATA[
488
	<![CDATA[
483
      <ws:runCommandWithSSH>
489
      <ws:runCommandWithSSH>
484
         <host>
490
         <host>
485
            <hostname>ssh.brutex.net</hostname>
491
            <hostname>ssh.brutex.net</hostname>
486
            <port>22</port>
492
            <port>22</port>
487
            <user>roger</user>
493
            <user>roger</user>
488
            <password>xxx</password>
494
            <password>xxx</password>
489
         </host>
495
         </host>
490
         <command>ls /etc/</command>
496
         <command>ls /etc/</command>
491
         <timeout>30000</timeout>
497
         <timeout>30000</timeout>
492
      </ws:runCommandWithSSH>
498
      </ws:runCommandWithSSH>
493
	]]></programlisting>
499
	]]></programlisting>
494
	</section>
500
	</section>
495
</section>
501
</section>
496
		<section version="5.0" xml:base="ExecuteServices/telnet.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
502
		<section version="5.0" xml:base="ExecuteServices/telnet.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
497
	<title>telnet</title>
503
	<title>telnet</title>
498
	<para>Runs a telnet session with an "expect shell" like behaviour.</para>
504
	<para>Runs a telnet session with an "expect shell" like behaviour.</para>
499
	<section>
505
	<section>
500
		<title>Input parameters
506
		<title>Input parameters
501
		</title>
507
		</title>
502
		<para/>
508
		<para/>
503
		<table frame="all">
509
		<table frame="all">
504
			<title>telnet input parameters</title>
510
			<title>telnet input parameters</title>
505
			<tgroup cols="4">
511
			<tgroup cols="4">
506
				<colspec colname="parameter" colnum="1"/>
512
				<colspec colname="parameter" colnum="1"/>
507
				<colspec colname="type" colnum="2"/>
513
				<colspec colname="type" colnum="2"/>
508
				<colspec colname="required" colnum="3"/>
514
				<colspec colname="required" colnum="3"/>
509
				<colspec colname="description" colnum="4"/>
515
				<colspec colname="description" colnum="4"/>
510
				<thead>
516
				<thead>
511
					<row>
517
					<row>
512
						<entry>parameter</entry>
518
						<entry>parameter</entry>
513
						<entry>type</entry>
519
						<entry>type</entry>
514
						<entry>required</entry>
520
						<entry>required</entry>
515
						<entry>description</entry>
521
						<entry>description</entry>
516
					</row>
522
					</row>
517
				</thead>
523
				</thead>
518
				<tbody>
524
				<tbody>
519
					<row>
525
					<row>
520
						<entry>host</entry>
526
						<entry>host</entry>
521
						<entry>HostConnection</entry>
527
						<entry>HostConnection</entry>
522
						<entry>Yes</entry>
528
						<entry>Yes</entry>
523
						<entry>Host to connect to (see: <link linkend="hostconnection">tns:HostConnection</link>)</entry>
529
						<entry>Host to connect to (see: <link linkend="hostconnection">tns:HostConnection</link>)</entry>
524
					</row>
530
					</row>
525
					<row>
531
					<row>
526
						<entry>prompt</entry>
532
						<entry>prompt</entry>
527
						<entry>String</entry>
533
						<entry>String</entry>
528
						<entry>No</entry>
534
						<entry>No</entry>
529
						<entry>The prompt string to expect after login. This is used to recognize when
535
						<entry>The prompt string to expect after login. This is used to recognize when
530
						 the session is open.</entry>
536
						 the session is open.</entry>
531
					</row>
537
					</row>
532
					<row>
538
					<row>
533
						<entry>command</entry>
539
						<entry>command</entry>
534
						<entry>String</entry>
540
						<entry>String</entry>
535
						<entry>No</entry>
541
						<entry>No</entry>
536
						<entry>The command to execute.</entry>
542
						<entry>The command to execute.</entry>
537
					</row>
543
					</row>
538
					<row>
544
					<row>
539
						<entry>expect</entry>
545
						<entry>expect</entry>
540
						<entry>String</entry>
546
						<entry>String</entry>
541
						<entry>No</entry>
547
						<entry>No</entry>
542
						<entry>The prompt to expect after the command has been executed successfully.</entry>
548
						<entry>The prompt to expect after the command has been executed successfully.</entry>
543
					</row>
549
					</row>
544
          <row xml:base="file:/C:/Users/brosenberger/workspace/XServices/doc/entities.ent">
550
          <row xml:base="file:/C:/Users/brosenberger/workspace/XServices/doc/entities.ent">
545
            <entry>timeout</entry>
551
            <entry>timeout</entry>
546
            <entry>Long</entry>
552
            <entry>Long</entry>
547
            <entry>Yes</entry>
553
            <entry>Yes</entry>
548
            <entry>Timeout in milliseconds. The command is forcefully terminated when timeout is reached.</entry>
554
            <entry>Timeout in milliseconds. The command is forcefully terminated when timeout is reached.</entry>
549
          </row>
555
          </row>
550
				</tbody>
556
				</tbody>
551
			</tgroup>
557
			</tgroup>
552
		</table>
558
		</table>
553
		<para/>
559
		<para/>
554
	</section>
560
	</section>
555
	<section>
561
	<section>
556
		<title>Output parameters</title>
562
		<title>Output parameters</title>
557
		<section version="5.0" xml:base="ExecuteServices/../types/ReturnCode.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
563
		<section version="5.0" xml:base="ExecuteServices/../types/ReturnCode.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
558
	<title>ReturnCode type</title>
564
	<title>ReturnCode type</title>
559
	<para>
565
	<para>
560
		The ReturnCode type is used as the generic answer type for most of the
566
		The ReturnCode type is used as the generic answer type for most of the
561
		<application class="software">BruteXservices</application>
567
		<application class="software">BruteXservices</application>
562
		operations.
568
		operations.
563
	</para>
569
	</para>
564
	<para>
570
	<para>
565
		The defining Java class is
571
		The defining Java class is
566
		<ulink url="javadoc/net/brutex/xservices/types/ReturnCode.html">
572
		<ulink url="javadoc/net/brutex/xservices/types/ReturnCode.html">
567
			<classname>net.brutex.xservices.types.ReturnCode</classname>
573
			<classname>net.brutex.xservices.types.ReturnCode</classname>
568
		</ulink>
574
		</ulink>
569
		.
575
		.
570
	</para>
576
	</para>
571
	<bridgehead renderas="sect3">Schema definition</bridgehead>
577
	<bridgehead renderas="sect3">Schema definition</bridgehead>
572
	<programlisting language="xml"><![CDATA[
578
	<programlisting language="xml"><![CDATA[
573
<xs:complexType name="ReturnCodeType">
579
<xs:complexType name="ReturnCodeType">
574
    <xs:sequence>
580
    <xs:sequence>
575
        <xs:element name="returnCode" type="xs:int"/>
581
        <xs:element name="returnCode" type="xs:int"/>
576
        <xs:element minOccurs="0" name="stdOut" type="xs:string"/>
582
        <xs:element minOccurs="0" name="stdOut" type="xs:string"/>
577
        <xs:element minOccurs="0" name="stdErr" type="xs:string"/>
583
        <xs:element minOccurs="0" name="stdErr" type="xs:string"/>
578
        <xs:element maxOccurs="unbounded" minOccurs="0" name="propertyList" nillable="true" type="]]><link linkend="antproperty">tns:antProperty</link><![CDATA["/>
584
        <xs:element maxOccurs="unbounded" minOccurs="0" name="propertyList" nillable="true" type="]]><link linkend="antproperty">tns:antProperty</link><![CDATA["/>
579
    </xs:sequence>
585
    </xs:sequence>
580
</xs:complexType>]]>
586
</xs:complexType>]]>
581
	</programlisting>
587
	</programlisting>
582
 
588
 
583
	<bridgehead renderas="sect3">Example XML</bridgehead>
589
	<bridgehead renderas="sect3">Example XML</bridgehead>
584
	<programlisting language="xml">
590
	<programlisting language="xml">
585
		&lt;ReturnCode
591
		&lt;ReturnCode
586
		xmlns:ns2="http://ws.xservices.brutex.net"&gt;
592
		xmlns:ns2="http://ws.xservices.brutex.net"&gt;
587
		&lt;returnCode&gt;0&lt;/returnCode&gt;
593
		&lt;returnCode&gt;0&lt;/returnCode&gt;
588
		&lt;stdOut/&gt;
594
		&lt;stdOut/&gt;
589
		&lt;stdErr/&gt;
595
		&lt;stdErr/&gt;
590
		&lt;propertyList&gt;
596
		&lt;propertyList&gt;
591
		<lineannotation>
597
		<lineannotation>
592
			See
598
			See
593
			<link linkend="antproperty">tns:antProperty</link>
599
			<link linkend="antproperty">tns:antProperty</link>
594
			for details about the &lt;propertyList&gt; elements.
600
			for details about the &lt;propertyList&gt; elements.
595
		</lineannotation>
601
		</lineannotation>
596
		&lt;name&gt;key1&lt;/name&gt;
602
		&lt;name&gt;key1&lt;/name&gt;
597
		&lt;value&gt;value1&lt;/value&gt;
603
		&lt;value&gt;value1&lt;/value&gt;
598
		&lt;/propertyList&gt;
604
		&lt;/propertyList&gt;
599
		&lt;propertyList&gt;
605
		&lt;propertyList&gt;
600
		&lt;name&gt;key2&lt;/name&gt;
606
		&lt;name&gt;key2&lt;/name&gt;
601
		&lt;value&gt;value2&lt;/value&gt;
607
		&lt;value&gt;value2&lt;/value&gt;
602
		&lt;/propertyList&gt;
608
		&lt;/propertyList&gt;
603
		&lt;/ReturnCode&gt;
609
		&lt;/ReturnCode&gt;
604
	</programlisting>
610
	</programlisting>
605
 
611
 
606
</section>
612
</section>
607
	</section>
613
	</section>
608
	<section>
614
	<section>
609
	<title>Sample Request:</title>
615
	<title>Sample Request:</title>
610
	<programlisting language="xml">
616
	<programlisting language="xml">
611
	<![CDATA[
617
	<![CDATA[
612
	 <ws:telnet>
618
	 <ws:telnet>
613
         <host>
619
         <host>
614
            <hostname>localhost</hostname>
620
            <hostname>localhost</hostname>
615
            <port>23</port>
621
            <port>23</port>
616
            <user>brosenberger</user>
622
            <user>brosenberger</user>
617
            <password></password>
623
            <password></password>
618
         </host>
624
         </host>
619
         <prompt>C:\Users\brosenberger&gt;</prompt>
625
         <prompt>C:\Users\brosenberger&gt;</prompt>
620
         <command>dir c:\temp</command>
626
         <command>dir c:\temp</command>
621
         <expect>enberger&gt;</expect>
627
         <expect>enberger&gt;</expect>
622
         <timeout>60000</timeout>
628
         <timeout>60000</timeout>
623
      </ws:telnet>
629
      </ws:telnet>
624
	]]></programlisting>
630
	]]></programlisting>
625
	</section>
631
	</section>
626
</section>	
632
</section>	
627
</section>
633
</section>
628
		<section id="fileservices" version="5.0" xml:base="FileServices.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
634
		<section id="fileservices" version="5.0" xml:base="FileServices.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
629
	<title>FileServices</title>
635
	<title>FileServices</title>
630
	<para>The FileServces bundles various file operations. Its WSDL is located at
636
	<para>The FileServces bundles various file operations. Its WSDL is located at
631
		http://server:port/XServices/FileService?wsdl</para>
637
		http://server:port/XServices/FileService?wsdl</para>
632
</section>
638
</section>
633
		<section id="miscservices" version="5.0" xml:base="MiscServices.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
639
		<section id="miscservices" version="5.0" xml:base="MiscServices.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
634
	<title>MiscServices</title>
640
	<title>MiscServices</title>
635
	<para>The MiscService bundles various operations. Its WSDL is located at
641
	<para>The MiscService bundles various operations. Its WSDL is located at
636
		http://server:port/XServices/MiscService?wsdl</para>
642
		http://server:port/XServices/MiscService?wsdl</para>
637
 
643
 
638
</section>		
644
</section>		
639
	</chapter>
645
	</chapter>
640
 
646
 
641
	<chapter id="xmltypes">
647
	<chapter id="xmltypes">
642
		<beginpage/>
648
		<beginpage/>
643
		<title>XML Types</title>
649
		<title>XML Types</title>
644
		<para>This chapter bundles the documentation for common XML types used
650
		<para>This chapter bundles the documentation for common XML types used
645
			by XServices web service.</para>
651
			by XServices web service.</para>
646
		<section version="5.0" xml:base="Types.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
652
		<section version="5.0" xml:base="Types.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
647
	<!-- Sort alphabetically -->
653
	<!-- Sort alphabetically -->
648
	<section xml:base="types/AntProperty.xml">
654
	<section xml:base="types/AntProperty.xml">
649
<title>AntProperty type</title>
655
<title>AntProperty type</title>
650
			<para>The AntProperty type defines a list of key/value pairs.</para>
656
			<para>The AntProperty type defines a list of key/value pairs.</para>
651
			<para>
657
			<para>
652
				The defining Java class is
658
				The defining Java class is
653
				<ulink url="javadoc/net/brutex/xservices/types/AntProperty.html">
659
				<ulink url="javadoc/net/brutex/xservices/types/AntProperty.html">
654
					<classname>net.brutex.xservices.types.AntProperty</classname>
660
					<classname>net.brutex.xservices.types.AntProperty</classname>
655
				</ulink>
661
				</ulink>
656
				.
662
				.
657
			</para>
663
			</para>
658
 
664
 
659
			<programlisting language="xml"><![CDATA[
665
			<programlisting language="xml"><![CDATA[
660
<xs:complexType name="antProperty">
666
<xs:complexType name="antProperty">
661
   <xs:sequence>
667
   <xs:sequence>
662
      <xs:element name="name" type="xs:string"/>
668
      <xs:element name="name" type="xs:string"/>
663
      <xs:element name="value" type="xs:string"/>
669
      <xs:element name="value" type="xs:string"/>
664
   </xs:sequence>
670
   </xs:sequence>
665
</xs:complexType>]]>
671
</xs:complexType>]]>
666
			</programlisting>
672
			</programlisting>
667
		
673
		
668
			<programlisting language="xml"><![CDATA[
674
			<programlisting language="xml"><![CDATA[
669
<AntProperty>
675
<AntProperty>
670
    <name>key2</name>
676
    <name>key2</name>
671
    <value>value2</value>
677
    <value>value2</value>
672
</AntProperty>]]>
678
</AntProperty>]]>
673
			</programlisting>
679
			</programlisting>
674
		</section>
680
		</section>
675
	<section xml:base="types/FileResource.xml">
681
	<section xml:base="types/FileResource.xml">
676
<title>FileResource type</title>
682
<title>FileResource type</title>
677
			<para>The FileResource type defines an URI to a file with optional on-the-fly decompression.</para>
683
			<para>The FileResource type defines an URI to a file with optional on-the-fly decompression.</para>
678
			<para>
684
			<para>
679
				The defining Java class is
685
				The defining Java class is
680
				<ulink url="javadoc/net/brutex/xservices/types/FileResource.html">
686
				<ulink url="javadoc/net/brutex/xservices/types/FileResource.html">
681
					<classname>net.brutex.xservices.types.FileResource</classname>
687
					<classname>net.brutex.xservices.types.FileResource</classname>
682
				</ulink>
688
				</ulink>
683
				.
689
				.
684
			</para>
690
			</para>
685
 
691
 
686
			<programlisting language="xml"><![CDATA[
692
			<programlisting language="xml"><![CDATA[
687
<xs:complexType name="FileResourceType">
693
<xs:complexType name="FileResourceType">
688
	<xs:sequence>
694
	<xs:sequence>
689
    	<xs:element default="FILE" name="type" type="tns:type"/>
695
    	<xs:element default="FILE" name="type" type="tns:type"/>
690
        <xs:element name="uri" type="xs:string"/>
696
        <xs:element name="uri" type="xs:string"/>
691
   </xs:sequence>
697
   </xs:sequence>
692
</xs:complexType>]]>
698
</xs:complexType>]]>
693
			</programlisting>
699
			</programlisting>
694
			<para>Available types:</para>
700
			<para>Available types:</para>
695
			<para>FILE: URI points to a local file resource. Examples: c:\temp\something.txt, c:/dir/another.file, /home/brian/file</para>		
701
			<para>FILE: URI points to a local file resource. Examples: c:\temp\something.txt, c:/dir/another.file, /home/brian/file</para>		
696
			<para>URL: File from URL (http, https, ftp, ...). Example: http://brutex.net/file.pdf</para>
702
			<para>URL: File from URL (http, https, ftp, ...). Example: http://brutex.net/file.pdf</para>
697
			<para>GZIP and BZIP2: File from a local file system with on-the-fly decompression.</para>
703
			<para>GZIP and BZIP2: File from a local file system with on-the-fly decompression.</para>
698
			<programlisting language="xml"><![CDATA[
704
			<programlisting language="xml"><![CDATA[
699
<resource>
705
<resource>
700
	<type>FILE</type>
706
	<type>FILE</type>
701
    <uri>c:\temp\xservices.war</uri>
707
    <uri>c:\temp\xservices.war</uri>
702
</resource>]]>
708
</resource>]]>
703
			</programlisting>
709
			</programlisting>
704
		</section>
710
		</section>
705
	<section id="hostconnection" version="5.0" xml:base="types/HostConnection.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
711
	<section id="hostconnection" version="5.0" xml:base="types/HostConnection.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
706
	<title>HostConnection type</title>
712
	<title>HostConnection type</title>
707
	<para>The HostConnection type identifies a server resource and login
713
	<para>The HostConnection type identifies a server resource and login
708
		credentials.</para>
714
		credentials.</para>
709
	<para>
715
	<para>
710
		The defining Java class is
716
		The defining Java class is
711
		<ulink url="javadoc/net/brutex/xservices/types/HostConnection.html">
717
		<ulink url="javadoc/net/brutex/xservices/types/HostConnection.html">
712
			<classname>net.brutex.xservices.types.HostConnection</classname>
718
			<classname>net.brutex.xservices.types.HostConnection</classname>
713
		</ulink>
719
		</ulink>
714
		.
720
		.
715
	</para>
721
	</para>
716
	<bridgehead renderas="sect3">Schema definition</bridgehead>
722
	<bridgehead renderas="sect3">Schema definition</bridgehead>
717
	<programlisting language="xml"><![CDATA[
723
	<programlisting language="xml"><![CDATA[
718
<xs:complexType name="connection">
724
<xs:complexType name="connection">
719
   <xs:sequence>
725
   <xs:sequence>
720
      <xs:element name="hostname" type="xs:string"/>
726
      <xs:element name="hostname" type="xs:string"/>
721
      <xs:element name="port" type="xs:int"/>
727
      <xs:element name="port" type="xs:int"/>
722
      <xs:element minOccurs="0" name="user" type="xs:string"/>
728
      <xs:element minOccurs="0" name="user" type="xs:string"/>
723
      <xs:element minOccurs="0" name="password" type="xs:string"/>
729
      <xs:element minOccurs="0" name="password" type="xs:string"/>
724
   </xs:sequence>
730
   </xs:sequence>
725
</xs:complexType>
731
</xs:complexType>
726
]]>
732
]]>
727
	</programlisting>
733
	</programlisting>
728
	<bridgehead renderas="sect3">Example XML</bridgehead>
734
	<bridgehead renderas="sect3">Example XML</bridgehead>
729
	<programlisting language="xml"><![CDATA[
735
	<programlisting language="xml"><![CDATA[
730
<host>
736
<host>
731
   <hostname>server.brutex.net</hostname>
737
   <hostname>server.brutex.net</hostname>
732
   <port>512</port> <!-- default rExec port -->
738
   <port>512</port> <!-- default rExec port -->
733
   <user>brian</user>
739
   <user>brian</user>
734
   <!--Optional:-->
740
   <!--Optional:-->
735
   <password>somepass</password>
741
   <password>somepass</password>
736
</host>
742
</host>
737
]]>
743
]]>
738
	</programlisting>
744
	</programlisting>
739
</section>
745
</section>
740
	<section id="patternelement" version="5.0" xml:base="types/PatternElement.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
746
	<section id="patternelement" version="5.0" xml:base="types/PatternElement.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
741
	<title>PatternElement type</title>
747
	<title>PatternElement type</title>
742
	<para>The PatternElement type defines single string pattern for file/
748
	<para>The PatternElement type defines single string pattern for file/
743
		directory matching.</para>
749
		directory matching.</para>
744
	<para>
750
	<para>
745
		The defining Java class is
751
		The defining Java class is
746
		<ulink url="javadoc/net/brutex/xservices/types/PatternElement.html">
752
		<ulink url="javadoc/net/brutex/xservices/types/PatternElement.html">
747
			<classname>net.brutex.xservices.types.PatternElement</classname>
753
			<classname>net.brutex.xservices.types.PatternElement</classname>
748
		</ulink>
754
		</ulink>
749
		.
755
		.
750
	</para>
756
	</para>
751
	<para>
757
	<para>
752
		These patterns look exactly like those used in Apache Ant
758
		These patterns look exactly like those used in Apache Ant
753
		<ulink url="http://ant.apache.org/manual/dirtasks.html#patterns">Patterns</ulink>.
759
		<ulink url="http://ant.apache.org/manual/dirtasks.html#patterns">Patterns</ulink>.
754
		The '*' matches zero or more characters and the
760
		The '*' matches zero or more characters and the
755
		'?' will match a single character.
761
		'?' will match a single character.
756
		Both symbols can be combined in one pattern. The '**'
762
		Both symbols can be combined in one pattern. The '**'
757
		symbol can be used to match any directory deepth.
763
		symbol can be used to match any directory deepth.
758
	</para>
764
	</para>
759
	<para>Some example patterns:</para>
765
	<para>Some example patterns:</para>
760
	<para>
766
	<para>
761
		<parameter>**/mydir/**</parameter>
767
		<parameter>**/mydir/**</parameter>
762
	</para>
768
	</para>
763
	<para>Match all file that are located in any directory that has
769
	<para>Match all file that are located in any directory that has
764
		"mydir" string in its pathname. Also applies to files with
770
		"mydir" string in its pathname. Also applies to files with
765
		"mydir" in their name.</para>
771
		"mydir" in their name.</para>
766
	<para>
772
	<para>
767
		<parameter>/mydir/</parameter>
773
		<parameter>/mydir/</parameter>
768
	</para>
774
	</para>
769
	<para>The
775
	<para>The
770
		parser will automatically append an '**' symbol, thus the
776
		parser will automatically append an '**' symbol, thus the
771
		resulting pattern is
777
		resulting pattern is
772
		<parameter>/mydir/**</parameter>.
778
		<parameter>/mydir/**</parameter>.
773
		All files below the "/mydir/" directory (including its
779
		All files below the "/mydir/" directory (including its
774
		sub-directories will be chosen.
780
		sub-directories will be chosen.
775
	</para>
781
	</para>
776
	<note>
782
	<note>
777
		<para>The pattern is OS independent. You should always use
783
		<para>The pattern is OS independent. You should always use
778
			"/" as path separator, even on windows based systems.
784
			"/" as path separator, even on windows based systems.
779
		</para>
785
		</para>
780
	</note>
786
	</note>
781
	<bridgehead renderas="sect3">Schema definition</bridgehead>
787
	<bridgehead renderas="sect3">Schema definition</bridgehead>
782
	<programlisting language="xml"><![CDATA[<xs:simpleType name="patternElement">
788
	<programlisting language="xml"><![CDATA[<xs:simpleType name="patternElement">
783
    <xs:restriction base="xs:string"/>
789
    <xs:restriction base="xs:string"/>
784
</xs:simpleType>]]></programlisting>
790
</xs:simpleType>]]></programlisting>
785
 
791
 
786
	<bridgehead renderas="sect3">Example XML</bridgehead>
792
	<bridgehead renderas="sect3">Example XML</bridgehead>
787
	<programlisting language="xml"><![CDATA[<PatternElement>**/*</PatternElement>]]></programlisting>
793
	<programlisting language="xml"><![CDATA[<PatternElement>**/*</PatternElement>]]></programlisting>
788
 
794
 
789
</section>
795
</section>
790
	<section id="patternsettype" version="5.0" xml:base="types/PatternSetType.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
796
	<section id="patternsettype" version="5.0" xml:base="types/PatternSetType.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
791
	<title>PatternSetType type</title>
797
	<title>PatternSetType type</title>
792
	<para>The PatternSetType exposes various filters/ selectors for the
798
	<para>The PatternSetType exposes various filters/ selectors for the
793
		selection of resources (files).</para>
799
		selection of resources (files).</para>
794
	<para>
800
	<para>
795
		The defining Java class is
801
		The defining Java class is
796
		<ulink url="javadoc/net/brutex/xservices/types/PatternSetType.html">
802
		<ulink url="javadoc/net/brutex/xservices/types/PatternSetType.html">
797
			<classname>net.brutex.xservices.types.PatternSetType</classname>
803
			<classname>net.brutex.xservices.types.PatternSetType</classname>
798
		</ulink>
804
		</ulink>
799
		.
805
		.
800
	</para>
806
	</para>
801
	<bridgehead renderas="sect3">Schema definition</bridgehead>
807
	<bridgehead renderas="sect3">Schema definition</bridgehead>
802
	<programlisting language="xml"><![CDATA[
808
	<programlisting language="xml"><![CDATA[
803
<xs:complexType name="patternSetType">
809
<xs:complexType name="patternSetType">
804
    <xs:sequence>
810
    <xs:sequence>
805
        <xs:element default="**/*" maxOccurs="unbounded" minOccurs="0" name="include" type="]]><link linkend="patternelement">tns:patternElement</link><![CDATA["/>
811
        <xs:element default="**/*" maxOccurs="unbounded" minOccurs="0" name="include" type="]]><link linkend="patternelement">tns:patternElement</link><![CDATA["/>
806
        <xs:element maxOccurs="unbounded" minOccurs="0" name="exclude" type="]]><link linkend="patternelement">tns:patternElement</link><![CDATA["/>
812
        <xs:element maxOccurs="unbounded" minOccurs="0" name="exclude" type="]]><link linkend="patternelement">tns:patternElement</link><![CDATA["/>
807
        <xs:element minOccurs="0" name="selector" nillable="true" type="]]><link linkend="selectortype">tns:selectorType</link><![CDATA["/>
813
        <xs:element minOccurs="0" name="selector" nillable="true" type="]]><link linkend="selectortype">tns:selectorType</link><![CDATA["/>
808
    </xs:sequence>
814
    </xs:sequence>
809
</xs:complexType>]]>
815
</xs:complexType>]]>
810
	</programlisting>
816
	</programlisting>
811
	<bridgehead renderas="sect3">Example XML</bridgehead>
817
	<bridgehead renderas="sect3">Example XML</bridgehead>
812
	<programlisting language="xml"><![CDATA[
818
	<programlisting language="xml"><![CDATA[
813
            tbd.]]>
819
            tbd.]]>
814
	</programlisting>
820
	</programlisting>
815
</section>
821
</section>
816
	<section version="5.0" xml:base="types/ReturnCode.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
822
	<section version="5.0" xml:base="types/ReturnCode.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
817
	<title>ReturnCode type</title>
823
	<title>ReturnCode type</title>
818
	<para>
824
	<para>
819
		The ReturnCode type is used as the generic answer type for most of the
825
		The ReturnCode type is used as the generic answer type for most of the
820
		<application class="software">BruteXservices</application>
826
		<application class="software">BruteXservices</application>
821
		operations.
827
		operations.
822
	</para>
828
	</para>
823
	<para>
829
	<para>
824
		The defining Java class is
830
		The defining Java class is
825
		<ulink url="javadoc/net/brutex/xservices/types/ReturnCode.html">
831
		<ulink url="javadoc/net/brutex/xservices/types/ReturnCode.html">
826
			<classname>net.brutex.xservices.types.ReturnCode</classname>
832
			<classname>net.brutex.xservices.types.ReturnCode</classname>
827
		</ulink>
833
		</ulink>
828
		.
834
		.
829
	</para>
835
	</para>
830
	<bridgehead renderas="sect3">Schema definition</bridgehead>
836
	<bridgehead renderas="sect3">Schema definition</bridgehead>
831
	<programlisting language="xml"><![CDATA[
837
	<programlisting language="xml"><![CDATA[
832
<xs:complexType name="ReturnCodeType">
838
<xs:complexType name="ReturnCodeType">
833
    <xs:sequence>
839
    <xs:sequence>
834
        <xs:element name="returnCode" type="xs:int"/>
840
        <xs:element name="returnCode" type="xs:int"/>
835
        <xs:element minOccurs="0" name="stdOut" type="xs:string"/>
841
        <xs:element minOccurs="0" name="stdOut" type="xs:string"/>
836
        <xs:element minOccurs="0" name="stdErr" type="xs:string"/>
842
        <xs:element minOccurs="0" name="stdErr" type="xs:string"/>
837
        <xs:element maxOccurs="unbounded" minOccurs="0" name="propertyList" nillable="true" type="]]><link linkend="antproperty">tns:antProperty</link><![CDATA["/>
843
        <xs:element maxOccurs="unbounded" minOccurs="0" name="propertyList" nillable="true" type="]]><link linkend="antproperty">tns:antProperty</link><![CDATA["/>
838
    </xs:sequence>
844
    </xs:sequence>
839
</xs:complexType>]]>
845
</xs:complexType>]]>
840
	</programlisting>
846
	</programlisting>
841
 
847
 
842
	<bridgehead renderas="sect3">Example XML</bridgehead>
848
	<bridgehead renderas="sect3">Example XML</bridgehead>
843
	<programlisting language="xml">
849
	<programlisting language="xml">
844
		&lt;ReturnCode
850
		&lt;ReturnCode
845
		xmlns:ns2="http://ws.xservices.brutex.net"&gt;
851
		xmlns:ns2="http://ws.xservices.brutex.net"&gt;
846
		&lt;returnCode&gt;0&lt;/returnCode&gt;
852
		&lt;returnCode&gt;0&lt;/returnCode&gt;
847
		&lt;stdOut/&gt;
853
		&lt;stdOut/&gt;
848
		&lt;stdErr/&gt;
854
		&lt;stdErr/&gt;
849
		&lt;propertyList&gt;
855
		&lt;propertyList&gt;
850
		<lineannotation>
856
		<lineannotation>
851
			See
857
			See
852
			<link linkend="antproperty">tns:antProperty</link>
858
			<link linkend="antproperty">tns:antProperty</link>
853
			for details about the &lt;propertyList&gt; elements.
859
			for details about the &lt;propertyList&gt; elements.
854
		</lineannotation>
860
		</lineannotation>
855
		&lt;name&gt;key1&lt;/name&gt;
861
		&lt;name&gt;key1&lt;/name&gt;
856
		&lt;value&gt;value1&lt;/value&gt;
862
		&lt;value&gt;value1&lt;/value&gt;
857
		&lt;/propertyList&gt;
863
		&lt;/propertyList&gt;
858
		&lt;propertyList&gt;
864
		&lt;propertyList&gt;
859
		&lt;name&gt;key2&lt;/name&gt;
865
		&lt;name&gt;key2&lt;/name&gt;
860
		&lt;value&gt;value2&lt;/value&gt;
866
		&lt;value&gt;value2&lt;/value&gt;
861
		&lt;/propertyList&gt;
867
		&lt;/propertyList&gt;
862
		&lt;/ReturnCode&gt;
868
		&lt;/ReturnCode&gt;
863
	</programlisting>
869
	</programlisting>
864
 
870
 
865
</section>
871
</section>
866
	<section id="selectortype" version="5.0" xml:base="types/SelectorType.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
872
	<section id="selectortype" version="5.0" xml:base="types/SelectorType.xml" xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude">
867
    <title>SelectorType type</title>
873
    <title>SelectorType type</title>
868
    <para>The SelectorType exposes various selectors for the selection of resources (files).</para>
874
    <para>The SelectorType exposes various selectors for the selection of resources (files).</para>
869
    <para>The defining Java class is
875
    <para>The defining Java class is
870
        <ulink url="javadoc/net/brutex/xservices/types/SelectorType.html">
876
        <ulink url="javadoc/net/brutex/xservices/types/SelectorType.html">
871
    <classname>net.brutex.xservices.types.SelectorType</classname></ulink>.</para>
877
    <classname>net.brutex.xservices.types.SelectorType</classname></ulink>.</para>
872
<bridgehead renderas="sect3">Schema definition</bridgehead>
878
<bridgehead renderas="sect3">Schema definition</bridgehead>
873
        <programlisting language="xml"><![CDATA[
879
        <programlisting language="xml"><![CDATA[
874
         <xs:complexType abstract="true" name="selectorType">
880
         <xs:complexType abstract="true" name="selectorType">
875
            <xs:sequence>
881
            <xs:sequence>
876
               <xs:element maxOccurs="unbounded" minOccurs="0" name="contains" nillable="true" type="tns:containsSelectorType"/>
882
               <xs:element maxOccurs="unbounded" minOccurs="0" name="contains" nillable="true" type="tns:containsSelectorType"/>
877
            </xs:sequence>
883
            </xs:sequence>
878
         </xs:complexType>]]>
884
         </xs:complexType>]]>
879
</programlisting>
885
</programlisting>
880
<bridgehead renderas="sect3">Example XML</bridgehead>
886
<bridgehead renderas="sect3">Example XML</bridgehead>
881
    <programlisting language="xml"><![CDATA[
887
    <programlisting language="xml"><![CDATA[
882
            tbd.]]>
888
            tbd.]]>
883
        </programlisting>
889
        </programlisting>
884
</section>
890
</section>
885
</section>
891
</section>
886
	</chapter>
892
	</chapter>
887
</book>
893
</book>
888
 
894
 
889
Generated by GNU Enscript 1.6.5.90.
895
Generated by GNU Enscript 1.6.5.90.
890
 
896
 
891
 
897