Hi Donal,

Many thanks for your prompt reply. I tried your suggestion in point#2 - trying 
to retrieve the run directory of a completed workflow run using both the 
getRunDirectoryContents and getRunDirectoryAsZip APIs however I'm getting the 
same unmarshalling error (see the requests/responses below). Could you please 
help in this regard?

listRuns:

Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:soap="http://ns.taverna.org.uk/2010/xml/server/soap/";>
   <soapenv:Header/>
   <soapenv:Body>
      <soap:listRuns/>
   </soapenv:Body>
</soapenv:Envelope>

Response:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
   <soap:Body>
      <ns3:listRunsResponse xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:ns3="http://ns.taverna.org.uk/2010/xml/server/soap/"; 
xmlns:ns4="http://ns.taverna.org.uk/2010/xml/server/";>
         <Run 
xlink:href="/taverna-server/rest/runs/0e15a376-e349-4fe3-9563-5acd5bdc829c">0e15a376-e349-4fe3-9563-5acd5bdc829c</Run>
         <Run 
xlink:href="/taverna-server/rest/runs/491bcc2c-0129-4c23-bbbe-e9f76bc6aa83">491bcc2c-0129-4c23-bbbe-e9f76bc6aa83</Run>
         <Run 
xlink:href="/taverna-server/rest/runs/1ecc43bf-be63-4ad0-9ccd-3dffb2ee7c89">1ecc43bf-be63-4ad0-9ccd-3dffb2ee7c89</Run>
      </ns3:listRunsResponse>
   </soap:Body>
</soap:Envelope>

getRunStatus:

Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:soap="http://ns.taverna.org.uk/2010/xml/server/soap/";>
   <soapenv:Header/>
   <soapenv:Body>
      <soap:getRunStatus>
         <!--Optional:-->
         <runName>491bcc2c-0129-4c23-bbbe-e9f76bc6aa83</runName>
      </soap:getRunStatus>
   </soapenv:Body>
</soapenv:Envelope>

Response:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
   <soap:Body>
      <ns3:getRunStatusResponse xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:ns3="http://ns.taverna.org.uk/2010/xml/server/soap/"; 
xmlns:ns4="http://ns.taverna.org.uk/2010/xml/server/";>
         <Status>Finished</Status>
      </ns3:getRunStatusResponse>
   </soap:Body>
</soap:Envelope>

getRunDirectoryContents:

Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:soap="http://ns.taverna.org.uk/2010/xml/server/soap/"; 
xmlns:xlin="http://www.w3.org/1999/xlink"; 
xmlns:ser="http://ns.taverna.org.uk/2010/xml/server/";>
   <soapenv:Header/>
   <soapenv:Body>
      <soap:getRunDirectoryContents>
         <!--Optional:-->
         <runName>491bcc2c-0129-4c23-bbbe-e9f76bc6aa83</runName>
         <!--Optional:-->
         <directory xlin:href="?" ser:name="?">out</directory>
      </soap:getRunDirectoryContents>
   </soapenv:Body>
</soapenv:Envelope>

Response:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
   <soap:Body>
      <soap:Fault>
         <faultcode>soap:Client</faultcode>
         <faultstring>Unmarshalling Error: Unable to create an instance of 
org.taverna.server.master.common.DirEntryReference</faultstring>
      </soap:Fault>
   </soap:Body>
</soap:Envelope>

getRunDirectoryAsZip:

Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:soap="http://ns.taverna.org.uk/2010/xml/server/soap/"; 
xmlns:xlin="http://www.w3.org/1999/xlink"; 
xmlns:ser="http://ns.taverna.org.uk/2010/xml/server/";>
   <soapenv:Header/>
   <soapenv:Body>
      <soap:getRunDirectoryAsZip>
         <!--Optional:-->
         <runName>491bcc2c-0129-4c23-bbbe-e9f76bc6aa83</runName>
         <!--Optional:-->
         <directory xlin:href="?" ser:name="?">out</directory>
      </soap:getRunDirectoryAsZip>
   </soapenv:Body>
</soapenv:Envelope>

Response:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
   <soap:Body>
      <soap:Fault>
         <faultcode>soap:Client</faultcode>
         <faultstring>Unmarshalling Error: Unable to create an instance of 
org.taverna.server.master.common.DirEntryReference</faultstring>
      </soap:Fault>
   </soap:Body>
</soap:Envelope>

Regards,
Ali

-----Original Message-----
From: Donal K. Fellows [mailto:[email protected]]
Sent: Monday, January 17, 2011 9:35 PM
To: Ali Ranalvi
Cc: [email protected]
Subject: Re: [Taverna-users] Problem with retrieving output of workflow run 
using SOAP in TavernaServer-2.2a1

On 17/01/2011 14:01, Ali Ranalvi wrote:
> My questions are:
>
> 1.Do I explicitly need to create a run directory before executing
> workflow by using makeRunDirectory?

No. You might want to, but you don't *need* to. You have a per-run directory 
created for you automatically. That will go away when the run is deleted. You 
can make extra directories though, if it helps with organizing your inputs or 
auxiliary files.

> What do the parentDirectory (path on
> server where workflow run outputs/errors will be stored?) and
> directoryName parameters signify? When I try to this request with
> parentDirectory set to /tmp and directoryName set to the runName, it
> gives me this error:
>
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
> <soap:Body>
> <soap:Fault>
> <faultcode>soap:Client</faultcode>
> <faultstring>Unmarshalling Error: Unable to create an instance of
> org.taverna.server.master.common.DirEntryReference</faultstring>
> </soap:Fault>
> </soap:Body>
> </soap:Envelope>

Hmm, it (JAXB) is not extracting the description of the directory to create. 
The content of the directory parameter should be:

   <dir></dir>

(That is, nothing between the tags.) Well, I think it should. JAXB is a bit 
opaque at times, and there's a number of bits and pieces in here that are 
rather complex since there's a sharing of much of the Taverna Server machinery 
with the REST API. If we still can't make it work (and I'll need to see the 
whole request message in that case) then I'll see what I can do to fix it for 
2.2b1 (I'm currently working on the last major feature that's been blocking 
that; then it's a round of bugfixing before doing the release).

> 2.How does one retrieve the output of a workflow execution? I think
> getRunDirectoryContents and getRunDirectoryAsZip are the required
> functions but they too require a directory parameter. What value
> should be passed there?

I think you'll find that:

   <dir>out</dir>

works for that.

Donal.


DISCLAIMER
==========
This e-mail may contain privileged and confidential information which is the 
property of Persistent Systems Ltd. It is intended only for the use of the 
individual or entity to which it is addressed. If you are not the intended 
recipient, you are not authorized to read, retain, copy, print, distribute or 
use this message. If you have received this communication in error, please 
notify the sender and delete all copies of this message. Persistent Systems 
Ltd. does not accept any liability for virus infected mails.
------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand 
malware threats, the impact they can have on your business, and how you 
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
taverna-users mailing list
[email protected]
[email protected]
Web site: http://www.taverna.org.uk
Mailing lists: http://www.taverna.org.uk/about/contact-us/

Reply via email to