See http://xml.nig.ac.jp/tutorial/rest/index.html and http://xml.nig.ac.jp/index.html#services
This workflow has a beanshell script for composing the REST URL for the service at xml.nig.ac.jp.
The example invokes the getDDBJEntry(accession) method of the getEntry service at http://xml.nig.ac.jp/wabi/Method?serviceName=GetEntry&mode=methodList&lang=en - but the workflow can be modified to invoke any other service from http://xml.nig.ac.jp/index.html#services by modifying the "service" and "method" parameters to compose_URL.
Any other input parameters to compose_URL are added to the URL as well, so if instead you want to invoke the method "analyzeParamAsync(query, param)" from the "ClustalW" service, first modify the "service" and "method" default parameters to "ClustalW" and "analyzeParamAsync", and then edit the beanshell script's input ports: Remove the "accession" port from compose_URL, then add "query" and "param". You don't need to modify the actual beanshell script as it picks up any declared input parameters.
This pattern could probably be used for many REST services that work like xml.nig.ac.jp - but the disadvantage is that one has to manually read the documentations to figure out what the parameters are to be.
org.embl.ebi.escience.scuflworkers.java.WebPageFetcher
GetEntry
getDDBJEntry
AB000100
List vars = new ArrayList(Arrays.asList(this.variables));
// vars.remove("variables");
vars.remove("bsh");
String url = "http://xml.ddbj.nig.ac.jp/rest/Invoke?";
for (String variable : vars) {
url = url + variable + "=" + eval(variable) + "&";
}
// Chop of last &
url = url.substring(0, url.length());
service
method
accession
url