Sorry for not responding sooner; we've got a crunch on trying to get all sorts of new stuff available for all you guys on this list to have a go at!
On 31/10/2013 13:29, Willem Jan Faber wrote:
I’m working on an implementation of a web-frontend for taverna-server, (https://github.com/impactcentre/iif-taverna2-client). Currently I’m encountering a strange problem concerning list outputs (https://github.com/impactcentre/iif-taverna2-client/issues/6). When I run my workflow (without list input) it runs just like expected, but when I change the input to a list my client does not show the expected output (while in tavern itself the output is correct).
First off, I've checked through your code and I notice that you're using the Java REST client interface. Unfortunately, we've not been maintaining that as closely as the Ruby REST client interface. I wonder whether it would be possible for you to use Taverna Player instead? Website: http://www.taverna.org.uk/developers/work-in-progress/taverna-player/ Code: https://github.com/myGrid/taverna-player Secondly, I need to know the exact version of Taverna Server that you are writing your API against. If you get the content of the root page of Taverna Server's REST interface (which ought to be available to any normal browser) the attributes of the top-level XML element should describe this precisely. For reference, we're about to release 2.5.1 (that's planned for next week).
To debug my issue I’ve copied some lines from the t2-server-java-cli (https://github.com/myGrid/t2-server-java-cli/blob/next/src/main/java/uk/org/taverna/server/client/cli/GetOutput.java#L123) and onwards. However the output in the log is not what I would expect :
[snip log that I don't understand; sorry!]
Is there any way to fetch the “application/octet-stream” and parse it, so the output url’s will appear in the result?
Once you've got a reference to a particular output, fetching it ought to
come back as application/octet-stream. Unless you're using a very recent
version, in which case we run an improved type detection engine that
might be able to provide a more precise type; the content will still be
the same bytes though. :-)
But with a list output, that list output actually corresponds to a
directory where the elements are files in that directory. (Or even
directories, when you're dealing with deeper outputs.) If you've got a
sufficiently recent version of Taverna Server, you can instead fetch the
output descriptor document (from “…/runs/{id}/output”, using content
negotiation to opt for XML or possibly JSON *but not* plain text) which
will give you a properly described structure with links to the leaf
outputs. If the leaf outputs are themselves URLs, you'll have to apply
that interpretation yourself (that's workflow-specific).
Donal.
<<attachment: donal_k_fellows.vcf>>
------------------------------------------------------------------------------ November Webinars for C, C++, Fortran Developers Accelerate application performance with scalable programming models. Explore techniques for threading, error checking, porting, and tuning. Get the most from the latest Intel processors and coprocessors. See abstracts and register http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________ taverna-hackers mailing list [email protected] Web site: http://www.taverna.org.uk Mailing lists: http://www.taverna.org.uk/about/contact-us/ Developers Guide: http://www.taverna.org.uk/developers/
