This panel allows to call any Biomoby service and to display its
results. It can be used both for testing your own services (even
before they are deployed in Tomcat) or for regular invocation of any
First, select a service you wish to call in a service tree. It will
populate the Service Input Data table on the left with the
definition of data for the selected service:
How to create input data
There are two ways to prepare data for a service call: using the
Service Input Data table, or having them already in an XML
format expected by Biomoby services. The table supports almost all
possible data inputs a Biomoby service can ask for (except a
collection of inputs - this will be added later; ask me if you need it
sooner). The description how to enter data in the table is in a
separate document (because the same table is used in a standalone
client) docs/CreateInputClient.html (in your local jMoby
directory), or from jMoby
site. Here only shortly, what the table does:
It displays a full structure of a given data type and then it allows:
- to enter ID (for any part),
- to enter Namespace (for any part),
- to enter value (for primitive types),
- to add, clone and again remove the members that are related to
their parents by a HAS relationship (HAS means that a parent can have
zero, one or more of these members),
- and to convert everything into XML representation.
An alternative is to check the box Take an input from this XML
file, and to give a file name with input data. This is how you
can create such file in the first place:
- Select service, fill the Service Input Data.
- Check the box No real call, just show/echo input. Make
sure that Show input as XML is checked.
- Click on Call service.
- Click on the Save icon in the bottom-left console.
How to call a service
Select an appropriate radio-button in the service invocation
- Use service's usual endpoint
- calls a service using the endpoint that is registered in the
Biomoby registry for this service.
- Use this endpoint
- allows to call a service using any endpoint. It is mostly
useful when you deployed your new service locally and want to test it
(as a deployed service) before putting it on a public Tomcat.
- Ask registry where the service is and call it
- should be the same as Use service's usual endpoint
except that it really goes to a registry and takes the service
endpoint from there - the two may differ if you have not updated your
local cache, for example.
- Use this local class
- is a very handy option because it allows you to call your
service before it is deployed. Put here a full class name. Just make
sure that class that implements your service (and all classes used in
the implementation) are on the classpath when the Dashboard is
Send data... as byte array should not have any visible effect
unless the called service does not comply fully with the Biomoby
The button Call service does the calling. After that you can
stop the service using the Stop service button (which does
not too much, at the moment, but may do a real cancellation after the
asynchronous services are added to the Biomoby API).
Each result returned by a service can be viewed at least in two forms
(viewers) - as a plain text or as an XML tree. Other viewers may be
also available - but for them to be activated you need to have
pre-generated Java data types before you start Dashboard. If you do
not have them, Dashboard will warn you and explains how to do it:
Class 'org.biomoby.shared.datatypes.MapDataTypes' was not found.
It may indicate that you have not generated all Biomoby data types from a Biomoby registry.
See http://www.biomoby.org/moby-live/Java/docs/Moses.html for details.
If you are a jMoby developer just type: ./build-dev.sh moses-datatypes.
Or perhaps, they just need to be compiled: ./build-dev.sh moses-compile.
Some results can be saved - click on a Save button in the
Each service call automatically replaces results of the previous
call. If you wish to keep them (also if you wish to see results in a
bigger window), use the Detach button at the bottom of the