This commit was manufactured by cvs2svn to create branch 'glite-lb-ws-
authorcvs2svn <admin@example.com>
Thu, 17 Feb 2005 15:40:49 +0000 (15:40 +0000)
committercvs2svn <admin@example.com>
Thu, 17 Feb 2005 15:40:49 +0000 (15:40 +0000)
interface_branch_1_0_0'.

Cherrypick from master 2005-02-17 15:40:48 UTC Aleš Křenek <ljocha@ics.muni.cz> 'First attempt to generate LB.wsdl from LB's internal .T structure definitions':
    org.glite.lb.ws-interface/src/LB.xml.T

org.glite.lb.ws-interface/src/LB.xml.T [new file with mode: 0644]

diff --git a/org.glite.lb.ws-interface/src/LB.xml.T b/org.glite.lb.ws-interface/src/LB.xml.T
new file mode 100644 (file)
index 0000000..a96551b
--- /dev/null
@@ -0,0 +1,127 @@
+<?xml version="1.0"?>
+
+@@@LANG: wsdl
+<!--
+@@@AUTO
+-->
+
+<service name="LoggingAndBookkeeping"
+       ns="http://glite.org/wsdl/services/lb"
+       prefix="lb">
+
+       Keeping track of state of grid jobs.
+
+       <types ns="http://glite.org/wsdl/types/lb" prefix="lbt">
+               <flags name="jobFlags">
+                       Flags determining which fields of job status should be retrieved.
+                       Can be combined arbitrarily.
+                       <val name="CLASSADS">Include also long job descriptions (JDL).</val>
+                       <val name="CHILDREN">Return list of subjobs of a DAG.</val>
+                       <val name="CHILDSTAT">Return state of the subjobs, i.e. apply other flags recursively </val>
+               </flags>
+
+               <enum name="statName">
+@@@{
+       for my $stat ($status->getTypesOrdered) {
+               my $u = uc $stat;
+               my $c = getTypeComment $status $stat;
+               gen qq{
+!                      <val name="$u">$c</val>
+};
+       }
+@@@}
+               </enum>
+
+@@@{
+       for my $n ($status->getAllFieldsOrdered) {
+               my $f = selectField $status $n;
+               if ($f->{codes}) {
+                       my $n = getName $f;
+                       $n = $1.ucfirst $2 while $n =~ /([[:alpha:]]*)_([[:alpha:]]*)/;
+                               gen qq{
+!              <enum name="$n">
+};
+                               for (@{$f->{codes}}) {
+                                       my $uc = uc $_->{name};
+                                       gen qq{
+!                      <val name="$uc">$_->{comment}</val>
+};
+                               }
+                               gen qq{
+!              </enum>
+};
+               }
+       }
+@@@}
+
+<!-- FIXME: list which are arrays in fact are not portable and 
+       will not work most likely in this way -->
+
+               <struct name="jobStatus">
+                       Status of a job, possibly including subjobs.
+                       <elem name="state" type="statName">Status name.</elem>
+@@@{
+       for my $n (getAllFieldsOrdered $status) {
+               selectField $status $n;
+               my $f = getField $status;
+               my $name = getName $f;
+               $name = $1.ucfirst $2 while $name =~ /([[:alpha:]]*)_([[:alpha:]]*)/;
+               my $type = $f->{type};
+               my $list = 'no';
+
+               if ($main::baseTypes{$type}) {
+                       $type = eval $main::types{wsdl}->{$main::baseTypes{$type}};
+                       $list = 'yes'
+               }
+               elsif ($f->{codes}) {
+                       $type = $name;
+               }
+               else {
+                       $type = getType $f;
+               }
+
+               my $comment = getComment $f;
+# XXX: currently nothing is "optional" as we don't know from status.T 
+               gen qq{
+!                      <elem name="$name" type="$type" list="$list" optional="no">$comment</elem>
+};
+       }
+@@@}
+               </struct>
+
+               <struct name="tagValue">
+                       <elem name="tag" type="xsd:string"/>
+                       <elem name="value" type="xsd:string" optional="yes"/>
+               </struct>
+
+               <struct name="timeval">
+                       <elem name="tvSec" type="xsd:long"/>
+                       <elem name="tvUsec" type="xsd:long"/>
+               </struct>
+
+
+               <struct name="genericFault" fault="yes">
+                       Generic SOAP fault, used to deliver any LB errors.
+                       <elem name="source" type="xsd:string">Source component (module) of the error.</elem>
+                       <elem name="code" type="xsd:int">Numeric error code.</elem>
+                       <elem name="text" type="xsd:string">Error text corresponding to the code.</elem>
+                       <elem name="description" type="xsd:string" optional="yes">Additional description of the error (e.g. filename)</elem>
+                       <elem name="reason" type="genericFault" optional="yes">Reason of the error, coming from lower levels.</elem>
+               </struct>
+
+               <simple name="string"/>
+               <simple name="int"/>
+
+       </types>
+
+
+
+       <op name="JobStatus">
+               Query state of a single job.
+               <input name="jobid" type="string"> Id of the queried job. </input>
+               <input name="flags" type="jobFlags"> Which data fields to retrieve. </input>
+               <output name="stat" type="jobStatus"> Current state of the job. </output>
+               <fault name="genericFault" type="genericFault"> Any error. </fault>
+       </op>
+
+</service>