/[volute]/trunk/projects/grid/uws/doc/UWS.html
ViewVC logotype

Annotation of /trunk/projects/grid/uws/doc/UWS.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 982 - (hide annotations)
Mon Apr 20 15:07:43 2009 UTC (11 years, 9 months ago) by harripa
File MIME type: text/plain
File size: 185678 byte(s)
restructured directory tree to take advantage of svn external refs
1 harripa 982 <?xml version="1.0" encoding="ISO-8859-1"?><!-- $Id:$
2 harripa 856 Universal Worker Service WD
3     Note that this file should be xhtml with div to mark sections
4     Paul Harrison -->
5 harripa 982 <!DOCTYPE html
6     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
7     <html xmlns="http://www.w3.org/1999/xhtml"><head xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" profile="http://www.w3.org/1999/xhtml/vocab"><title>Universal Worker Service Specification</title><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/><meta name="Title" content="IVOA WG Internal Draft"/><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/><meta name="author" content="Paul Harrison, paul.harrison@manchester.ac.uk"/><meta name="maintainedBy" content="Paul Harrison, paul.harrison@manchester.ac.uk"/><link href="http://www.ivoa.net/misc/ivoa_a.css" rel="stylesheet" type="text/css"/><link rel="stylesheet" href="http://www.ivoa.net/misc/ivoa_wd.css" type="text/css"/><style type="text/css" xml:space="preserve"/><link href="ivoadoc/XMLPrint.css" rel="stylesheet" type="text/css"/></head><body bgcolor="#FFFFFF">
8 harripa 856 <div class="head">
9 harripa 982 <table><tr><td rowspan="1" colspan="1"><a href="http://www.ivoa.net/" shape="rect"><img alt="IVOA" src="http://www.ivoa.net/icons/ivoa_logo_small.jpg"/></a></td></tr></table>
10     <h1>Universal Worker Service<br clear="none"/>
11 harripa 856 Version @VERSION@</h1>
12 harripa 982 <h2>IVOA
13 harripa 856 Internal Working Draft @RELEASEDATE@</h2>
14 harripa 982 <dl><dt>Working Group</dt><dd><a href="http://www.ivoa.net/twiki/bin/view/IVOA/IvoaGridAndWebServices" shape="rect">http://www.ivoa.net/twiki/bin/view/IVOA/IvoaGridAndWebServices</a></dd><dt><b>This version:</b></dt><dd> 0.4</dd><dt><b>Latest version:</b></dt><dd> not issued outside
15     GWS-WG</dd><dt><b>Previous version(s):</b></dt><dd> Internal Working Draft
16 harripa 856 v0.1, 2005-01-24
17     Internal Working Draft
18     v0.2, 2006-05-11 Internal
19     Working Draft v.0.3, 2007-04-26 Internal
20 harripa 982 Working Draft v.04 2008-05-10</dd><dt><b>Author(s):</b></dt><dd> Paul
21     Harrison, Guy Rixon</dd></dl>
22 harripa 856
23     <h2>Abstract</h2>
24 harripa 982 <p>The Universal Worker Service pattern
25 harripa 856 (UWS) defines how to manage asynchronous execution of jobs on a
26     service. Any application of the pattern defines a family of related
27     services with a common service contract. Four possible applications
28     are described.</p>
29     <h2> Status of This Document</h2>
30 harripa 982 <p>This is an working draft of
31 harripa 856 the GWS-WG. The first release of this document was on 2005-01-24
32     within the working group; This version is the first public WD.</p>
33 harripa 982 <p><em>This
34 harripa 856 is an IVOA Working Draft for review by IVOA members and other
35     interested parties. It is a draft document and may be updated,
36     replaced, or made obsolete by other documents at any time. It is
37     inappropriate to use IVOA Working Drafts as reference materials or to
38 harripa 982 cite them as other than &#8220;work in progress&#8221;.</em></p>
39     <p> <em>A list of </em><span style="background: transparent"><a href="http://www.ivoa.net/Documents/" shape="rect"><i>current
40     IVOA Recommendations and other technical documents</i></a></span><em> can be found at http://www.ivoa.net/Documents/.</em></p>
41     <h2 class="prologue-heading-western">Acknowledgements</h2>
42     <p>The need for the UWS pattern was
43     inspired by AstroGrid&#8217;s Common Execution Architecture and
44 harripa 856 particularly by discussions with Noel Winstanley. The ideas about
45     statefulness are distilled from debates in the Global Grid Forum in
46     respect of the Open Grid Services Infrastructure that was the
47     fore-runner of Web Services Resource Framework. The REST binding came
48     initially from suggestions by Norman Gray. The pattern was further
49     refined following Pat Dowler's feedback from the implementation of a TAP prototype.</p>
50 harripa 982 <p class="prologue-heading-western">ISSUES TO BE
51 harripa 856 RESOLVED</p>
52 harripa 982 <ol><li>
53     <p>Possible blocking behaviour on
54     getResults &#8211; or what behaviour for for allowing results to appear
55 harripa 856 before the app is finished to allow streaming.</p>
56 harripa 982 </li><li>
57     <p>Perhaps remove the SOAP binding
58     section &#8211; although the most basic of the WS-* standards, it not
59 harripa 856 clear how well supported WS-Addressing is in tools, and how best to
60 harripa 982 use it for UWS to really achieve interoperability (see <a href="http://wiki.apache.org/ws/StackComparison" shape="rect">http://wiki.apache.org/ws/StackComparison</a> for a SOAP stack comparison). Possibly re-introduce SOAP binding in
61 harripa 856 a later version (2.x?) of the UWS standard, when there is more
62     experience.</p>
63 harripa 982 </li></ol>
64 harripa 856 </div>
65 harripa 982 <h2>Contents</h2>
66 harripa 856 <div id="TOC">
67 harripa 982 <div xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" id="toc" class="toc"><ul><li><a href="#Introduction"><span class="secnum">1. </span>Introduction</a><ul><li><a href="#SynchronousStateless"><span class="secnum">1.1. </span> Synchronous, stateless services</a></li><li><a href="#IVOOutGrow"><span class="secnum">1.2. </span> Some IVO activities that outgrow synchronous, stateless services</a></li><li><a href="#AsynchronousServices"><span class="secnum">1.3. </span> Asynchronous and stateful services</a></li><li><a href="#JDL"><span class="secnum">1.4. </span> Job description language, service contracts and universality</a></li></ul></li><li><a href="#UWSpattern"><span class="secnum">2. </span> Universal Worker Service pattern</a><ul><li><a href="#UWSObjects"><span class="secnum">2.1. </span> Objects within a UWS</a><ul><li><a href="#Joblist"><span class="secnum">2.1.1. </span>
68     Job list </a></li><li><a href="#Job"><span class="secnum">2.1.2. </span>Job</a></li><li><a href="#ExecutionPhase"><span class="secnum">2.1.3. </span> Execution Phase</a></li><li><a href="#ExecutionDuration"><span class="secnum">2.1.4. </span> Execution Duration</a></li><li><a href="#DestructionTime"><span class="secnum">2.1.5. </span> Destruction Time</a></li><li><a href="#Quote"><span class="secnum">2.1.6. </span>Quote</a></li><li><a href="#Error"><span class="secnum">2.1.7. </span>Error</a></li><li><a href="#ResultsList"><span class="secnum">2.1.8. </span>Results List</a></li></ul></li><li><a href="#Bindings"><span class="secnum">2.2. </span>Bindings</a><ul><li><a href="#d1e603"><span class="secnum">2.2.1. </span>Representations of resources</a></li><li><a href="#d1e634"><span class="secnum">2.2.2. </span>State changing requests</a></li><li><a href="#d1e708"><span class="secnum">2.2.3. </span>Message pattern</a></li></ul></li><li><a href="#SOAPbinding"><span class="secnum">2.3. </span> SOAP binding</a></li></ul></li><li><a href="#SecurityConsiderations"><span class="secnum">3. </span>Security Considerations</a></li><li><a href="#ApplicationsOfUWS"><span class="secnum">4. </span> Applications of UWS (informative)</a><ul><li><a href="#Imageservice"><span class="secnum">4.1. </span> Image service with data staging</a></li><li><a href="#ADQLservice"><span class="secnum">4.2. </span> ADQL service with cursor</a></li><li><a href="#ParameterizedApplications"><span class="secnum">4.3. </span> Parameterized applications</a></li></ul></li><li><a href="#SynchronousService"><span class="secnum">5. </span> Implementing a Synchronous Service on top of UWS (informative)</a></li><li><a href="#Updates"><span class="secnum">A. </span> Updates from previous versions</a><ul><li><a href="#d1e1112"><span class="secnum">A.1. </span>At Version 0.5</a></li></ul></li><li><a href="#References"><span class="secnum">B. </span>References</a></li><li><a href="#UWSSchema"><span class="secnum">C. </span> Appendix A Schema</a></li><li><a href="#UWSWSDL"><span class="secnum">D. </span> Appendix B WSDL 1.0 for SOAP binding</a></li></ul></div>
69 harripa 856 </div>
70     <div class="body">
71 harripa 982 <div class="section"><h2><a name="Introduction"/><span class="secnum">1. </span>Introduction</h2>
72     <p>The Universal Worker Service (UWS)
73 harripa 856 pattern defines how to build <i>asynchronous</i>, <i>stateful</i>, <i>job-oriented</i> services<i> </i>(the italicized terms are defined
74     in sub-sections of this introduction). It does so in a way that
75     allows for wide-scale reuse of software and support from software
76     toolkits.</p>
77 harripa 982 <p>Section 2 of this document describes
78 harripa 856 the pattern and lists the aspects that are common to all its
79     applications. Any such application would involve a service contract
80     that embodies the pattern and fixes the issues left undefined in the
81     pattern itself. The contract would include the XML schemata (XSD and
82     WSDL) for the application. It is intended that each such contract
83     cover a family of related applications, such that the implementations
84     may be widely reused.</p>
85 harripa 982 <p>Section 3 outlines several possible
86 harripa 856 applications of the pattern. These use-cases may be expanded into
87     full IVOA standards that are siblings of the current document.</p>
88 harripa 982 <p>Section 4 describes the preferred
89 harripa 856 method of creating a synchronous facade to a UWS system.</p>
90 harripa 982 <div class="section"><h3><a name="SynchronousStateless"/><span class="secnum">1.1. </span> Synchronous, stateless services</h3>
91     <p>Simple web services are <i>synchronous</i> and <i>stateless</i>. Synchronous means that the client waits for
92 harripa 856 each request to be fulfilled; if the client disconnects from the
93     service then the activity is abandoned. <i>Stateless</i> means that
94     the service does not remember results of a previous activity (or, at
95     least, the client cannot ask the service about them).</p>
96 harripa 982 <p>Synchronous, stateless services work
97 harripa 856 well when two criteria apply.</p>
98 harripa 982 <ol><li>
99     <p>The length of each activity is
100     less than the &#8220;attention span&#8221; of the connection.</p>
101     </li><li>
102     <p>The results of each activity are
103 harripa 856 compact enough to be easily passed back to the client via the
104     connection on which the request was made (and possibly pushed back
105     to the service as parameters of the next activity).</p>
106 harripa 982 </li></ol>
107     <p>There are various limits to the
108 harripa 856 attention span.</p>
109 harripa 982 <ul><li>
110     <p>HTTP assumes that the start of a
111 harripa 856 reply quickly follows its request, even if the body of the reply
112     takes a long time to stream. If the service takes too long to
113     compute the results and to start the reply, then HTTP times out at
114     the request is lost.</p>
115 harripa 982 </li><li>
116     <p>A client runs computer which
117 harripa 856 will not stay on-line indefinitely.</p>
118 harripa 982 </li><li>
119     <p>A network with finite
120 harripa 856 reliability will eventually break communications during an activity.</p>
121 harripa 982 </li><li>
122     <p>A service is sometimes shut down
123 harripa 856 for maintenance.</p>
124 harripa 982 </li></ul>
125     <p>Synchronous, stateless services, in
126 harripa 856 short, do not scale well.</p>
127     </div>
128 harripa 982 <div class="section"><h3><a name="IVOOutGrow"/><span class="secnum">1.2. </span> Some IVO activities that outgrow synchronous, stateless services</h3>
129     <p>These cases are examples. They are
130 harripa 856 not a complete list!</p>
131 harripa 982 <ol><li>
132     <p>An ADQL [1] service gives access
133 harripa 856 to a large object-catalogue. Most queries run in less than a minute,
134     but some legitimate queries involve a full-table traverse and take
135     hours or days. The service needs to run these special cases in a
136     low-priority queue.</p>
137 harripa 982 </li><li>
138     <p>An object-finding service runs
139 harripa 856 the SExtractor application on a list of images. Normally, the list
140     is short and the request is quickly satisfied. Occasionally, a list
141     of 10,000 images is sent in the expectation that the work will be
142     finished over the weekend.</p>
143 harripa 982 </li><li>
144     <p>A cone-search [2] request on a
145 harripa 856 rich catalogue raises 10,000,000 rows of results, but the client is
146     connected via a slow link and cannot read all the results in a
147     reasonable time. The client needs the service to send the results
148     into storage over a faster link. This could mean sending them to
149     VOSpace, or simply holding them temporarily until the user can
150     retrieve them on a fast link.</p>
151 harripa 982 </li><li>
152     <p>An ADQL service allows users to
153 harripa 856 save query results into new tables such that they can be the target
154     of later queries. However, space is limited and the results tables
155     can only be kept for a short time. The client and service negotiate
156     the lifetime of the results tables.</p>
157 harripa 982 </li><li>
158     <p>A service performs image
159 harripa 856 stacking on a list of fields. Each field can be processed by a
160     synchronous service but the list is long and the user wants to
161     retrieve the results of the early fields before the last fields are
162     processed.</p>
163 harripa 982 </li></ol>
164 harripa 856 </div>
165 harripa 982 <div class="section"><h3><a name="AsynchronousServices"/><span class="secnum">1.3. </span> Asynchronous and stateful services</h3>
166     <p>Services can be made to scale better
167 harripa 856 by making them <i>asynchronous</i> and <i>stateful</i>. Asynchronous
168     means that a client makes two or more separate requests to the
169     service in the course of one activity, and that the client and
170     service may be disconnected, possibly for days or more, in between
171     those requests. Stateful means that the service stores state
172     information about the activity and the client addresses requests to
173     this state.</p>
174 harripa 982 <p>Web services that are asynchronous
175 harripa 856 are almost always stateful. Most of special extra arrangements for
176     asynchronous activities are actually managing the state of the
177     activity.</p>
178 harripa 982 <p>There is an important class of
179 harripa 856 stateful services where the state is peculiar to one job or session
180 harripa 982 and the job is &#8220;owned&#8221; by one user. These, for the purpose of
181 harripa 856 this document, are called <i>job-oriented</i> services. There are
182     stateful services that are not job-oriented (e.g. a service managing
183     a shared, client-writeable DB table), but UWS does not apply to
184     these.</p>
185 harripa 982 <p>For the purpose of this discussion,
186 harripa 856 let the term <i>job</i> refer to the work specified by the JDL
187     instructions and the term <i>resource</i> refer to the state of the
188 harripa 982 job as recorded by the service. Both have a finite duration. The <i>lifetime</i> of the resource &#8211; i.e. the time from inception
189     until the service forgets the state &#8211; is generally finite and must
190 harripa 856 be at least as long the duration of the job.</p>
191     </div>
192 harripa 982 <div class="section"><h3><a name="JDL"/><span class="secnum">1.4. </span> Job description language, service contracts and universality</h3>
193     <p>Consider the web-service operation
194 harripa 856 that starts off a job. This operation must express what is to be done
195     in the activity: it must carry parameters in some form.</p>
196 harripa 982 <p>The parameters may be expressed as a
197 harripa 856 list. E.g., a cone search service takes a list of three parameters:
198     RA, DEC, RADIUS. Alternatively, the parameters may be arranged as an
199     XML document (e.g. ADQL, CEA). The rules for setting and arranging
200     the parameters for a job are called the<i> Job-Description Language </i>(JDL).</p>
201 harripa 982 <p>The combination of the UWS pattern, a
202 harripa 856 JDL and details of the job state visible to the client defines a
203     service contract; for a SOAP service, this contract can be captured
204     in WSDL. Changing the JDL changes the contract. Thus, it is not
205 harripa 982 meaningful to &#8220;implement UWS&#8221; in isolation; any implementation
206 harripa 856 standard must specify the rest of the contract.</p>
207 harripa 982 <p>If the JDL is very general, a single
208     service-contract can be reused for many kinds of service. AstroGrid&#8217;s
209 harripa 856 CEA exploits this: one JDL covers all services offering parameterized
210     applications and even ADQL services. In the limit, a
211     sufficiently-general JDL turns a specialized worker service into a
212     universal worker service.</p>
213     </div>
214     </div>
215 harripa 982 <div class="section"><h2><a name="UWSpattern"/><span class="secnum">2. </span> Universal Worker Service pattern</h2>
216     <div class="section"><h3><a name="UWSObjects"/><span class="secnum">2.1. </span> Objects within a UWS</h3>
217     <p>A UWS consists logically in a set of
218 harripa 856 objects that may be read and written to in order to control jobs.</p>
219 harripa 982 <p>In a SOAP binding of UWS, these
220 harripa 856 components are exposed as properties of the object that lives at the
221     endpoint registered for the service. In a REST binding, the
222     components are distinct web-resources each with its own URI.</p>
223     <p> The following sub-sections explain the semantics of the objects. The
224     UML diagram shows the relationships more succinctly.</p>
225 harripa 982 <p><img src="Class_Diagram__UWS__UWSObjects.png" alt="UWS Objects Class Diagram" name="graphics2" width="418" height="369" border="0" align="top" id="graphics2"/></p>
226     <div class="section"><h4><a name="Joblist"/><span class="secnum">2.1.1. </span>
227     Job list </h4>
228     <p>The Job List is the outermost object:
229 harripa 856 it contains all the other objects in the UWS. The immediate children
230     of the job list are Job objects (see next sub-section).</p>
231 harripa 982 <p>The job list may be read to find the
232 harripa 856 extant jobs.</p>
233 harripa 982 <p>The job list may be updated to add a
234 harripa 856 new job.</p>
235 harripa 982 <p>The job list itself does not allow
236 harripa 856 jobs to be deleted. Instead, when a job is destroyed by an action on
237     its job object, then the list updates itself accordingly.</p>
238     </div>
239 harripa 982 <div class="section"><h4><a name="Job"/><span class="secnum">2.1.2. </span>Job</h4>
240     <p>A Job object contains the state of
241 harripa 856 one job. The state is a collection of other objects. Each Job
242     aggregates</p>
243 harripa 982 <ul><li>
244     <p>Exactly one Execution Phase.</p>
245     </li><li>
246     <p>Exactly one Execution Duration.</p>
247     </li><li>
248     <p>Exactly one Deletion Time</p>
249     </li><li>
250     <p>Exactly one Quote.</p>
251     </li><li>
252     <p>Exactly one Results List.</p>
253     </li><li>
254     <p>Zero or one Error.</p>
255     </li></ul>
256 harripa 856 </div>
257 harripa 982 <div class="section"><h4><a name="ExecutionPhase"/><span class="secnum">2.1.3. </span> Execution Phase</h4>
258     <p>The job is treated as a state machine
259 harripa 856 with the Execution Phase naming the state. The phases are</p>
260 harripa 982 <ul><li>
261     <p>PENDING: the job is accepted by
262 harripa 856 the service but not yet committed for execution by the client. In
263     this state, the job quote can be read and evaluated. This is the
264     state into which a job enters when it is first created.</p>
265 harripa 982 </li><li>
266     <p>QUEUED: the job is committed for
267 harripa 856 execution by the client but the service has not yet assigned it to a
268     processor. No Results are produced in this phase.</p>
269 harripa 982 </li><li>
270     <p>EXECUTING: the job has been
271 harripa 856 assigned to a processor. Results may be produced at any time during
272     this phase.</p>
273 harripa 982 </li><li>
274     <p>COMPLETED: the execution of the
275 harripa 856 job is over. The Results may be collected.</p>
276 harripa 982 </li><li>
277     <p>ERROR: the job failed to
278 harripa 856 complete. No further work will be done nor Results produced. Results
279     may be unavailable or available but invalid; either way the Results
280     should not be trusted.</p>
281 harripa 982 </li><li>
282     <p>ABORTED: the job has been
283 harripa 856 manually aborted by the user, or the system has aborted the job due
284     to lack of or overuse of resources.</p>
285 harripa 982 </li></ul>
286 harripa 856 </div>
287 harripa 982 <div class="section"><h4><a name="ExecutionDuration"/><span class="secnum">2.1.4. </span> Execution Duration</h4>
288     <p>An Execution Duration object defines
289 harripa 856 the duration for which a job shall run. This represents the
290 harripa 982 &#8220;computation time&#8221; that a job is to be allowed, although because
291 harripa 856 a specific measure of CPU time may not be available in all
292     environments, this duration is defined in real clock seconds. An
293     execution duration of 0 implies unlimited execution duration.</p>
294 harripa 982 <p>When the execution duration has been
295 harripa 856 exceeded the service will automatically abort the job, which has the
296 harripa 982 same effect as when a manual &#8220;Abort&#8221; is requested.</p>
297     <p>Specifically, when a job is aborted:</p>
298     <ul><li>
299     <p>if the job is still executing,
300 harripa 856 the execution is aborted.</p>
301 harripa 982 </li><li>
302     <p>any previously generated results
303 harripa 856 of the job are retained.</p>
304 harripa 982 </li></ul>
305     <p>When a job is created, the service
306 harripa 856 sets the initial execution duration. The client may write to an
307     Execution Duration to try to change the job's cpu time allocation.
308     The service may forbid changes, or may set limits on the allowed
309     execution duration.</p>
310     </div>
311 harripa 982 <div class="section"><h4><a name="DestructionTime"/><span class="secnum">2.1.5. </span> Destruction Time</h4>
312     <p>The Destruction Time object
313 harripa 856 represents the instant when the job shall be destroyed. The
314     Destruction Time is an absolute time.</p>
315 harripa 982 <p>Destroying a job implies;</p>
316     <ul><li>
317     <p>if the job is still executing,
318 harripa 856 the execution is aborted.</p>
319 harripa 982 </li><li>
320     <p>any results from the job are
321 harripa 856 destroyed and storage reclaimed.</p>
322 harripa 982 </li></ul>
323     <ul><li value="1">
324     <p>the service forgets that
325 harripa 856 the job existed.</p>
326 harripa 982 </li></ul>
327     <p>The Destruction Time may be viewed as
328 harripa 856 a measure of the amount of time that a service is prepared to
329 harripa 982 allocate storage for a job &#8211; typically this will be a longer
330 harripa 856 duration that the amount of CPU time that a service would allocate.</p>
331 harripa 982 <p>When a job is created the service
332 harripa 856 sets the initial Destruction Time. The client may write to the
333     Destruction Time to try to change the life expectancy of the job. The
334     service may forbid changes, or may set limits on the allowed
335     destruction time.</p>
336     </div>
337 harripa 982 <div class="section"><h4><a name="Quote"/><span class="secnum">2.1.6. </span>Quote</h4>
338     <p>A Quote object predicts when the job
339 harripa 856 is likely to complete. The intention is that a client creates the
340     same job on several services, compares the quotes and then accepts
341     the best quote.</p>
342 harripa 982 <p>Quoting for a computational job is
343 harripa 856 notoriously difficult. A UWS implementation must always provide a
344     quote object, in order that the two-phase committal of jobs be
345 harripa 982 uniform across all UWS, but it may supply a &#8220;don't know&#8221; answer
346 harripa 856 for the completion time.</p>
347     </div>
348 harripa 982 <div class="section"><h4><a name="Error"/><span class="secnum">2.1.7. </span>Error</h4>
349     <p>The error object gives a human
350 harripa 856 readable error message (if any) for the underlying job. This object
351     is intended to be a detailed error message, and consequently might be
352     a large piece of text such as a stack trace. When there is an error
353     running a job a summary of the error should be given using the
354     optional errorSummary element of the JobSummary type.</p>
355     </div>
356 harripa 982 <div class="section"><h4><a name="ResultsList"/><span class="secnum">2.1.8. </span>Results List</h4>
357     <p>The Results List object is a
358 harripa 856 container for formal results of the job. Its children may be any
359     objects resulting from the computation that may be fetched from the
360     service when the job has completed.</p>
361 harripa 982 <p>Reading the Results List itself
362 harripa 856 enumerates the available or expected result objects.</p>
363 harripa 982 <p>The children of the Results List may
364 harripa 856 be read but not updated or deleted. The client may not add anything
365     to the Results List.</p>
366     </div>
367     </div>
368 harripa 982 <div class="section"><h3><a name="Bindings"/><span class="secnum">2.2. </span>Bindings</h3>
369     <h3><a name="RESTbinding" id="RESTbinding" shape="rect"/> REST binding</h3>
370     <h4>Resources and URIs</h4>
371     <p>In a REST (Representational State
372 harripa 856 Transfer) binding of UWS, each of the objects defined above is
373     available as a web resource with its own URI. These URIs must form a
374     hierarchy as follows:</p>
375 harripa 982 <p>/{jobs} the Job List</p>
376     <p>/{jobs}/(job-id) a Job</p>
377     <p>/{jobs}/(job-id)/phase the Phase of
378 harripa 856 (job-id)</p>
379 harripa 982 <p>/{jobs}/(job-id)/executionduration the
380 harripa 856 maximum execution duration of (job-id)</p>
381 harripa 982 <p>/{jobs}/(job-id)/destruction the
382 harripa 856 destruction instant for (job-id)</p>
383 harripa 982 <p>/{jobs}/(job-id)/error any error
384 harripa 856 message associated with (job-id)</p>
385 harripa 982 <p>/{jobs}/(job-id)/quote the Quote for
386 harripa 856 (job-id)</p>
387 harripa 982 <p>/{jobs}/(job-id)/results the Results
388 harripa 856 List for (job-id)</p>
389 harripa 982 <p>The service implementor is free to
390 harripa 856 choose the names given in parentheses above; the other names are part
391     of the UWS standard.</p>
392 harripa 982 <p>The URI for the Job List, in its
393 harripa 856 absolute form is the root URI for the whole UWS. This URI should be
394     given as the access URL in the UWS' registration.</p>
395 harripa 982 <div class="section"><h4><a name="d1e603"/><span class="secnum">2.2.1. </span>Representations of resources</h4>
396     <p>For each of the resources, HTTP GET
397 harripa 856 fetches a representation.</p>
398 harripa 982 <p>The representation of the Job List is
399 harripa 856 a list of links to extant jobs. The list may be empty if the UWS is
400     idle.</p>
401 harripa 982 <p>The representation of a Job is a list
402 harripa 856 of links to its Phase, Execution Duration, Destruction Time, Error,
403     Quote and Results List.</p>
404 harripa 982 <p>The representation of a Results List
405 harripa 856 is a list of links to the resources representing the results. These
406     resources may have any URI and any MIME type. A sensible default for
407     their URIs is to make them children of /{jobs}/(job-id)/results, but
408     this is not required. It may sometimes be easier for a service
409     implementor to point to a resource on some web server separate from
410     that running the UWS. Therefore, a client must always parse the
411     Results List to find the results. Where a protocol applying UWS
412     specifies standard results it must do so by naming those results; the
413     names then appear in the Results List in addition to the URIs. Not
414     all results need to be named; sometimes the meaning of the result is
415     obvious from the context and the name is omitted.</p>
416 harripa 982 <p>HTTP allows multiple representations
417 harripa 856 of a resource distinguished by their MIME types and selected by the
418     HTTP headers of a GET request. UWS exploits this to support both web
419     browsers and rich clients in the same tree of resources.</p>
420 harripa 982 <p>A UWS should return HTML or XHTML to
421 harripa 856 clients that accept these types. These clients are assumed to be web
422     browsers and the UWS is generating its own user interface. The HTML
423     interface generated should allow full control of the UWS via the use
424     of HTML forms and appropriate links.</p>
425 harripa 982 <p>Clients which are assumed to be part
426 harripa 856 of remote applications that drive UWS without showing the details to
427     their users should accept only application/xml. A UWS must therefore
428     return XML representations of the resources.</p>
429 harripa 982 <p>The XML schemata for the lists of
430 harripa 856 links, and for the Phase, Execution Duration and Quote documents, are
431     detailed in Appendix A of this specification. They should not vary
432     between UWS installations.</p>
433     </div>
434 harripa 982 <div class="section"><h4><a name="d1e634"/><span class="secnum">2.2.2. </span>State changing requests</h4>
435     <p>Certain of the UWS' resources accept
436     HTTP POST and DELETE messages to change the state of the service &#8211;
437 harripa 856 This is the fundamental way that a client controls the execution of a
438     job. In most of the cases where a job subobject is set the response
439 harripa 982 will have a http 303 &#8220;See other&#8221; status and a Location header
440 harripa 856 that points back to the main job summary obtained at the <span style="font-weight: medium">/{jobs}/(job-id)
441     URI. The job summary contains the values of the main parameters
442     within the returned XML (or XHTML). This mode of operation was chosen
443     (as opposed to returning only the sub-object being altered) as it
444 harripa 982 makes for a more natural user interface &#8211; especially in the case of
445 harripa 856 the XHMTL interface. A client that wants to obtain only the value of
446     a particular sub-object can at any time request that sub-object with
447     a HTTP GET.</span></p>
448 harripa 982 <h5>Creating a Job</h5>
449     <p>POSTing a request to the Job List
450 harripa 856 creates a new job (unless the service rejects the request). The
451 harripa 982 response when a job is accepted must have code 303 &#8220;See other&#8221;
452 harripa 856 and the Location header of the response must point to the created
453     job.</p>
454 harripa 982 <p>This initial POST will in most cases
455 harripa 856 carry parameters for the protocol that is using the UWS pattern, as
456     detailed in section 3.</p>
457 harripa 982 <h5>Deleting a Job</h5>
458     <p>Sending a HTTP DELETE to a Job
459 harripa 856 resource destroys that job, with the meaning noted in the definition
460     of the Job object, above. No other resource of the UWS may be
461     directly deleted by the client. The response to this request must
462 harripa 982 have code 303 &#8220;See other&#8221; and the Location header of the response
463 harripa 856 must point to the Job List at the /{jobs} URI.</p>
464 harripa 982 <p>Posting a request with a parameter
465 harripa 856 ACTION=DELETE to the Job also destroys the job, the response being as
466     for a deletion. This action supports web browsers which typically
467     cannot send DELETE requests.</p>
468 harripa 982 <h5>Changing the Destruction
469 harripa 856 Time</h5>
470 harripa 982 <p>The Destruction Time may be changed
471 harripa 856 by POSTing to /{jobs}/(job-id)/destruction. In this case, the body
472     of the posted request is of type <i>application/x-www-form-urlencoded</i><b> </b><span style="font-weight: medium">and
473     contains the parameter named DESTRUCTION whose value is the new
474     destruction time in ISO8601 format; i.e. this request is what an HTML
475     form sends.</span></p>
476 harripa 982 <p style="font-weight: medium">The
477     response to this request must have code 303 &#8220;See other&#8221; and the
478 harripa 856 Location header of the response must point to the /{jobs}/(job-id)
479     URI so that the client receives the value that the service has
480     actually set the Destruction Time to within the Job summary response.</p>
481 harripa 982 <h5>Changing the Execution
482 harripa 856 Duration</h5>
483 harripa 982 <p>The Execution Duration may be changed
484 harripa 856 by POSTing to /{jobs}/(job-id)/termination. In this case, the body
485     of the posted request is of type <i>application/x-www-form-urlencoded</i><b> </b><span style="font-weight: medium">and
486     contains the parameter named TERMINATION whose value is the new
487     executionduration in seconds.</span></p>
488 harripa 982 <p style="font-weight: medium">The
489     response to this request must have code 303 &#8220;See other&#8221; and the
490 harripa 856 Location header of the response must point to the
491     /{jobs}/(job-id)/URI so that the client receives the value that the
492 harripa 982 service has actually set the Execution Duration to &#8211; the service is
493 harripa 856 free to override the request if it needs.</p>
494 harripa 982 <h5 style="font-weight: medium"> Starting a Job</h5>
495     <p style="font-weight: medium">A
496 harripa 856 job may be started by POSTing to the /{jobs}/(job-id)/phase URI. The
497     POST contains a single parameter PHASE=RUN which instructs the UWS to
498     attempt to start the job. The response to this request must have code
499 harripa 982 303 &#8220;See other&#8221; and the Location header of the response must
500 harripa 856 point to the /{jobs}/(job-id) URI so that the client receives the
501     phase that the job has been set to. Typically a UWS will put a job
502     into a QUEUED state on receipt of this command, but depending on how
503     busy the server is, the job might be put almost immediately (and
504     without client intervention) into an EXECUTING state.</p>
505 harripa 982 <h5 style="font-weight: medium">Aborting a Job</h5>
506     <p style="font-weight: medium">A
507 harripa 856 job may be aborted by POSTing to the /{jobs}/(job-id)/phase URI. The
508     POST contains a single parameter PHASE=ABORT which instructs the UWS
509     to attempt to abort the job. The response to this request must have
510 harripa 982 code 303 &#8220;See other&#8221; and the Location header of the response must
511 harripa 856 point to the /{jobs}/(job-id) URI so that the client receives the
512     phase that the job has been set to.</p>
513     </div>
514 harripa 982 <div class="section"><h4><a name="d1e708"/><span class="secnum">2.2.3. </span>Message pattern</h4>
515     <p>The REST binding results in the
516 harripa 856 message pattern shown in figure 2.</p>
517 harripa 982 <p><i>Illustration 2:
518 harripa 856 Typical calling sequence for the REST binding of UWS</i></p>
519 harripa 982 <p><img src="Sequence_Diagram__UWS__Rest_Message_Pattern__Rest_Message_Pattern__Rest_Message_Pattern.png" name="graphics3" width="1970" height="1024" border="0" align="left" id="graphics3" alt="rest message pattern"/><br clear="none"/>
520     <br clear="none"/>
521 harripa 856 </p>
522     </div>
523     </div>
524    
525 harripa 982 <div class="section"><h3><a name="SOAPbinding"/><span class="secnum">2.3. </span> SOAP binding</h3>
526     <h4>Resources and URIs</h4>
527     <p>For a SOAP-bound UWS there is only
528 harripa 856 one web resource and therefore one URI. This resource corresponds
529     roughly to the Job List object of the UWS and all the other objects
530     are accessed via methods on the Job List.</p>
531 harripa 982 <p>The single URI of a SOAP-bound UWS
532 harripa 856 must be registered as its access URL.</p>
533 harripa 982 <p>Since the SOAP binding has only a
534 harripa 856 single URI it needs a different way to indicate the job to which a
535     request applies. Job-specific requests and reponses must carry a SOAP
536     header containing a WS-Addressing structure. In this structure, the
537     wsa:<i>ResourceIdentifier</i> element names the resource; it is an
538     opaque string to the client and is meaningful only to the service.
539     The identifier for a given job is stated in the response to the
540     request that creates it; that request is one that does not need a
541     WS-Addressing header.</p>
542 harripa 982 <p>The exact use of WS-Addressing will
543 harripa 856 be stated in the WSDL for the SOAP binding which is TDB.</p>
544 harripa 982 <h4>Representations of objects</h4>
545     <p>The SOAP binding allows the client to
546 harripa 856 retrieve representations of some of the UWS objects. Unlike the REST
547     binding, it does not allow all the objects to be represented.
548     Further, the SOAP binding only provides XML representations; it does
549     not support HTML in any way.</p>
550 harripa 982 <p>Representations may be got from the
551 harripa 856 following methods.</p>
552 harripa 982 <ul><li>
553     <p>getJobs() - return the currently
554 harripa 856 known job identifiers</p>
555 harripa 982 </li><li>
556     <p>getSummary() - return a summary
557 harripa 856 of the job </p>
558 harripa 982 </li><li>
559     <p>getExecutionDuration() - return
560 harripa 856 the execution duration for a job </p>
561 harripa 982 </li><li>
562     <p>getDestructionTime() - get the
563 harripa 856 destruction time for a job</p>
564 harripa 982 </li><li>
565     <p>getQuote() - get the quote for a
566 harripa 856 job</p>
567 harripa 982 </li><li>
568     <p>getPhase() - get the phase for a
569 harripa 856 job</p>
570 harripa 982 </li><li>
571     <p>getResults() - get the Results
572 harripa 856 for a job</p>
573 harripa 982 </li><li>
574     <p>getError() - get the error
575 harripa 856 associated with a job</p>
576 harripa 982 </li></ul>
577     <p>Note that there is no representation
578 harripa 856 of a Job as a whole. The method getResults() packs all the results in
579     one XML document and returns that document. The details of the
580     available results are defined by applications of the UWS pattern.</p>
581 harripa 982 <h4>State-changing operations</h4>
582     <p>The following methods of a UWS change
583 harripa 856 its state; most of them change the state of one particular job.</p>
584 harripa 982 <ul><li>
585     <p>createJob()</p>
586     </li><li>
587     <p>setExecutionDuration()</p>
588     </li><li>
589     <p>setDestructionTime()</p>
590     </li><li>
591     <p>execute()</p>
592     </li><li>
593     <p>abort()</p>
594     </li><li>
595     <p>destroy()</p>
596     </li></ul>
597     <p>The excute() method commits a job for
598 harripa 856 execution. The destroy() method destroys the target job.</p>
599 harripa 982 <p>The exact content posted to create a
600 harripa 856 job is defined by applications of the UWS pattern.</p>
601 harripa 982 <h4>Message pattern</h4>
602     <p>The SOAP binding has the message
603 harripa 856 pattern shown in figure 3.</p>
604 harripa 982 <p>Note that the number of objects is
605 harripa 856 much lower than in the REST binding and the number of messages lower
606     by one. However, the complexity of each message is significantly
607     greater. The overall complexity of the pattern is roughly the same in
608     each binding.</p>
609 harripa 982 <p><img src="SOAPSequence.gif" align="top" alt="SOAP message pattern"/><br clear="none"/>
610     <br clear="none"/>
611 harripa 856 </p>
612     </div>
613     </div>
614 harripa 982 <div class="section"><h2><a name="SecurityConsiderations"/><span class="secnum">3. </span>Security Considerations</h2>
615     <p>TBC</p>
616 harripa 856 </div>
617 harripa 982 <div class="section"><h2><a name="ApplicationsOfUWS"/><span class="secnum">4. </span> Applications of UWS (informative)</h2>
618     <p>The UWS pattern leaves undefined two
619 harripa 856 essential parts of the service contract: the content that must be
620     posted to create a job; and the pattern of results made available by
621     a completed job. An application of UWS completes a service contract
622     by defining these matters.</p>
623 harripa 982 <p>There follow some use cases applying
624 harripa 856 the UWS pattern. The descriptions are neither formal nor complete.
625     The intention is to show a range of ways that the pattern can be
626     applied without burdening the reader with the level of detail needed
627     for a standard implementation.</p>
628 harripa 982 <p>Any of these cases could be worked up
629 harripa 856 into a full IVOA standard by formalizing the description, adding
630     detail (schemata, WSDL) and generally making the specification more
631     exact and complete. I suggest that each case so treated be broken out
632     into a separate specification-document.</p>
633 harripa 982 <div class="section"><h3><a name="Imageservice"/><span class="secnum">4.1. </span> Image service with data staging</h3>
634     <p>Consider a service that computes
635 harripa 856 images from archive data. The computation takes significant time, so
636     the service is asynchronous. The service keeps the computed images in
637     its own storage until the user downloads them; this is essentially
638     the model of SIAP [9].</p>
639 harripa 982 <p>The asynchronous image-service is a
640 harripa 856 logical extension of a synchronous SIA service. Therefore it uses the
641     REST binding of UWS.</p>
642 harripa 982 <p>The parameters for posting a new job
643 harripa 856 are as for SIAP 1.0:</p>
644 harripa 982 <ul><li>
645     <p>POS, the position on the sky to
646 harripa 856 be searched;</p>
647 harripa 982 </li><li>
648     <p>SIZE, the size of the search
649 harripa 856 box;</p>
650 harripa 982 </li><li>
651     <p>FORMAT: the type of images to be
652 harripa 856 computed.</p>
653 harripa 982 </li></ul>
654     <p>Particular implementations are free
655 harripa 856 to add extra parameters.</p>
656 harripa 982 <p>These parameters are posted in a
657 harripa 856 document of type <i>application/x-www-form-urlencoded</i><span style="font-style: normal">:
658     i.e. they can be sent from an HTML form.</span></p>
659 harripa 982 <p style="font-style: normal">The
660 harripa 856 images generated by the job are accessible as unnamed results. Each
661     image has its own URI and can be downloaded over HTTP at any time
662     until the destruction time of the job. The URIs for the images may be
663     discovered from the Results List in the normal UWS way.</p>
664 harripa 982 <p style="font-style: normal">SIAP
665 harripa 856 1.0 produces, for each query, a table of metadata describing the
666     images. The asynchronous image-service produces a table to the same
667 harripa 982 schema as a named result, called &#8220;table&#8221;.</p>
668     <p><span style="font-style: normal">Image
669     results are added to the results list, and to the &#8220;table&#8221; result,
670 harripa 856 as they are generated. Hence, a client that polls the service can
671     discover, download and use some of the images before the job is
672     finished. </span>If the client is satisfied with
673     these early images, the client can cancel the rest of the job by
674     destroying the job. However, destroying the job deletes the cached
675     images so the client has to download them <i>first</i>.</p>
676     </div>
677 harripa 982 <div class="section"><h3><a name="ADQLservice"/><span class="secnum">4.2. </span> ADQL service with cursor</h3>
678     <p>ADQL [1] can serve as a JDL. Consider
679 harripa 856 an ADQL service that supports long-running queries as asynchronous
680     operations. In general, the results of the query may be a large set
681     of data. They may be too large to download comfortably. We might like
682     to cache these results on the service and to operate a cursor,
683     drawing down from the resource a few rows of the table at a time.</p>
684 harripa 982 <p>The parameters of a job are as
685 harripa 856 follows:</p>
686 harripa 982 <ul><li>
687     <p>ADQL: the query text</p>
688     </li><li>
689     <p>FORMAT: the format for the
690 harripa 856 results</p>
691 harripa 982 </li></ul>
692     <p>These parameters are posted in a
693 harripa 856 document of type <i>application/x-www-form-urlencoded</i><span style="font-style: normal">:
694     i.e. they can be sent from an HTML form.</span></p>
695 harripa 982 <p style="font-style: normal">A
696 harripa 856 successful query generates the following, named results.</p>
697 harripa 982 <ul><li>
698     <p style="font-style: normal"><i>table</i>:
699 harripa 856 the whole result set as one file resource.</p>
700 harripa 982 </li><li>
701     <p style="font-style: normal"><i>header</i>:
702 harripa 856 the metadata for the output table.</p>
703 harripa 982 </li><li>
704     <p style="font-style: normal"><i>cursor</i>:
705 harripa 856 a selection of rows of output.</p>
706 harripa 982 </li></ul>
707     <p>The <i>cursor</i> result is
708 harripa 856 parameterized by the query parameters FIRST and LAST in the query
709     string of its URI: these parameters state the index of the first and
710     last row to be returned; e.g.</p>
711 harripa 982 <p> http://whatever.org/adlqService/results/cursor?FIRST=1&amp;LAST=100</p>
712     <p>If the parameters are missing, the
713 harripa 856 service decides which rows to emit.</p>
714     </div>
715 harripa 982 <div class="section"><h3><a name="ParameterizedApplications"/><span class="secnum">4.3. </span> Parameterized applications</h3>
716     <p>There is a class of applications on
717     which a job may be defined by a list of simple parameters. &#8220;Simple&#8221;
718 harripa 856 here means unstructured: a scalar value such as a number, a string of
719     text or a Boolean value. If the parameters are allowed to name files,
720     so that structured data are passed indirectly, then the class of
721     applications is very large indeed: almost any non-interactive
722     application can be driven in this way.</p>
723 harripa 982 <p>Turning each application of choice
724 harripa 856 into a service (with or without UWS semantics) would be onerous.
725 harripa 982 However, if the application&#8217;s interface is entirely characterized,
726 harripa 856 through the JDL, in terms of typed input and output parameters, then
727     one service contract will work for all the applications and a single
728     implementation of the contract can be reused for all cases.</p>
729 harripa 982 <p>AstroGrid&#8217;s Common Execution
730 harripa 856 Architecture (CEA) [11] works in this way. It has just one service
731     contract for all applications (including ADQL services; the ADQL
732     query is passed in the list of parameters). It has four
733     implementations, one for each of the possible interfaces between the
734     service and a kind of job (jobs can be implemented with Java classes,
735     command-line applications, HTTP-get services or JDBC databases). CEA
736     also specifies stateful, asynchronous services and makes use of
737     VOSpace.</p>
738 harripa 982 <p>Consider a CEA reworked to use the
739 harripa 856 UWS pattern for consistency with other (future) IVOA standards. Call
740     it CEA v2 to distinguish it from CEA v1 as currently maintained by
741     AstroGrid. For this example, consider the particular kind of CEA
742     service that runs applications supplied as executable binaries.</p>
743 harripa 982 <p>A binary application-server has a
744 harripa 856 library of applications co-located with its service and defined in
745     the service configuration set by the service provider. It does not
746     accept code from the client for local execution.</p>
747 harripa 982 <p>The JDL in CEA v2 is similar to that
748 harripa 856 in CEA v1 [11]. It is a formal, XML vocabulary for expressing choice
749     of application and parameter lists [12]. Parameters may be inputs or
750     outputs of the job.</p>
751 harripa 982 <p>To start a job, a document in this
752 harripa 856 JDL is posted to the UWS. The document is sent in its native
753     MIME-type, application/xml, so this is not an interface that can be
754     driven directly from an HTML form, although it can be driven from the
755     emerging Xforms technology.</p>
756 harripa 982 <p>The results of the job depend on the
757 harripa 856 choice of application. They are all named results and the names and
758     types are defined in the definition of the application. That
759     application-definition is registered, so the client knows before
760     running the job what results to expect.</p>
761 harripa 982 <p>CEA input-parameters may be indirect:
762 harripa 856 i.e. they may refer to data in on-line storage. In this case, the JDL
763     document contains the URIs for those data objects Alternatively, the
764     parameters may be direct, in which case the JDL contains the actual
765     value of the parameters.</p>
766 harripa 982 <p>Similarly, CEA results may be made
767 harripa 856 indirect. In this case, the results are named as parameters in the
768     JDL where the values are the URIs to which the results are delivered.
769     The application server can then stream the results to the specified
770     destination as they become available and need not cache them locally.
771     If a job result is indirect, then the server can choose whether or
772     not to keep a local copy. If it chooses not to cache locally, then
773     the result URI in the UWS is set to the external location named in
774     the URI.</p>
775     </div>
776     </div>
777 harripa 982 <div class="section"><h2><a name="SynchronousService"/><span class="secnum">5. </span> Implementing a Synchronous Service on top of UWS (informative)</h2>
778     <p>Whilst the provision of synchronous
779 harripa 856 services is not one of the design aims of the UWS pattern, there is
780     clearly a desire in second generation IVOA services to still allow a
781     simple synchronous calling pattern to be available to simple clients.
782     What follows is a recommended recipe for putting a synchronous facade
783     on UWS;</p>
784 harripa 982 <p>It is assumed that the core of the
785 harripa 856 service does provide a true UWS compliant set of endpoints rooted at
786     /async (equivalent to the /{jobs} endpoint in the nomenclature used
787     above). The desired synchronous service is to be rooted at /sync.</p>
788 harripa 982 <ol><li>
789     <p>The job is started by either a
790 harripa 856 GET (for compatibility with existing IVOA standards) or a POST
791     (preferably) of form encoded parameters to the /sync endpoint.</p>
792 harripa 982 </li><li>
793     <p>Internally the service creates a
794 harripa 856 job in the standard UWS system with the given parameters and sets
795     the PHASE to RUN, noting the returned job identifier which we will
796     call {job-id}. The /sync endpoint then responds with a STATUS 303
797     (redirection) response to the URL /sync/{job-id}.</p>
798 harripa 982 </li><li>
799     <p>The /sync/{job-id} endpoint then
800 harripa 856 blocks until it detects that the underlying job has finished at
801     which point it responds with a STATUS 303 (redirection) to the
802 harripa 982 /{jobs}/{job-id}/results/mainresult URL, where &#8220;mainresult&#8221; is
803 harripa 856 the name of the primary result of the job.</p>
804 harripa 982 </li></ol>
805     <p>In this way the service appears to be
806     a synchronous to the original client &#8211; assuming it obeys standard
807 harripa 856 HTTP redirection semantics, so a simple client like a web browser
808 harripa 982 could obtain the result with a single &#8220;click&#8221;. At the same time a
809 harripa 856 more sophisticated, UWS aware, client could control the same job from
810 harripa 982 the standard /{jobs} endpoint &#8211; indeed if the synchronous call
811 harripa 856 timed out for some reason, then it would be possible for the original
812     client to retrieve the results by looking at the /{jobs}/{job-id} URL
813     tree, because it could make the association of the job-Id from the
814     URL it receives in step 2 above.</p>
815 harripa 982 <p>The purely synchronous client is
816 harripa 856 restricted compared with the full UWS pattern in that there can only
817     be one result directly returned to the client, as noted in stage 3
818     above. This is usually not a problem for compatibility with existing
819     version 1.0 DAL services as they typically return a single VOTable
820     containing references to the desired data.</p>
821     </div>
822    
823 harripa 982 <div class="appendices"><h2>Appendices</h2>
824 harripa 856
825 harripa 982 <div class="section"><h2><a name="Updates"/><span class="secnum">A. </span> Updates from previous versions</h2>
826     <div class="section"><h3><a name="d1e1112"/><span class="secnum">A.1. </span>At Version 0.5</h3>
827     <ul><li>
828     <p>changed the POST parameter names
829 harripa 856 to be the same as the resource paths/</p>
830 harripa 982 </li><li>
831     <p>added synchronous section.</p>
832     </li><li>
833     <p>updated SOAP binding section</p>
834     </li></ul>
835 harripa 856 </div>
836     </div>
837 harripa 982 <div class="section"><h2><a name="References"/><span class="secnum">B. </span>References</h2>
838 harripa 856
839 harripa 982 <p>[1] M. Ohishi, A. Szalay
840     (eds.), IVOA Astronomical Data query Language, <span style="background: transparent"><a href="http://www.ivoa.net/Documents/latest/ADQL.html" shape="rect">http://www.ivoa.net/Documents/latest/ADQL.html</a></span></p>
841     <p>[2]
842 harripa 856 US NVO project, <i>NVO
843 harripa 982 compliance: Simple Cone Search</i>, <span style="background: transparent"><a href="http://us-vo.org/pubs/files/conesearch.html" shape="rect">http://us-vo.org/pubs/files/conesearch.html</a></span></p>
844     <p><a name="title" id="title" shape="rect"/>[3]
845 harripa 856 D. Box, F. Curbera (eds.), <i>Web
846 harripa 982 Services Addressing (WS-Addressing)</i>, <span style="background: transparent"><a href="http://www.w3.org/Submission/ws-addressing/" shape="rect">http://www.w3.org/Submission/ws-addressing/</a></span></p>
847     <p>[4]
848 harripa 856 T. Banks (ed.), <i>Web
849 harripa 982 Service Resource Framework (WSRF) &#8211; Primer</i>, <span style="background: transparent"><a href="http://docs.oasis-open.org/wsrf/wsrf-primer-1.2-primer-cd-01.pdf" shape="rect">http://docs.oasis-open.org/wsrf/wsrf-primer-1.2-primer-cd-01.pdf</a></span></p>
850     <p>[5]
851 harripa 856 S. Graham, A. Karmarkar, J. Mischkinsky, I. Robinson, I. Sedukhin
852     (eds.), <i>Web
853 harripa 982 Services Resource 1.2 (WS-Resource)</i>, <span style="background: transparent"><a href="http://docs.oasis-open.org/wsrf/wsrf-ws_resource-1.2-spec-os.pdf" shape="rect">http://docs.oasis-open.org/wsrf/wsrf-ws_resource-1.2-spec-os.pdf</a></span></p>
854     <p>[6]
855 harripa 856 S. Graham,, J. Treadwell (eds.), <i>Web
856 harripa 982 Services Resource Properties 1.2 (WS-ResourceProperties)</i>, <span style="background: transparent"><a href="http://docs.oasis-open.org/wsrf/wsrf-ws_resource_properties-1.2-spec-os.pdf" shape="rect">http://docs.oasis-open.org/wsrf/wsrf-ws_resource_properties-1.2-spec-os.pdf</a></span></p>
857     <p>[7]
858 harripa 856 L. Srinivasan, T. Banks (eds.), <i>Web
859 harripa 982 Services Resource Lifetime 1.2 (WS-ResourceLifetime)</i>, <span style="background: transparent"><a href="http://docs.oasis-open.org/wsrf/wsrf-ws_resource_lifetime-1.2-spec-os.pdf" shape="rect">http://docs.oasis-open.org/wsrf/wsrf-ws_resource_lifetime-1.2-spec-os.pdf</a></span></p>
860     <p>[8]
861 harripa 856 S. Graham, D. Hull, B. Murray, <i>Web
862 harripa 982 Services Base Notification 1.3</i>, <span style="background: transparent"><a href="http://docs.oasis-open.org/wsn/wsn-ws_base_notification-1.3-spec-pr-02.pdf" shape="rect">http://docs.oasis-open.org/wsn/wsn-ws_base_notification-1.3-spec-pr-02.pdf</a></span></p>
863     <p>[9]
864 harripa 856 D. Tody, R. Plante, <i>Simple
865 harripa 982 Image Access Specification</i>, <span style="background: transparent"><a href="http://www.ivoa.net/Documents/latest/SIA.html" shape="rect">http://www.ivoa.net/Documents/latest/SIA.html</a></span></p>
866     <p>[10]
867     Grid and Web Services Working Group of IVOA, work in progress, <span style="background: transparent"><a href="http://www.ivoa.net/twiki/bin/view/IVOA/IvoaGridAndWebServices" shape="rect">http://www.ivoa.net/twiki/bin/view/IVOA/IvoaGridAndWebServices</a></span></p>
868     <p>[11]
869 harripa 856 P. Harrison, <i>Proposal
870 harripa 982 for a Common Execution Architecture</i>, <span style="background: transparent"><a href="http://www.ivoa.net/Documents/latest/CEA.html" shape="rect">http://www.ivoa.net/Documents/latest/CEA.html</a></span></p>
871     <p>[12]
872     P. Harrison, XML schema for namespace <i>http://www.astrogrid.org/schema/CommonExecutionArchitectureBase/v1</i>, <span style="background: transparent"><a href="http://software.astrogrid.org/schema/cea/CommonExecutionArchitectureBase/v1.0/CommonExecutionArchitectureBase.xsd" shape="rect">http://software.astrogrid.org/schema/cea/CommonExecutionArchitectureBase/v1.0/CommonExecutionArchitectureBase.xsd</a></span></p>
873     <p>[13] Boyer et al., Xforms 1.0 <a href="http://www.w3.org/TR/xforms/" shape="rect">http://www.w3.org/TR/xforms/</a></p>
874     <p>[14] Gudgin et.al, Web Services
875     Addressing 1.0 - WSDL Binding,<a href="http://www.w3.org/TR/ws-addr-wsdl/" shape="rect">http://www.w3.org/TR/ws-addr-wsdl/</a></p>
876     <p>[15] Gudgin et al. Web Services
877     Addressing 1.0 &#8211; Core <a href="http://www.w3.org/TR/ws-addr-core/" shape="rect">http://www.w3.org/TR/ws-addr-core/</a></p>
878     <p>[16] Box et al., <a href="http://www.w3.org/Submission/ws-addressing/" shape="rect">http://www.w3.org/Submission/ws-addressing/</a></p>
879 harripa 856 </div>
880 harripa 982 <div class="section"><h2><a name="UWSSchema"/><span class="secnum">C. </span> Appendix A Schema</h2>
881     <?incxml href="http://www.astrogrid.org/viewcvs/astrogrid/contracts/src/schema/cea/UWS/v0.9/UWS.xsd?view=co"?><div xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" class="viewxml"><div class="comment">&lt;!-- $Id: UWS.xsd,v 1.6 2008/10/01 11:54:02 pah Exp $ --&gt;</div><div class="comment">&lt;!-- proposal for basic UWS schema - Paul Harrison May 2008 --&gt;</div><div class="comment">&lt;!--
882    
883     $Log: UWS.xsd,v $
884     Revision 1.6 2008/10/01 11:54:02 pah
885     fix up cvs header
886    
887     Revision 1.5 2008/09/25 00:22:35 pah
888     change termination time to execution duration
889    
890     --&gt;</div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:schema</span> <span class="attribute-name">targetNamespace</span><span class="markup">=</span><span class="attribute-value">"http://www.ivoa.net/xml/UWS/v0.9.2"</span> <span class="attribute-name">elementFormDefault</span><span class="markup">=</span><span class="attribute-value">"qualified"</span> <span class="attribute-name">attributeFormDefault</span><span class="markup">=</span><span class="attribute-value">"unqualified"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:import</span> <span class="attribute-name">namespace</span><span class="markup">=</span><span class="attribute-value">"http://www.w3.org/1999/xlink"</span> <span class="attribute-name">schemaLocation</span><span class="markup">=</span><span class="attribute-value">"../../../stc/STC/v1.30/XLINK.xsd"</span><span class="markup">/&gt;</span></div><div class="comment">&lt;!--
891     &lt;xs:import namespace="http://www.w3.org/1999/xlink"
892     schemaLocation="http://www.ivoa.net/xml/Xlink/xlink.xsd"/&gt;
893     --&gt;</div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:complexType</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"ShortJobDescription"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"uws:phase"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:sequence</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:attribute</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"id"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"uws:JobIdentifier"</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"required"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:attributeGroup</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"uws:reference"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:complexType</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:attributeGroup</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"reference"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">standard xlink references</span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:attribute</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"xlink:type"</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"optional"</span> <span class="attribute-name">default</span><span class="markup">=</span><span class="attribute-value">"simple"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:attribute</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"xlink:href"</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"optional"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:attributeGroup</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:simpleType</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"ExecutionPhase"</span><span class="markup">&gt;</span><div class="comment">&lt;!--
894     need to think a little here about the implication of allowing a
895     "re-entrant" application that is capable of running
896     mini-jobs...probably this is indicated with a different state
897     varible entirely
898     --&gt;</div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">
899     Enumeration of possible phases of job execution
900     </span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:restriction</span> <span class="attribute-name">base</span><span class="markup">=</span><span class="attribute-value">"xs:string"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:enumeration</span> <span class="attribute-name">value</span><span class="markup">=</span><span class="attribute-value">"PENDING"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">
901     The first phase a job is entered into - this is where a job is being set up but no request to run has occurred.
902     </span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:enumeration</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:enumeration</span> <span class="attribute-name">value</span><span class="markup">=</span><span class="attribute-value">"QUEUED"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">
903     An job has been accepted for execution but is waiting
904     in a queue
905     </span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:enumeration</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:enumeration</span> <span class="attribute-name">value</span><span class="markup">=</span><span class="attribute-value">"EXECUTING"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">An job is running</span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:enumeration</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:enumeration</span> <span class="attribute-name">value</span><span class="markup">=</span><span class="attribute-value">"COMPLETED"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">
906     An job has completed successfully
907     </span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:enumeration</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:enumeration</span> <span class="attribute-name">value</span><span class="markup">=</span><span class="attribute-value">"ERROR"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">
908     Some form of error has occurred
909     </span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:enumeration</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:enumeration</span> <span class="attribute-name">value</span><span class="markup">=</span><span class="attribute-value">"UNKNOWN"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">
910     The job is in an unknown state
911     </span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:enumeration</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:enumeration</span> <span class="attribute-name">value</span><span class="markup">=</span><span class="attribute-value">"HELD"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">
912     The job is HELD pending execution and will not
913     automatically be executed (cf pending)
914     </span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:enumeration</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:enumeration</span> <span class="attribute-name">value</span><span class="markup">=</span><span class="attribute-value">"SUSPENDED"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">
915     The job has been suspended by the system during
916     execution
917     </span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:enumeration</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:enumeration</span> <span class="attribute-name">value</span><span class="markup">=</span><span class="attribute-value">"ABORTED"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">
918     The job has been aborted, either by user request or by the server because of lack or overuse of resources.
919     </span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:enumeration</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:restriction</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:simpleType</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:complexType</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"JobSummary"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"jobId"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"uws:JobIdentifier"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"uws:phase"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"uws:quote"</span> <span class="attribute-name">maxOccurs</span><span class="markup">=</span><span class="attribute-value">"1"</span> <span class="attribute-name">minOccurs</span><span class="markup">=</span><span class="attribute-value">"0"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"startTime"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"xs:dateTime"</span> <span class="attribute-name">nillable</span><span class="markup">=</span><span class="attribute-value">"true"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"endTime"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"xs:dateTime"</span> <span class="attribute-name">nillable</span><span class="markup">=</span><span class="attribute-value">"true"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"uws:executionDuration"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"uws:destruction"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"errorSummary"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"uws:ErrorSummary"</span> <span class="attribute-name">maxOccurs</span><span class="markup">=</span><span class="attribute-value">"1"</span> <span class="attribute-name">minOccurs</span><span class="markup">=</span><span class="attribute-value">"0"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:sequence</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:complexType</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:simpleType</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"JobIdentifier"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">
920     The identifier for the job
921     </span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:restriction</span> <span class="attribute-name">base</span><span class="markup">=</span><span class="attribute-value">"xs:string"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:simpleType</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"job"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"uws:JobSummary"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">
922     This is the information that is returned when a GET is made
923     for a single job resource - i.e. /(jobs)/(jobid)
924     </span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"phase"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"uws:ExecutionPhase"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">
925     the execution phase - returned at /(jobs)/(jobid)/phase
926     </span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"quote"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"xs:dateTime"</span> <span class="attribute-name">nillable</span><span class="markup">=</span><span class="attribute-value">"true"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">
927     A Quote predicts when the job is likely to complete - returned at /(jobs)/(jobid)/quote
928     TODO - how to encode "don't know"
929     </span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"executionDuration"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"xs:int"</span> <span class="attribute-name">nillable</span><span class="markup">=</span><span class="attribute-value">"false"</span><span class="markup">&gt;</span><div class="comment">&lt;!-- TODO look if xs:duration here has any benefits --&gt;</div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">
930     The duration (in seconds) for which the job should be allowed to run - a value of 0 is intended to mean unlimited - returned at /(jobs)/(jobid)/executionduration
931     </span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"destruction"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"xs:dateTime"</span> <span class="attribute-name">nillable</span><span class="markup">=</span><span class="attribute-value">"true"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">
932     The time at which the whole job + records + results will be destroyed. returned at /(jobs)/(jobid)/destruction
933     </span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"jobList"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">
934     The list of job references returned at /(jobs)
935     </span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:complexType</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">
936     ISSUE - do we want to have any sort of paging or
937     selection mechanism in case the job list gets very
938     large? Or is that an unnecessary complication...
939     </span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"jobref"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"uws:ShortJobDescription"</span> <span class="attribute-name">maxOccurs</span><span class="markup">=</span><span class="attribute-value">"unbounded"</span> <span class="attribute-name">minOccurs</span><span class="markup">=</span><span class="attribute-value">"0"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:sequence</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:complexType</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"ResultReference"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">
940     A reference to a UWS result
941     </span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"uws:phase"</span> <span class="attribute-name">maxOccurs</span><span class="markup">=</span><span class="attribute-value">"1"</span> <span class="attribute-name">minOccurs</span><span class="markup">=</span><span class="attribute-value">"0"</span><span class="markup">/&gt;</span></div><div class="comment">&lt;!-- TODO why is this here - pah? --&gt;</div><span class="markup">&lt;/</span><span class="end-tag">xs:sequence</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:attribute</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"id"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"xs:string"</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"required"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:attributeGroup</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"uws:reference"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:complexType</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"resultList"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">
942     The element returned for /(jobs)/(jobid)/results
943     </span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:complexType</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"result"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"uws:ResultReference"</span> <span class="attribute-name">maxOccurs</span><span class="markup">=</span><span class="attribute-value">"unbounded"</span> <span class="attribute-name">minOccurs</span><span class="markup">=</span><span class="attribute-value">"0"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:sequence</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:complexType</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"ErrorSummary"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">
944     A short summary of the error
945     </span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"message"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"xs:string"</span><span class="markup">/&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"detail"</span> <span class="attribute-name">maxOccurs</span><span class="markup">=</span><span class="attribute-value">"1"</span> <span class="attribute-name">minOccurs</span><span class="markup">=</span><span class="attribute-value">"0"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:complexType</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:attributeGroup</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"uws:reference"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:element</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:sequence</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:attribute</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"type"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"uws:ErrorType"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:documentation</span><span class="markup">&gt;</span><span class="text">characterization of the type of the error</span><span class="markup">&lt;/</span><span class="end-tag">xs:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:annotation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:attribute</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:complexType</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:simpleType</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"ErrorType"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xs:restriction</span> <span class="attribute-name">base</span><span class="markup">=</span><span class="attribute-value">"xs:string"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:enumeration</span> <span class="attribute-name">value</span><span class="markup">=</span><span class="attribute-value">"transient"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xs:enumeration</span> <span class="attribute-name">value</span><span class="markup">=</span><span class="attribute-value">"fatal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:restriction</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:simpleType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xs:schema</span><span class="markup">&gt;</span></div><div class="comment">&lt;!--
946    
947     --&gt;</div></div>
948 harripa 856 <?incxml end?>
949    
950     </div>
951 harripa 982 <div class="section"><h2><a name="UWSWSDL"/><span class="secnum">D. </span> Appendix B WSDL 1.0 for SOAP binding</h2>
952     <p>Although it is not possible to
953 harripa 856 provide a complete WSDL 1.0 contract for a general UWS service
954     because WSDL requires the exact form of the createJob and getResults
955     operations to be defined, the following WSDL is included as a
956     template for implementors to follow.</p>
957 harripa 982 <?incxml href="http://www.astrogrid.org/viewcvs/astrogrid/contracts/src/schema/cea/UWSSOAP/0.9/UWSSOAP.wsdl?view=co"?><div xmlns:h="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" class="viewxml"><div class="comment">&lt;!-- $Id: UWSSOAP.wsdl,v 1.1 2008/10/06 12:38:18 pah Exp $ --&gt;</div><div class="comment">&lt;!-- UWS SOAP binding template --&gt;</div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:definitions</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"UWS"</span> <span class="attribute-name">targetNamespace</span><span class="markup">=</span><span class="attribute-value">"http://www.ivoa.net/xml/UWS-WS/v0.9"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:types</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:schema</span> <span class="attribute-name">targetNamespace</span><span class="markup">=</span><span class="attribute-value">"http://www.ivoa.net/xml/UWS-WS/v0.9"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:import</span> <span class="attribute-name">namespace</span><span class="markup">=</span><span class="attribute-value">"http://www.ivoa.net/xml/UWS/v0.9.2"</span> <span class="attribute-name">schemaLocation</span><span class="markup">=</span><span class="attribute-value">"../../UWS/v0.9/UWS.xsd"</span><span class="markup">/&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"createJob"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:documentation</span><span class="markup">&gt;</span><span class="text">This should be properly specified in a real UWS implementation of a web service to constrain the job initialization parameters</span><span class="markup">&lt;/</span><span class="end-tag">xsd:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:annotation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:any</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:sequence</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"createJobResponse"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"uws:JobSummary"</span><span class="markup">&gt;</span><span class="text">
958     </span><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"listJobs"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><span class="text">
959     </span><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"listJobsResponse"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"job"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"uwsws:ShortJobSummary"</span> <span class="attribute-name">maxOccurs</span><span class="markup">=</span><span class="attribute-value">"unbounded"</span> <span class="attribute-name">minOccurs</span><span class="markup">=</span><span class="attribute-value">"0"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:sequence</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"execute"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><span class="text">
960     </span><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"executeResponse"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"uws:phase"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:sequence</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"abort"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><span class="text">
961     </span><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"abortResponse"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"success"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"xsd:boolean"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:sequence</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"destroy"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><span class="text">
962     </span><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"destroyResponse"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"success"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"xsd:boolean"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:sequence</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getSummary"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><span class="text">
963     </span><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getSummaryResponse"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"uws:JobSummary"</span><span class="markup">&gt;</span><span class="text">
964     </span><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"setExecutionDuration"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"duration"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"xsd:int"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:sequence</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"setExecutionDurationResponse"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"uws:executionDuration"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:sequence</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"setDestructionTime"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"time"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"xsd:dateTime"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:sequence</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"setDestructionTimeResponse"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"uws:destruction"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:sequence</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getPhase"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><span class="text">
965     </span><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getPhaseResponse"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"uws:phase"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:sequence</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getExecutionDuration"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><span class="text">
966     </span><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getExecutionDurationResponse"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"uws:executionDuration"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:sequence</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getDestructionTime"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><span class="text">
967     </span><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getDestructionTimeResponse"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"uws:destruction"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:sequence</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getQuote"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><span class="text">
968     </span><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getQuoteResponse"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"uws:quote"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:sequence</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getResults"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"in"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"xsd:string"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:sequence</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getResultsResponse"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:annotation</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:documentation</span><span class="markup">&gt;</span><span class="text">in an implemented UWS service this should be properly defined</span><span class="markup">&lt;/</span><span class="end-tag">xsd:documentation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:annotation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:any</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:sequence</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getError"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"in"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"xsd:string"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:sequence</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getErrorResponse"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"uws:ErrorSummary"</span><span class="markup">&gt;</span><span class="text">
969     </span><span class="markup">&lt;/</span><span class="end-tag">xsd:element</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:complexType</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"ShortJobSummary"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">xsd:sequence</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"jobId"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"xsd:string"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">xsd:element</span> <span class="attribute-name">ref</span><span class="markup">=</span><span class="attribute-value">"uws:phase"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:sequence</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:complexType</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">xsd:schema</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:types</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"createJobRequest"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:createJob"</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"createJobResponse"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:createJobResponse"</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"listJobsRequest"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:listJobs"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"listJobsResponse"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:listJobsResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"executeRequest"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:execute"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"executeResponse"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:executeResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"abortRequest"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:abort"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"abortResponse"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:abortResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"destroyRequest"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:destroy"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"destroyResponse"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:destroyResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getSummaryRequest"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:getSummary"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getSummaryResponse"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:getSummaryResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"setExecutionDurationRequest"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:setExecutionDuration"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"setExecutionDurationResponse"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:setExecutionDurationResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"setDestructionTimeRequest"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:setDestructionTime"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"setDestructionTimeResponse"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:setDestructionTimeResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getPhaseRequest"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:getPhase"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getPhaseResponse"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:getPhaseResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getExecutionDurationRequest"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:getExecutionDuration"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getExecutionDurationResponse"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:getExecutionDurationResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getDestructionTimeRequest"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:getDestructionTime"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getDestructionTimeResponse"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:getDestructionTimeResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getQuoteRequest"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:getQuote"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getQuoteResponse"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:getQuoteResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getResultsRequest"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:getResults"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getResultsResponse"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:getResultsResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getErrorRequest"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:getError"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:message</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getErrorResponse"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:part</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"parameters"</span> <span class="attribute-name">element</span><span class="markup">=</span><span class="attribute-value">"uwsws:getErrorResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:message</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:portType</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"UWS"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:documentation</span><span class="markup">/&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"createJob"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:documentation</span><span class="markup">&gt;</span><span class="text">create a new job</span><span class="markup">&lt;/</span><span class="end-tag">wsdl:documentation</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:createJobRequest"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:createJobResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"listJobs"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:documentation</span><span class="markup">&gt;</span><span class="text">list the jobs that the UWS server currently knows abou</span><span class="markup">&lt;/</span><span class="end-tag">wsdl:documentation</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:listJobsRequest"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:listJobsResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"execute"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:documentation</span><span class="markup">&gt;</span><span class="text">execute a job that has previously been create</span><span class="markup">&lt;/</span><span class="end-tag">wsdl:documentation</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:executeRequest"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:executeResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"abort"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:documentation</span><span class="markup">&gt;</span><span class="text">abort a job that is runnin</span><span class="markup">&lt;/</span><span class="end-tag">wsdl:documentation</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:abortRequest"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:abortResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"destroy"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:documentation</span><span class="markup">&gt;</span><span class="text">destroy a job - i.e. remove all resources that a job has create</span><span class="markup">&lt;/</span><span class="end-tag">wsdl:documentation</span><span class="markup">&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:destroyRequest"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:destroyResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getSummary"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:getSummaryRequest"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:getSummaryResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"setExecutionDuration"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:setExecutionDurationRequest"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:setExecutionDurationResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"setDestructionTime"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:setDestructionTimeRequest"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:setDestructionTimeResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getPhase"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:getPhaseRequest"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:getPhaseResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getExecutionDuration"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:getExecutionDurationRequest"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:getExecutionDurationResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getDestructionTime"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:getDestructionTimeRequest"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:getDestructionTimeResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getQuote"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:getQuoteRequest"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:getQuoteResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getResults"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:getResultsRequest"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:getResultsResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getError"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:getErrorRequest"</span><span class="markup">/&gt;</span></div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span> <span class="attribute-name">message</span><span class="markup">=</span><span class="attribute-value">"uwsws:getErrorResponse"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:portType</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:binding</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"UWSSOAP"</span> <span class="attribute-name">type</span><span class="markup">=</span><span class="attribute-value">"uwsws:UWS"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:binding</span> <span class="attribute-name">style</span><span class="markup">=</span><span class="attribute-value">"document"</span> <span class="attribute-name">transport</span><span class="markup">=</span><span class="attribute-value">"http://schemas.xmlsoap.org/soap/http"</span><span class="markup">/&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"createJob"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:operation</span> <span class="attribute-name">soapAction</span><span class="markup">=</span><span class="attribute-value">"http://www.ivoa.net/xml/UWS-WS/v0.9/NewOperation"</span><span class="markup">/&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:input</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:output</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"listJobs"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:operation</span> <span class="attribute-name">soapAction</span><span class="markup">=</span><span class="attribute-value">"http://www.ivoa.net/xml/UWS-WS/v0.9/listJobs"</span><span class="markup">/&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:input</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:output</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"execute"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:operation</span> <span class="attribute-name">soapAction</span><span class="markup">=</span><span class="attribute-value">"http://www.ivoa.net/xml/UWS-WS/v0.9/execute"</span><span class="markup">/&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:input</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:output</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"abort"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:operation</span> <span class="attribute-name">soapAction</span><span class="markup">=</span><span class="attribute-value">"http://www.ivoa.net/xml/UWS-WS/v0.9/abort"</span><span class="markup">/&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:input</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:output</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"destroy"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:operation</span> <span class="attribute-name">soapAction</span><span class="markup">=</span><span class="attribute-value">"http://www.ivoa.net/xml/UWS-WS/v0.9/destroy"</span><span class="markup">/&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:input</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:output</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getSummary"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:operation</span> <span class="attribute-name">soapAction</span><span class="markup">=</span><span class="attribute-value">"http://www.ivoa.net/xml/UWS-WS/v0.9/getSummary"</span><span class="markup">/&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:input</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:output</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"setExecutionDuration"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:operation</span> <span class="attribute-name">soapAction</span><span class="markup">=</span><span class="attribute-value">"http://www.ivoa.net/xml/UWS-WS/v0.9/setExecutionDuration"</span><span class="markup">/&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:input</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:output</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"setDestructionTime"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:operation</span> <span class="attribute-name">soapAction</span><span class="markup">=</span><span class="attribute-value">"http://www.ivoa.net/xml/UWS-WS/v0.9/setDestructionTime"</span><span class="markup">/&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:input</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:output</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getPhase"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:operation</span> <span class="attribute-name">soapAction</span><span class="markup">=</span><span class="attribute-value">"http://www.ivoa.net/xml/UWS-WS/v0.9/getPhase"</span><span class="markup">/&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:input</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:output</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getExecutionDuration"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:operation</span> <span class="attribute-name">soapAction</span><span class="markup">=</span><span class="attribute-value">"http://www.ivoa.net/xml/UWS-WS/v0.9/getExecutionDuration"</span><span class="markup">/&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:input</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:output</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getDestructionTime"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:operation</span> <span class="attribute-name">soapAction</span><span class="markup">=</span><span class="attribute-value">"http://www.ivoa.net/xml/UWS-WS/v0.9/getDestructionTime"</span><span class="markup">/&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:input</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:output</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getQuote"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:operation</span> <span class="attribute-name">soapAction</span><span class="markup">=</span><span class="attribute-value">"http://www.ivoa.net/xml/UWS-WS/v0.9/getQuote"</span><span class="markup">/&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:input</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:output</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getResults"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:operation</span> <span class="attribute-name">soapAction</span><span class="markup">=</span><span class="attribute-value">"http://www.ivoa.net/xml/UWS-WS/v0.9/getResults"</span><span class="markup">/&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:input</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:output</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:operation</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"getError"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:operation</span> <span class="attribute-name">soapAction</span><span class="markup">=</span><span class="attribute-value">"http://www.ivoa.net/xml/UWS-WS/v0.9/getError"</span><span class="markup">/&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:input</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:input</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:output</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:body</span> <span class="attribute-name">use</span><span class="markup">=</span><span class="attribute-value">"literal"</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:output</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:operation</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:binding</span><span class="markup">&gt;</span></div><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:service</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"UWS"</span><span class="markup">&gt;</span><div class="element"><span class="markup">&lt;</span><span class="start-tag">wsdl:port</span> <span class="attribute-name">binding</span><span class="markup">=</span><span class="attribute-value">"uwsws:UWSSOAP"</span> <span class="attribute-name">name</span><span class="markup">=</span><span class="attribute-value">"UWSSOAP"</span><span class="markup">&gt;</span><div class="indent"><span class="markup">&lt;</span><span class="start-tag">soap:address</span> <span class="attribute-name">location</span><span class="markup">=</span><span class="attribute-value">"http://www.example.org/"</span><span class="markup">/&gt;</span></div><div class="comment">&lt;!-- specify that ws-addressing is used --&gt;</div><div class="indent"><span class="markup">&lt;</span><span class="start-tag">wsaw:UsingAddressing</span><span class="markup">/&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:port</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:service</span><span class="markup">&gt;</span></div><span class="markup">&lt;/</span><span class="end-tag">wsdl:definitions</span><span class="markup">&gt;</span></div></div>
970 harripa 856 <?incxml end ?>
971     </div>
972     </div>
973    
974     </div>
975     <p style="text-align: right; font-size: x-small; color: #888;">
976     $Revision: 847 $ $Date: 2008-10-29 14:33:57 +0000 (Wed, 29. Oct 2008) $
977     </p>
978    
979 harripa 982 </body></html>

Properties

Name Value
svn:mime-type text/plain

msdemlei@ari.uni-heidelberg.de
ViewVC Help
Powered by ViewVC 1.1.26