From suzi at fruitfly.org Tue Jun 1 19:42:26 2004 From: suzi at fruitfly.org (Suzanna Lewis) Date: Tue Jun 1 20:50:39 2004 Subject: [MOBY-l] [Fwd: [Bdgp-local] Genome Informatics Meeting] Message-ID: <40BD1462.70102@fruitfly.org> The fourth Cold Spring Harbor Laboratory/Wellcome Trust conference on Genome Informatics will be held at the Wellcome Trust Conference Centre on the Wellcome Trust Genome Campus in Hinxton, UK. The meeting will begin on the evening of Wednesday September 22, and finish after lunch on Sunday, September 26, 2004. _______________________________________________ From a.garcia at imb.uq.edu.au Wed Jun 2 03:46:54 2004 From: a.garcia at imb.uq.edu.au (a.garcia@imb.uq.edu.au) Date: Wed Jun 2 03:50:13 2004 Subject: [MOBY-l] ontology Message-ID: About Mark's email regarding an ontology for analytical methods in bioinformatics. I am here presenting some comments, hope they are useful. An ontology for analytical methods in bioinformatics should ideally allow the discovery of web services from the conceptual domain and not from the operational domain; the same being true for those cases where users wish to define workflows. Ideally the users should be able to define an analysis, independently of whether this is a single step or a workflow; a simple example would be clustal/puzzle clustal/ednadist/ Eneigbor// Econsense clustal/< > .These are three different cases of estimating and realizing phylogenies by executing the three main phylogenetic methods: distance, parsimony and maximum likelihood. They may be semantically equivalent, but are syntactically different. Some of the reasons for having an ontology are explained at http://protege.stanford.edu/publications/ontology_development/ontology101.pdf The role of the ontology should be to effectively identify these kinds of scenarios. Bioinformatic analytical methods should be classified according to their conceptual value. Classes (concepts) are a part of the ontology, properties for each concept describing various features and attributes of the concepts (slots, sometimes called roles or properties). A good example is given in the Protege manual. In my view concepts are terms such as alignment, from the properties (slots) the ontology should enable an identification or at least provide guidance regarding which alignment method to use depending on the case (input). Perhaps I misunderstand the structure presented in the email, but following that structure may lead to an ambiguous final result. Is it necessary to include concepts such as: protein database (is-a) + databases connecting other databases (is-a)? This ontology should be about analytical methods so is it necessary to include databases? Perhaps those are two different domains. Analytical methods are one thing and databases are another different thing, aren't they? This structure slightly resembles the taxonomy of analytical methods over which EMBOSS relies. But a taxonomy is not an ontology. Analytical methods are always implementations aren't they? I mean if they are not implemented then they are not available as web services. Perhaps the case of multiple implementations like BLAST (described by the author of the email) may be resolved by using the concept of the implementation as the class, for those cases where the same implementation has several concepts slots should be able to resolve the ambiguity. I am/was working on an ontology for analytical methods, I am working with Protegue, and basically I am using bio-catalog as a starting point. The key issue here is that biomoby requires an ontology for web services, which is different from an ontology for analytical methods (I guess). Well these were just some comments I hope you find them useful. From bmg at sfu.ca Wed Jun 2 04:40:50 2004 From: bmg at sfu.ca (Benjamin Good) Date: Wed Jun 2 04:44:44 2004 Subject: [MOBY-l] Java implemenation on Axis&In-Reply-To=s098f337.011@gw.svsu.edu In-Reply-To: References: Message-ID: <40BD9292.9020506@sfu.ca> Hello Il-Hyung Cho, I have reached this point as well - installed axis and got their examples working. Did you make it to the next step? Did you get an example moby service working? I'm guessing that there aren't any examples/tutorials on deploying a moby java service because the principle devlopers aren't finished with some core chunks of code. Nonetheless, perhaps some one out there could post an example using what is currently available? thanks -Ben Il-Hyung Cho wrote: >Hello Viji, > >Here's what I have done successfully: >1. Installed Tomcat, Axis, jdk, mysql, ... >2. Ran over Axis user guide and successfully followed their examples >(in sample.userguide.example1~6). >3. Went over the Axis tutorial provided in www.ammal.com. >4. Implemeted a simple mysql access example by > - setting up a simple database (not bioinformatics data) using >mysql > - providing a simple query server on axis > - running a client sending a query to the server and receiving the >result > >So, I think I basically went over most features needed in web services, >but what I am still not sure about is how to register my service to moby >so that clients can send inquiry to moby central and get the link to my >service. >Do my service have to be bioinformatics application? I am not a >bioinformatist, but just tring to see how biomoby works. Once I get my >simple service running on Moby, I can help my fellow bioinfomatist setup >their applications on Moby. > >So far, I haven't been able to find a step by step procedure/tutorial >to register a service in Java to BioMoby. > >Many thanks, > >Il-Hyung Cho >_______________________________________________ >moby-l mailing list >moby-l@biomoby.org >http://biomoby.org/mailman/listinfo/moby-l > > > > From p.lord at russet.org.uk Wed Jun 2 06:16:40 2004 From: p.lord at russet.org.uk (Phillip Lord) Date: Wed Jun 2 06:21:49 2004 Subject: [MOBY-l] ontology In-Reply-To: References: Message-ID: >>>>> "A.Garcia" == writes: A.Garcia> Ideally the users should be able to define an analysis, A.Garcia> independently of whether this is a single step or a A.Garcia> workflow; Well, I would agree with this. But at the current time, biomoby doesn't have explicit support for workflows, so you'd just have to register them as a service; the fact they are workflows would be implementation. A.Garcia> This ontology should be about analytical methods so is it A.Garcia> necessary to include databases? Perhaps those are two A.Garcia> different domains. Analytical methods are one thing and A.Garcia> databases are another different thing, aren't they? It depends on what you want to do. I think you have to talk about databases to be useful. So, for example, I can provide ten web services offering a BLAST search; which database they search over is clearly a critical issue for their discover. Now, in some cases, the analysis tool and the database are linked; interproscan works over interpro and nothing else. So there it doesn't matter. Cheers Phil From gordonp at cbr.nrc.ca Wed Jun 2 09:28:56 2004 From: gordonp at cbr.nrc.ca (Paul Gordon) Date: Wed Jun 2 09:32:08 2004 Subject: [MOBY-l] Java implemenation on Axis&In-Reply-To=s098f337.011@gw.svsu.edu In-Reply-To: <40BD9292.9020506@sfu.ca> References: <40BD9292.9020506@sfu.ca> Message-ID: <40BDD618.7070108@cbr.nrc.ca> Benjamin Good wrote: > Hello Il-Hyung Cho, > > I have reached this point as well - installed axis and got their > examples working. Did you make it to the next step? Did you get an > example moby service working? > > I'm guessing that there aren't any examples/tutorials on deploying a > moby java service because the principle devlopers aren't finished with > some core chunks of code. Nonetheless, perhaps some one out there > could post an example using what is currently available? I suppose now that since the request and reply have exactly the same format, it would make sense to use the code in MobyRequest to parse the request and generate the response (and probably rename MobyRequest to MobyPeerTransactor or something). We'll need to add a method that instead of invoking a SOAP session, responds to one... From mwilkinson at mrl.ubc.ca Thu Jun 3 18:21:08 2004 From: mwilkinson at mrl.ubc.ca (Mark Wilkinson) Date: Thu Jun 3 18:25:25 2004 Subject: [MOBY-l] Bug Reports now accepted Message-ID: <1086301268.8080.13.camel@myhost.mydomain> Hi all, Someone (I forget who) requested a more formal bug-reporting procedure for the MOBY project, and that is now done. We're piggybacking on the open-bio "bugzilla" reporting system, and have our own little piece of that pie. I've set up a few slots for various MOBY-S components (Damian, please go ahead and set up whatever slots you wish). If you click on the new "BUGS" link on the homepage it will take you to the bug reporting/browsing page where you can submit your bug report and follow its progress to being squashed. Hopefully this will help us keep track of what still needs to be written/fixed, and give others incentive to jump in a do some bug-squashing themselves :-) Cheers all! M -- Mark Wilkinson (mwilkinson@mrl.ubc.ca) University of British Columbia iCAPTURE Centre From gordonp at cbr.nrc.ca Thu Jun 3 19:08:21 2004 From: gordonp at cbr.nrc.ca (Paul Gordon) Date: Thu Jun 3 19:11:31 2004 Subject: [MOBY-l] Bug Reports now accepted In-Reply-To: <1086301268.8080.13.camel@myhost.mydomain> References: <1086301268.8080.13.camel@myhost.mydomain> Message-ID: <40BFAF65.9070507@cbr.nrc.ca> It is also worth noting that Bugzilla can be used to track "Enhancements", not just bugs. It also has a built-in bug voting system, so we can used it to track what users and developers are clamouring for in terms of new features, and what bugs bug them most. You don't have to be a developer to use Bugzilla, don't be afraid! > If you click on the new >"BUGS" link on the homepage it will take you to the bug >reporting/browsing page where you can submit your bug report and follow >its progress to being squashed. Hopefully this will help us keep track >of what still needs to be written/fixed, and give others incentive to >jump in a do some bug-squashing themselves :-) > >Cheers all! > >M > > > From letondal at pasteur.fr Fri Jun 4 05:41:28 2004 From: letondal at pasteur.fr (Catherine Letondal) Date: Fri Jun 4 05:44:37 2004 Subject: [MOBY-l] ontology In-Reply-To: Your message of "Wed, 02 Jun 2004 17:46:54 +1000." Message-ID: <200406040941.i549fSWR111111@electre.pasteur.fr> Hi, a.garcia@imb.uq.edu.au wrote: > About Mark's email regarding an ontology for analytical > methods in bioinformatics. I am here presenting some > comments, hope they are useful. > > An ontology for analytical methods in bioinformatics > should ideally allow the discovery of web services from > the conceptual domain and not from the operational domain; > the same being true for those cases where users wish to > define workflows. Ideally the users should be able to > define an analysis, independently of whether this is a > single step or a workflow; a simple example would be > clustal/puzzle clustal/ednadist/ Eneigbor// Econsense > clustal/< > .These are three different cases of > estimating and realizing phylogenies by executing the > three main phylogenetic methods: distance, parsimony and > maximum likelihood. They may be semantically equivalent, They are not semantically equivalent *at all*, but they can be classified together. > but are syntactically different. Some of the reasons for > having an ontology are explained at > http://protege.stanford.edu/publications/ontology_development/ontology101.pdf > > The role of the ontology should be to effectively identify > these kinds of scenarios. Bioinformatic analytical methods > should be classified according to their conceptual value. > Classes (concepts) are a part of the ontology, properties > for each concept describing various features and > attributes of the concepts (slots, sometimes called roles > or properties). A good example is given in the Protege > manual. In my view concepts are terms such as alignment, > from the properties (slots) the ontology should enable an > identification or at least provide guidance regarding > which alignment method to use depending on the case > (input). > > Perhaps I misunderstand the structure presented in the > email, but following that structure may lead to an > ambiguous final result. Is it necessary to include > concepts such as: protein database (is-a) + > databases connecting other databases (is-a)? This ontology > should be about analytical methods so is it necessary to > include databases? Perhaps those are two different > domains. Analytical methods are one thing and databases > are another different thing, aren't they? This structure > slightly resembles the taxonomy of analytical methods over > which EMBOSS relies. But a taxonomy is not an ontology. > > Analytical methods are always implementations aren't they? > I mean if they are not implemented then they are not > available as web services. Perhaps the case of multiple > implementations like BLAST (described by the author of the > email) may be resolved by using the concept of the > implementation as the class, for those cases where the > same implementation has several concepts slots should be > able to resolve the ambiguity. > > I am/was working on an ontology for analytical methods, > I am working with Protegue, and basically I am using > bio-catalog as a starting point. The key issue here is > that biomoby requires an ontology for web services, which > is different from an ontology for analytical methods (I > guess). What is the difference? -- Catherine Letondal -- Pasteur Institute Computing Center From simont at mcw.edu Fri Jun 4 13:49:30 2004 From: simont at mcw.edu (Simon Twigger) Date: Fri Jun 4 13:52:41 2004 Subject: [MOBY-l] ontology In-Reply-To: <200406040941.i549fSWR111111@electre.pasteur.fr> References: <200406040941.i549fSWR111111@electre.pasteur.fr> Message-ID: <87A0845A-B64F-11D8-A4A8-000A959D1D82@mcw.edu> On Jun 4, 2004, at 4:41 AM, Catherine Letondal wrote: > > Hi, > >> >> I am/was working on an ontology for analytical methods, >> I am working with Protegue, and basically I am using >> bio-catalog as a starting point. The key issue here is >> that biomoby requires an ontology for web services, which >> is different from an ontology for analytical methods (I >> guess). > > What is the difference? > I think the difference is that the service ontology needs to describe any service that BioMOBY might want to access, some (most) of these will be analytical methods but not all. Its possible that an analytical method ontology might fit directly into a branch of a service ontology but then again it might not, it all depends on what the analytical method ontology is designed to achieve. The first attempt at a more expansive MOBY service ontology that Ive put together has branches along these lines. Its in the CVS but the commit of the PNG didnt seem to work. Here's the image of the graph via http: http://castor.brc.mcw.edu/~simont/Moby_Service_Ontology.png Please note - this has lots of issues, feel free to suggest improvements, modifications, etc. I had been looking at Emboss/Pise as a list of current services and methods with the goal of trying to categorize them in some sensible way. I hadnt looked at Bio-Catalog but will do so. Mr/Ms Garcia, can I have a look at the analytical method ontology that you have created so far? Simon. -- Simon N. Twigger, Ph.D. Assistant Professor, Department of Physiology Medical College of Wisconsin 8701 Watertown Plank Road, Milwaukee, WI, USA tel: 414-456-8802 fax: 414-456-6595 AIM/iChat: simontatmcw From p.lord at russet.org.uk Mon Jun 7 06:02:30 2004 From: p.lord at russet.org.uk (Phillip Lord) Date: Mon Jun 7 06:08:54 2004 Subject: [MOBY-l] ontology In-Reply-To: <87A0845A-B64F-11D8-A4A8-000A959D1D82@mcw.edu> References: <200406040941.i549fSWR111111@electre.pasteur.fr> <87A0845A-B64F-11D8-A4A8-000A959D1D82@mcw.edu> Message-ID: >>>>> "Simon" == Simon Twigger writes: Simon> On Jun 4, 2004, at 4:41 AM, Catherine Letondal wrote: Simon> The first attempt at a more expansive MOBY service ontology Simon> that Ive put together has branches along these lines. Its in Simon> the CVS but the commit of the PNG didnt seem to work. Here's Simon> the image of the graph via http: Simon> http://castor.brc.mcw.edu/~simont/Moby_Service_Ontology.png Just out of interest, how is the relationship between the service ontology and the object ontology being expressed? Phil From p.lord at russet.org.uk Mon Jun 7 11:50:37 2004 From: p.lord at russet.org.uk (Phillip Lord) Date: Mon Jun 7 11:55:34 2004 Subject: [MOBY-l] ontology In-Reply-To: References: <200406040941.i549fSWR111111@electre.pasteur.fr> <87A0845A-B64F-11D8-A4A8-000A959D1D82@mcw.edu> Message-ID: >>>>> "Simon" == Simon Twigger writes: Simon> As I got more idea of how Owl works, my thought was that the Simon> object ontology might be another branch of a moby Simon> 'uber-ontology' structure so that services could have an Simon> input and output properties which could be filled by classes Simon> from the object ontology branch. This certainly makes sense, and is effectively what we do within mygrid. Simon> By appropriately defining the service classes in the ontology Simon> in terms of input and output objects from the object ontology Simon> we could then reason over structure and generate a reasoned Simon> version that would put services in all the appropriate Simon> places, rather than the one place we currently use. I think Simon> this is more S-MOBY territory but would make service Simon> discovery more flexible and dynamic - users would register a Simon> service in terms of input and output objects (as they do now) Simon> and the service ontology would then classify the service into Simon> the appropriate type(s) for discovery. Well, whether you need reasoning to do this or not depends on the complexity of the definitions of types that you want. If you want to allow fully OWL(-DL) expressive queries, then you will need reasoning. If you want simpler things where, for instance, the inputs and outputs are explicit named classes already in the ontology (rather than OWL Class expressions) then you can probably make things simpler. Either way, within mygrid, we have code base which may be of use in helping to implement this sort of search backend. Simon> The object branch in the service ontology file was my attempt Simon> to explore how this might work in OWL by defining input and Simon> output properties for services and seeing if I could fill Simon> them with objects and have the reasoner behave as expected. I Simon> should probably prune that from the public version and just Simon> work on classifying the services so things don't get unduly Simon> complicated at this stage. I think this is a good way to go Simon> but we should make some executive decisions balancing this Simon> type of development vs getting something useable in a Simon> reasonable timeframe. Well, you need to be reasonably sure of your search technology (that is the expressivity of your queries), if you are going to judge usability. One of the reasons, for example, we stopped using reasoning at run time in mygrid was the simple fact that we didn't have any cute GUI's for forming complex queries... Cheers Phil From simont at aa9pw.com Mon Jun 7 09:58:25 2004 From: simont at aa9pw.com (Simon Twigger) Date: Mon Jun 7 17:01:04 2004 Subject: [MOBY-l] ontology In-Reply-To: References: <200406040941.i549fSWR111111@electre.pasteur.fr> <87A0845A-B64F-11D8-A4A8-000A959D1D82@mcw.edu> Message-ID: Hi Phil, The object ontology 'stub' that is in there was more of an experiment and is somewhat outside of the original scope of what we had discussed at the MOBY developers meeting. In trying to fit the services into categories it became obvious that many services could live in multiple categories and that its somewhat artificial to pigeon-hole them into a single category as we currently do (but the current 6 term ontology is so limited this isnt really an issue). As I got more idea of how Owl works, my thought was that the object ontology might be another branch of a moby 'uber-ontology' structure so that services could have an input and output properties which could be filled by classes from the object ontology branch. By appropriately defining the service classes in the ontology in terms of input and output objects from the object ontology we could then reason over structure and generate a reasoned version that would put services in all the appropriate places, rather than the one place we currently use. I think this is more S-MOBY territory but would make service discovery more flexible and dynamic - users would register a service in terms of input and output objects (as they do now) and the service ontology would then classify the service into the appropriate type(s) for discovery. The object branch in the service ontology file was my attempt to explore how this might work in OWL by defining input and output properties for services and seeing if I could fill them with objects and have the reasoner behave as expected. I should probably prune that from the public version and just work on classifying the services so things don't get unduly complicated at this stage. I think this is a good way to go but we should make some executive decisions balancing this type of development vs getting something useable in a reasonable timeframe. Simon. On Jun 7, 2004, at 5:02 AM, Phillip Lord wrote: >>>>>> "Simon" == Simon Twigger writes: > > Simon> On Jun 4, 2004, at 4:41 AM, Catherine Letondal wrote: > > Simon> The first attempt at a more expansive MOBY service ontology > Simon> that Ive put together has branches along these lines. Its in > Simon> the CVS but the commit of the PNG didnt seem to work. Here's > Simon> the image of the graph via http: > > > Simon> http://castor.brc.mcw.edu/~simont/Moby_Service_Ontology.png > > > > Just out of interest, how is the relationship between the service > ontology and the object ontology being expressed? > > Phil > _______________________________________________ > moby-l mailing list > moby-l@biomoby.org > http://biomoby.org/mailman/listinfo/moby-l > > -- Simon N. Twigger, Ph.D. Assistant Professor, Department of Physiology Medical College of Wisconsin 8701 Watertown Plank Road, Milwaukee, WI, USA tel: 414-456-8802 fax: 414-456-6595 AIM/iChat: simontatmcw From bmg at sfu.ca Wed Jun 9 14:54:46 2004 From: bmg at sfu.ca (Benjamin Good) Date: Wed Jun 9 06:58:59 2004 Subject: [MOBY-l] registering an axis web service Message-ID: <40C75CF6.7090504@sfu.ca> Dear list, I have developed a moby-compliant web service using Java Axis. How can I register this with MobyCentral? I've tried using a perl method like below, but can't seem to get it quite right. Registration succeeds, but I can't get anything back from the service. Also the wsdl generated by MobyCentral doesn't match the WSDL generated locally. sub register_service { #$C is the moby-central instance my $C = shift; my $reg = $C->registerService( serviceName => echoXMLStringRequest, authURI => 127.0.0.1, contactEmail => bmg@sfu.ca, description => "An axis service for testing", URL => http://localhost:8080/axis/services/, input => [ ['', ["Object" => []]], ], output => [ ['', ["Object" => []]], ], category => "moby", serviceType => "Retrieval", ); die "Bad return value from registerService" unless $reg; if ($reg->success == 1){ print "Registration successful\n\n"; } else { print "Registration failed: ", $reg->message, "\n"; } } Here is the WSDL generated when I run it (successfully) from a non-moby java client thanks for any ideas -Ben From bmg at sfu.ca Wed Jun 9 17:07:38 2004 From: bmg at sfu.ca (Benjamin Good) Date: Wed Jun 9 09:11:54 2004 Subject: [MOBY-l] registering an axis web service In-Reply-To: <40C6FB46.7030003@gsf.de> References: <40C75CF6.7090504@sfu.ca> <40C6FB46.7030003@gsf.de> Message-ID: <40C77C1A.8090503@sfu.ca> Hi Rebecca, Thanks for your quick reply. At the moment I am working behind a firewall that prevents Canada Moby from accessing the methods on my machine, but I've been successfully testing on a local central. It seems that the problem that I was having was just getting the name of the container for my service correct...:( I had created a package called biomoby.services and placed my EchoXML class inside it. I got it running by setting the URL for the service to point at the package: http://localhost:8080/axis/services/biomoby.services and the name for the service to the name of the method: echoXMLString For others who might be as unfamiliar with axis as I am it is quite handy to simply check what services and methods are actually avaliable on your machine by pointing a web browser at http://localhost:8080/axis/services Sorry for the beginner mistake, may this post help another beginner somewhere! cheers -Ben Rebecca Ernst wrote: > Hi Ben! > > what exactly so you mean with 'not getting anything back from the > service'? > > I would try it like this: > > register it (what you obviously did) with moby central Canada > then you should be able to retrieve the service with the canadian > client (I just checked but i couldn't find your service?) > try to execute it there > do you then get back 'service not available' ? > > This is how we registered one of Viji's axis services: > > #!/usr/local/perl-5.6.1/bin/perl > use MOBY::Client::Central; > use MOBY::Client::Service; > > my $C = MOBY::Client::Central->new(); > $REG = $C->registerService( > serviceName => "getTestMessage", > serviceType => "Retrieval", > authURI => "mips.gsf.de", > contactEmail=> 'viji@gsf.de', > description => 'takes a object and returns a string', > category => 'moby', > URL => 'http://146.107.217.144/axis/services/TestAxis', > input => [ > [undef,['Object', ['Global_Keyword']]] > ], > output => [ > [undef,['String', ['Global_Keyword']]] > ] > ); > print $REG->message; > > > Cheers, > Rebecca > > > > Benjamin Good wrote: > >> >> Dear list, >> >> I have developed a moby-compliant web service using Java Axis. How >> can I register this with MobyCentral? I've tried using a perl method >> like below, but can't seem to get it quite right. Registration >> succeeds, but I can't get anything back from the service. Also the >> wsdl generated by MobyCentral doesn't match the WSDL generated locally. >> >> sub register_service { >> #$C is the moby-central instance >> my $C = shift; >> my $reg = $C->registerService( >> serviceName => echoXMLStringRequest, >> authURI => 127.0.0.1, >> contactEmail => bmg@sfu.ca, >> description => "An axis service for testing", >> URL => http://localhost:8080/axis/services/, >> input => [ ['', ["Object" => []]], ], >> output => [ ['', ["Object" => []]], ], >> category => "moby", >> serviceType => "Retrieval", >> ); >> die "Bad return value from registerService" unless $reg; >> if ($reg->success == 1){ >> print "Registration successful\n\n"; >> } >> else { >> print "Registration failed: ", $reg->message, "\n"; >> } >> } >> >> Here is the WSDL generated when I run it (successfully) from a >> non-moby java client >> >> >> > xmlns:impl="urn:biomoby.services" xmlns:intf="urn:biomoby.services" >> xmlns:apachesoap="http://xml.apache.org/xml-soap" >> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" >> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" >> xmlns:xsd="http://www.w3.org/2001/XMLSchema" >> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" >> xmlns="http://schemas.xmlsoap.org/wsdl/"> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> > message="impl:echoXMLStringRequest"/> >> >> > message="impl:echoXMLStringResponse"/> >> >> >> >> >> >> >> >> > transport="http://schemas.xmlsoap.org/soap/http"/> >> >> >> >> >> >> >> >> > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" >> namespace="urn:biomoby.services"/> >> >> >> >> >> >> > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" >> namespace="urn:biomoby.services"/> >> >> >> >> >> >> >> >> >> >> > binding="impl:biomoby.servicesSoapBinding"> >> >> > location="http://localhost:8080/axis/services/biomoby.services"/> >> >> >> >> >> >> >> >> thanks for any ideas >> -Ben >> >> >> >> _______________________________________________ >> moby-l mailing list >> moby-l@biomoby.org >> http://biomoby.org/mailman/listinfo/moby-l >> >> > From markw at illuminae.com Wed Jun 9 11:39:17 2004 From: markw at illuminae.com (Mark Wilkinson) Date: Wed Jun 9 11:43:27 2004 Subject: [MOBY] [MOBY-l] registering an axis web service In-Reply-To: <40C75CF6.7090504@sfu.ca> References: <40C75CF6.7090504@sfu.ca> Message-ID: <1086795557.5937.16.camel@myhost.mydomain> Just as an aside to this - I have a student, Eddie, who is currently writing GUI's to assist in object creation, object browsing, and service registration. These should be finished in a few weeks, so this whole process will get much easier soon! M On Wed, 2004-06-09 at 11:54, Benjamin Good wrote: > Dear list, > > I have developed a moby-compliant web service using Java Axis. How can > I register this with MobyCentral? I've tried using a perl method like > below, but can't seem to get it quite right. Registration succeeds, > but I can't get anything back from the service. Also the wsdl generated > by MobyCentral doesn't match the WSDL generated locally. > > sub register_service { > #$C is the moby-central instance > my $C = shift; > my $reg = $C->registerService( > serviceName => echoXMLStringRequest, > authURI => 127.0.0.1, > contactEmail => bmg@sfu.ca, > description => "An axis service for testing", > URL => http://localhost:8080/axis/services/, > input => [ ['', ["Object" => []]], ], > output => [ ['', ["Object" => []]], ], > category => "moby", > serviceType => "Retrieval", > ); > die "Bad return value from registerService" unless $reg; > if ($reg->success == 1){ > print "Registration successful\n\n"; > } > else { > print "Registration failed: ", $reg->message, "\n"; > } > } > > Here is the WSDL generated when I run it (successfully) from a non-moby > java client > > > xmlns:impl="urn:biomoby.services" xmlns:intf="urn:biomoby.services" > xmlns:apachesoap="http://xml.apache.org/xml-soap" > xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns="http://schemas.xmlsoap.org/wsdl/"> > > > > > > > > > > > > > > > > > > message="impl:echoXMLStringRequest"/> > > message="impl:echoXMLStringResponse"/> > > > > > > > > transport="http://schemas.xmlsoap.org/soap/http"/> > > > > > > > > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > namespace="urn:biomoby.services"/> > > > > > > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > namespace="urn:biomoby.services"/> > > > > > > > > > > binding="impl:biomoby.servicesSoapBinding"> > > location="http://localhost:8080/axis/services/biomoby.services"/> > > > > > > > > thanks for any ideas > -Ben > > > > _______________________________________________ > moby-l mailing list > moby-l@biomoby.org > http://biomoby.org/mailman/listinfo/moby-l -- Mark Wilkinson (mwilkinson@mrl.ubc.ca) University of British Columbia iCAPTURE Centre From bmg at sfu.ca Fri Jun 11 15:54:58 2004 From: bmg at sfu.ca (Benjamin Good) Date: Fri Jun 11 07:59:16 2004 Subject: [MOBY-l] MobyRequest problem Message-ID: <40CA0E12.1010000@sfu.ca> Dear list, I am working on a moby service in java. I have succeeded in running it with a perl client, but am having problems with a java client that uses the MobyRequest class. The client works fine on other services from moby central and on other perl services that I have written. The question is should I alter my service or alter MobyRequest to handle it??? cheers -ben The error occurs in MobyRequest at this point. Element resultDom = ((MessageElement) soapCall.getResponseMessage().getSOAPPart().getEnvelope()).getAsDOM(); Here is the trace, Input to MOBY Service is: IR6412 - No returnType was specified to the Call object! You must call setReturnType() if you have called addParameter(). SOAP Response was: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KICAgICAgIDxtb2J5Ok1PQlkgeG1sbnM6bW9ieT0iaHR0cDovL3d3dy5iaW9tb2J5Lm9yZy9tb2J5Ij4KICAgICAgICAgIDxtb2J5Om1vYnlDb250ZW50Pgo8bW9ieTptb2J5RGF0YSBtb2J5OnF1ZXJ5SUQ9JzEnPjxTaW1wbGUgeG1sbnM9Imh0dHA6Ly93d3cuYmlvbW9ieS5vcmcvbW9ieSIgeG1sbnM6bW9ieT0iaHR0cDovL3d3dy5iaW9tb2J5Lm9yZy9tb2J5IiBtb2J5OmFydGljbGVOYW1lPSIiPjxtb2J5OldpbGRjYXJkX1F1ZXJ5IG5hbWVzcGFjZT0nJyBpZD0nJz48bW9ieTpTdHJpbmcgbmFtZXNwYWNlPScnIGlkPScnIGFydGljbGVOYW1lPSdnZXJtcGxhc21fbmFtZSc+SVI2NDwvbW9ieTpTdHJpbmc+PG1vYnk6SW50ZWdlciBuYW1lc3BhY2U9JycgaWQ9JycgYXJ0aWNsZU5hbWU9J3N0YXJ0X3Jvdyc+MTwvbW9ieTpJbnRlZ2VyPjxtb2J5OkludGVnZXIgbmFtZXNwYWNlPScnIGlkPScnIGFydGljbGVOYW1lPSdlbmRfcm93Jz4yPC9tb2J5OkludGVnZXI+PC9tb2J5OldpbGRjYXJkX1F1ZXJ5PjwvU2ltcGxlPiAgICAgICAgICAgICAgPC9tb2J5Om1vYnlEYXRhPgogICAgICAgICAgPC9tb2J5Om1vYnlDb250ZW50PgogICAgICAgPC9tb2J5Ok1PQlk+Cg== Caught an exception from moby:org.biomoby.shared.SOAPException: Could not get SOAP response as DOM Element: org.biomoby.shared.SOAPException: Could not find a Base64 encoded SOAP payload ERROR: Unable to initiate moby service. org.biomoby.shared.SOAPException: Could not get SOAP response as DOM Element: org.biomoby.shared.SOAPException: Could not find a Base64 encoded SOAP payload at org.biomoby.client.MobyRequest.performSOAPRequest(MobyRequest.java:358) at org.biomoby.client.MobyRequest.invokeService(MobyRequest.java:232) From gordonp at cbr.nrc.ca Fri Jun 11 10:38:24 2004 From: gordonp at cbr.nrc.ca (Paul Gordon) Date: Fri Jun 11 10:41:21 2004 Subject: [MOBY-l] MobyRequest problem In-Reply-To: <40CA0E12.1010000@sfu.ca> References: <40CA0E12.1010000@sfu.ca> Message-ID: <40C9C3E0.8010208@cbr.nrc.ca> Hey folks, Now that we have different clients, and different servers running, we see the ugly face of interoperability :-P The major issue here is that the Java client is not finding the SOAP base64 encoded payload because the XPath expression used to find it in the SOAP envelope is //*[@xsi:type="SOAP-ENC:base64"] This has two issues, one is easy to fix, the other not so. XML Schema Instances are wierd because they use prefixes like SOAP-ENC to describe the namespace of tags. But that prefix is not part of the syntax of the XML document, it's just CDATA in an attribute. But the prefix declaration is done in the document (xmlns:SOAP-ENC="http://...."). There is no systematic way to apply the declared prefix to the xsi:type="SOAP-ENC:base64" bit, since it's just CDATA. Anyhow, we can avoid this whole match-the-variable-prefix-to-a-XSI-meta-data-namespace problem by changing the XPath to be more inclusive. Just looking at the local name (i.e. unprefixed) part of the CDATA after the colon //*[substring-after(@xsi:type, ':')=\"base64\"]" at the very slight risk that you have other top-level SOAP envelope XSI declarations of "base64" that aren't SOAP (i.e. you're doing some very wierd handtweaking of the SOAP envelope with element name collision). The second problem is that Perl service providers use as module that uses the XML Schema Instance namespace of http://www.w3.org/1999/XMLSchema-instance, whereas Apache's Java Axis uses http://www.w3.org/2001/XMLSchema-instance. So should the XPath bind xsi: to the the former or the latter? For now I had hardcoded in the 1999 version, since most service providers were using the Perl modules. See the MobyPrefixResover code and its accompanying comment else if(XSI_PREFIX.equals(prefix)){ return XSI_NAMESPACE1999; //Crappy Perl XML Schema namespace usage is out of date } You see, I precompile the XPath statements for speed, so I need to know beforehand if 1999 or 2001 namespace will be used. Ben, can you make your Echo service available with a real IP address? That way I can try to fix this with multiple XSI resolutions and test it before commiting. From mwilkinson at mrl.ubc.ca Tue Jun 15 11:03:48 2004 From: mwilkinson at mrl.ubc.ca (Mark Wilkinson) Date: Tue Jun 15 11:08:04 2004 Subject: [MOBY-l] TEST MOBY Central registry available Message-ID: <1087311828.2155.99.camel@myhost.mydomain> Hi all, Yeah yeah yeah, I know it has been a long time coming! Yesterday I made some changes to the registry code that allowed it to read its configuration from a config file, pointed to by an environment variable in apache. This made it easier to run multiple instances of apache each with a different registry configuration. (Rebecca - this is something that your sysadmin requested ages ago! please tell him it is now done...) As such, there is now a test version of the registry running at mobycentral and you can feel free to mess that one up as much as you wish. There is currently no GUI client pointing to that, but you can interact with it using the client-side libraries. The test registry is a snapshot of how the "real" registry looked this morning, but it is running from its own set of mySQL databases, so feel free to add/remove/play because you wont harm the real registry nor the real ontologies (touch wood...) The URL and URI for the test registry are: URL 'http://mobycentral.cbr.nrc.ca:8080/cgi-bin/MOBY05/mobycentral.pl' URI 'http://mobycentral.cbr.nrc.ca:8080/MOBY/Central' For those of you using my Perl libraries to connect, simply create an instance of the MOBY::Client::Central as follows: my $C = MOBY::Client::Central->new( Registries => { mobycentral => { URL => 'http://mobycentral.cbr.nrc.ca:8080/cgi-bin/MOBY05/mobycentral.pl', URI => 'http://mobycentral.cbr.nrc.ca:8080/MOBY/Central' } } ); and then use the module as you normally would. The perl test suite also uses the test instance of the registry now, so "TotalCrap" should no longer appear as a valid object in our ontologies ;-) Cheers all! M -- Mark Wilkinson (mwilkinson@mrl.ubc.ca) University of British Columbia iCAPTURE Centre From markw at illuminae.com Tue Jun 15 12:14:07 2004 From: markw at illuminae.com (Mark Wilkinson) Date: Tue Jun 15 12:18:17 2004 Subject: [MOBY-l] Re: [MISC] [MOBY-dev] TEST MOBY Central registry available In-Reply-To: <1087311828.2155.99.camel@myhost.mydomain> References: <1087311828.2155.99.camel@myhost.mydomain> Message-ID: <1087316047.2155.120.camel@myhost.mydomain> Note that 'URL' in the message below does not refer to a human-readable web interface. It is the location of the test MOBY Central SOAP server. I have a student, Eddie, who is currently building a GUI interface for service registration, and that should be up in the next few weeks. M On Tue, 2004-06-15 at 08:03, Mark Wilkinson wrote: > Hi all, > > Yeah yeah yeah, I know it has been a long time coming! > > Yesterday I made some changes to the registry code that allowed it to > read its configuration from a config file, pointed to by an environment > variable in apache. This made it easier to run multiple instances of > apache each with a different registry configuration. (Rebecca - this is > something that your sysadmin requested ages ago! please tell him it is > now done...) > > As such, there is now a test version of the registry running at > mobycentral and you can feel free to mess that one up as much as you > wish. There is currently no GUI client pointing to that, but you can > interact with it using the client-side libraries. > > The test registry is a snapshot of how the "real" registry looked this > morning, but it is running from its own set of mySQL databases, so feel > free to add/remove/play because you wont harm the real registry nor the > real ontologies (touch wood...) > > The URL and URI for the test registry are: > > URL 'http://mobycentral.cbr.nrc.ca:8080/cgi-bin/MOBY05/mobycentral.pl' > > URI 'http://mobycentral.cbr.nrc.ca:8080/MOBY/Central' > > > For those of you using my Perl libraries to connect, simply create an > instance of the MOBY::Client::Central as follows: > > my $C = MOBY::Client::Central->new( > Registries => { > mobycentral => { URL => > 'http://mobycentral.cbr.nrc.ca:8080/cgi-bin/MOBY05/mobycentral.pl', > URI => 'http://mobycentral.cbr.nrc.ca:8080/MOBY/Central' > } > } > ); > > and then use the module as you normally would. The perl test suite also > uses the test instance of the registry now, so "TotalCrap" should no > longer appear as a valid object in our ontologies ;-) > > Cheers all! > > M -- Mark Wilkinson (mwilkinson@mrl.ubc.ca) University of British Columbia iCAPTURE Centre From JYu at mail.brc.mcw.edu Tue Jun 15 16:21:26 2004 From: JYu at mail.brc.mcw.edu (Jiaming Yu) Date: Tue Jun 15 16:47:59 2004 Subject: [MOBY-l] registering an axis web service Message-ID: <295CC5EB4257D411B34D00D0B7748F4432E08B@baldar.brc.mcw.edu> Hi Ben: I read your June emails. I am now also working on the same topic. Could we discuss more in detail concerning below points: 1. Concerning the service setting. How do you deploy your service in AXIS, could I get the code to deploy it on my local test? 2. Concerning the http://localhost:8080/axis/services/biomoby.services My understanding is , your class name is EchoXML, and RPC method is echoXMLString, which return a xml file following MOBY response policy (not in detail here). Is that right ? 3. In your June 9 email, >>Registration >> succeeds, but I can't get anything back from the service. Do you mean you when you query the service list, you can not find your registration? I succeed in register and query my registration using Sanger's MobyCmdLineClient.java. Could try it to see if it helps >> Also the >> wsdl generated by MobyCentral doesn't match the WSDL generated locally You list the WSDL file which I think got by http://localhost:8080/axis/services/YOURDEFINE?wsdl right? So Is that what your meaned "generated by MobyCentral" or "the WSDL generated locally" ? appreciated Jiaming Yu Project Programmer / Analyst Bioinformatics Program, Human and Molecular Genetics Center Medical College of Wisconsin 8701, W. Watertown Plank Road Milwaukee, WI 53226 414-456-5648 From p.lord at russet.org.uk Wed Jun 16 10:47:10 2004 From: p.lord at russet.org.uk (Phillip Lord) Date: Wed Jun 16 10:52:36 2004 Subject: [MOBY-l] Programme Available: The Seventh Annual Bio-ontologies Meeting Message-ID: The programme for the Seventh Annual Bio-Ontologies Meeting is now available online. http://bio-ontologies.man.ac.uk/preliminary_program.html Apologies, as always, to those who get multiple copies of this. The Seventh Annual Bio-ontologies Meeting Call For Submissions ============================================================== Key Information =============== Organisers: Robert Stevens(1) ,Robin McEntire(2), Phillip Lord(1), and James.A.Butler(2) (1) Dept of Computer Science, University of Manchester (2) GlaxoSmithKline Website: http://bio-ontologies.man.ac.uk Location: Glasgow, Scotland. Date: 30th July Main Conference: http://www.iscb.org/ismbeccb2004/ Registration: http://www.iscb.org/ismbeccb2004/reg.html Registration Costs: 80 Academic, 110 Corporate, 60 Student (Prices in UK Pounds. 17.5% VAT will be added. Coffee and lunch included) General Information =================== The Bio-Ontologies workshop has been in existence since 1998, and now operates as a Special Interest Group at the ISMB Conference. Bio-Ontologies is well established as one of the key meetings for dissemination of the latest information and research on ontologies in the life sciences and has drawn the key researchers in the field. After last year's highly successful theme of "Ontologies and Text Analysis", we will follow with the timely theme of "Ontologies and Bio-Images". Work is currently being done in the area of ontologies of images, especially in the domain of developmental biology and medicine. A prime example of this work is the Bio-Image databank, which makes extensive use of ontologies. Our guest speaker for this year's topic will be Dr. David Shotton, who will talk about the use of ontologies within the BioImage database. The preliminary programme follows. Full details from the website. +------+-----+-----------------------+--------------------------------------------------------------------+ |Start |End |Speaker |Title | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ |09:00 |09:10| |Introduction | +------+-----+-----------------------+--------------------------------------------------------------------+ |09:10 |10:00|David Shotton |KEYNOTE: Using Ontologies to provide semantic richness in biological| | | | |image databases | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ |10:00 |10:15|Joanne Luciano |BioPAX: Data Exchange Ontology for Biological Pathway Databases | | | | | | | | | | | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ |10:15 |10:30|Katy Wolstencraft |The use of ontology in organising and managing protein family | | | | |resources | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ |10:30 |11:00| |Coffee | +------+-----+-----------------------+--------------------------------------------------------------------+ |11:00 |11:15|Trish Whetzel |The MGED Ontology: Providing Descriptors for Microarray Experiments | | | | | | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ |11:15 |11:30|Georgios V. Gkoutos |Ontologies for the Description of Mouse Phenotypes | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ |11:30 |12:00|Sarah Luger |Cross-species mapping between Anatomical Ontologies: Terminological | | | | |and Structural support. | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ |12:00 |13:00| |Lunch | +------+-----+-----------------------+--------------------------------------------------------------------+ |13:00 |15:00|Michael Ashburner |Panel Session, with Guest Moderator, Helen Parkinson | | | +-----------------------+ | | | |Barry Smith | | | | +-----------------------+ | | | |Jeremy Rodgers | | | | +-----------------------+ | | | |Crispin Miller | | +------+-----+-----------------------+--------------------------------------------------------------------+ |15:00 |15:30| |Coffee | +------+-----+-----------------------+--------------------------------------------------------------------+ |15:30 |16:00|Chris Mungall |OBOL: A Grammar and inference system for GO and OBO | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ |16:00 |16:30|Anand Kumar |Enhancing GO for the sake of Clincal Bioinformaticians | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ |16:30 |17:00|Ken-ichiro Fukuda |Classifying Molecules by their Roles | | | | | | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ |17:00 |17:30|Helen Parkinson |The SOFG Anatomy Entry List (SAEL) as an annotation tool for | | | | |functional genomics experiments | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ |17:30 |18:00|Keith Flanagan |Ontologies for Genomes and Genomic Rearrangements | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ |18:00 |18:15|Nigham Shah |Making compatible text, visual and mathematical representations for | | | | |ontologies | +------+-----+-----------------------+--------------------------------------------------------------------+ |18:15 |18:30|Cliff Joslyn |Reports On Two Recent Bio-Ontology Workshops | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ From bmg at sfu.ca Thu Jun 17 05:09:41 2004 From: bmg at sfu.ca (Benjamin Good) Date: Wed Jun 16 21:14:12 2004 Subject: [MOBY-l] registering an axis web service In-Reply-To: <295CC5EB4257D411B34D00D0B7748F4432E08B@baldar.brc.mcw.edu> References: <295CC5EB4257D411B34D00D0B7748F4432E08B@baldar.brc.mcw.edu> Message-ID: <40D15FD5.3080408@sfu.ca> > >1. Concerning the service setting. How do you deploy your service in AXIS, >could I get the code to deploy it on my local test? > > For the simplest possible service that I have got to work.., the clode for the class is: public class AxisEcho { // echo the request as a byte array - this will result in axis using the base64 encoding type required by moby public static byte[] echoByteArray(String xml_input) { byte[] input_byte = xml_input.getBytes(); return input_byte; } } Compile this and put the class file in the axis/WEB-INF/classes directory. Then deploy it by writing a .wsdd file like this and deploy java org.apache.axis.client.AdminClient my_deploy.wsdd next restart tomcat. next register the service. I've just been using the perl code to do this although I know you can do it with Martin's java command line client as well. Here is the relevant code: sub register_service { #$C is the moby-central instance my $C = shift; my $reg = $C->registerService( serviceName => $sname, authURI => $authURI, contactEmail => $email, description => "Another axis service for testing", URL => $url, input => [ ['', ["Object" => []]], ], output => [ ['', ["Object" => []]], ], category => "moby", serviceType => "Retrieval", ); die "Bad return value from registerService" unless $reg; if ($reg->success == 1){ print "Registration successful\n\n"; } else { print "Registration failed: ", $reg->message, "\n"; } } There are more examples of perl registration code at http://biomoby.org/moby-live/Perl/scripts/testMOBYClientCentral_v05.pl >2. Concerning the http://localhost:8080/axis/services/biomoby.services > > >My understanding is , your class name is EchoXML, and RPC method is >echoXMLString, which return a xml file following MOBY response policy (not >in detail here). Is that right ? > > Thats the idea. Sorry for leaving an unreachable URL up there - I guess maybe that helped push Mark to put up the test central :) >3. In your June 9 email, > > >>>Registration >>>succeeds, but I can't get anything back from the service. >>> >>> >Do you mean you when you query the service list, you can not find your >registration? I succeed in register and query my registration using Sanger's >MobyCmdLineClient.java. Could try it to see if it helps > I was actually using the wrong name.. You can register anything, there is no error-checking for bad urls or method names at the time of registration. So, if you put up an incorrect name you can see it, but will get a service returned no response message when you try to access it. >>>wsdl generated by MobyCentral doesn't match the WSDL generated locally >>> >>> > > > >You list the WSDL file which I think got by > >http://localhost:8080/axis/services/YOURDEFINE?wsdl > > >right? So Is that what your meaned "generated by MobyCentral" or "the WSDL >generated locally" ? > > This is what I mean by generated locally. If you check the wsdl coming back from requests to moby central you will see a much stripped down version of the wsdl supplied by axis. One of my goals for the next few weeks or so is to produce a complete working example of an axis moby service that can be deployed in tomcat immediately as a war file. Hopefully that will help get other newbie java developers such as myself who are also new to web services and moby up and running faster. I still have not convinced the sysadmin to open my tomcat port so can't share my services just yet :( Hope that helps a bit, see also the mail from Viji. -Ben From mwilkinson at mobile.rogers.com Wed Jun 16 21:26:09 2004 From: mwilkinson at mobile.rogers.com (mwilkinson) Date: Wed Jun 16 21:34:08 2004 Subject: [MOBY-l] registering an axis web service Message-ID: <200406170134.i5H1Y4Kr010335@portal.open-bio.org> It should not be that base64 is *required* by moby. It is just an option. If the code is such that it is now required please say so, because that was not the intention! M -----Original Message----- From: Benjamin Good Date: Thu, 17 Jun 2004 17:09:41 To:Jiaming Yu , mobyl Subject: Re: [MOBY-l] registering an axis web service > >1. Concerning the service setting. How do you deploy your service in AXIS, >could I get the code to deploy it on my local test? > > For the simplest possible service that I have got to work.., the clode for the class is: public class AxisEcho { // echo the request as a byte array - this will result in axis using the base64 encoding type required by moby public static byte[] echoByteArray(String xml_input) { byte[] input_byte = xml_input.getBytes(); return input_byte; } } Compile this and put the class file in the axis/WEB-INF/classes directory. Then deploy it by writing a .wsdd file like this and deploy java org.apache.axis.client.AdminClient my_deploy.wsdd next restart tomcat. next register the service. I've just been using the perl code to do this although I know you can do it with Martin's java command line client as well. Here is the relevant code: sub register_service { #$C is the moby-central instance my $C = shift; my $reg = $C->registerService( serviceName => $sname, authURI => $authURI, contactEmail => $email, description => "Another axis service for testing", URL => $url, input => [ ['', ["Object" => []]], ], output => [ ['', ["Object" => []]], ], category => "moby", serviceType => "Retrieval", ); die "Bad return value from registerService" unless $reg; if ($reg->success == 1){ print "Registration successful\n\n"; } else { print "Registration failed: ", $reg->message, "\n"; } } There are more examples of perl registration code at http://biomoby.org/moby-live/Perl/scripts/testMOBYClientCentral_v05.pl >2. Concerning the http://localhost:8080/axis/services/biomoby.services > > >My understanding is , your class name is EchoXML, and RPC method is >echoXMLString, which return a xml file following MOBY response policy (not >in detail here). Is that right ? > > Thats the idea. Sorry for leaving an unreachable URL up there - I guess maybe that helped push Mark to put up the test central :) >3. In your June 9 email, > > >>>Registration >>>succeeds, but I can't get anything back from the service. >>> >>> >Do you mean you when you query the service list, you can not find your >registration? I succeed in register and query my registration using Sanger's >MobyCmdLineClient.java. Could try it to see if it helps > I was actually using the wrong name.. You can register anything, there is no error-checking for bad urls or method names at the time of registration. So, if you put up an incorrect name you can see it, but will get a service returned no response message when you try to access it. >>>wsdl generated by MobyCentral doesn't match the WSDL generated locally >>> >>> > > > >You list the WSDL file which I think got by > >http://localhost:8080/axis/services/YOURDEFINE?wsdl > > >right? So Is that what your meaned "generated by MobyCentral" or "the WSDL >generated locally" ? > > This is what I mean by generated locally. If you check the wsdl coming back from requests to moby central you will see a much stripped down version of the wsdl supplied by axis. One of my goals for the next few weeks or so is to produce a complete working example of an axis moby service that can be deployed in tomcat immediately as a war file. Hopefully that will help get other newbie java developers such as myself who are also new to web services and moby up and running faster. I still have not convinced the sysadmin to open my tomcat port so can't share my services just yet :( Hope that helps a bit, see also the mail from Viji. -Ben _______________________________________________ moby-l mailing list moby-l@biomoby.org http://biomoby.org/mailman/listinfo/moby-l !!!!!!!!!!!!!!!! To respond to this message you MUST send your response to (note new address!) markw_mobile2 at illuminae dot com Responses to the reply-to address go directly to trash! !!!!!!!!!!!!!!!!!!!!!!!!!!!! From bmg at sfu.ca Thu Jun 17 06:13:23 2004 From: bmg at sfu.ca (Benjamin Good) Date: Wed Jun 16 22:17:55 2004 Subject: [MOBY-l] registering an axis web service In-Reply-To: <200406170130.i5H1UCoV002513@pobox.sfu.ca> References: <200406170130.i5H1UCoV002513@pobox.sfu.ca> Message-ID: <40D16EC3.8070600@sfu.ca> This seems to be the case when using the MobyRequest class from Paul. Seems like it should also be able to handle a simple string no? B mwilkinson wrote: >It should not be that base64 is *required* by moby. It is just an option. > >If the code is such that it is now required please say so, because that was not the intention! > >M > > >-----Original Message----- >From: Benjamin Good >Date: Thu, 17 Jun 2004 17:09:41 >To:Jiaming Yu , mobyl >Subject: Re: [MOBY-l] registering an axis web service > > > > > >>1. Concerning the service setting. How do you deploy your service in AXIS, >>could I get the code to deploy it on my local test? >> >> >> >> > >For the simplest possible service that I have got to work.., the clode >for the class is: > >public class AxisEcho { >// echo the request as a byte array - this will result in axis using >the base64 encoding type required by moby > public static byte[] echoByteArray(String xml_input) { > byte[] input_byte = xml_input.getBytes(); > return input_byte; > } >} > >Compile this and put the class file in the axis/WEB-INF/classes >directory. Then deploy it by writing a .wsdd file like this > >xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> > > > > > > >and deploy >java org.apache.axis.client.AdminClient my_deploy.wsdd > >next restart tomcat. > >next register the service. I've just been using the perl code to do >this although I know you can do it with Martin's java command line >client as well. > >Here is the relevant code: >sub register_service { >#$C is the moby-central instance > my $C = shift; > my $reg = $C->registerService( > serviceName => $sname, > authURI => $authURI, > contactEmail => $email, > description => "Another axis service for testing", > URL => $url, > input => [ ['', ["Object" => []]], ], > output => [ ['', ["Object" => []]], ], > category => "moby", > serviceType => "Retrieval", >); > die "Bad return value from registerService" unless $reg; > if ($reg->success == 1){ > print "Registration successful\n\n"; >} > else { > print "Registration failed: ", $reg->message, "\n"; > } >} > >There are more examples of perl registration code at >http://biomoby.org/moby-live/Perl/scripts/testMOBYClientCentral_v05.pl > > > >>2. Concerning the http://localhost:8080/axis/services/biomoby.services >> >> >>My understanding is , your class name is EchoXML, and RPC method is >>echoXMLString, which return a xml file following MOBY response policy (not >>in detail here). Is that right ? >> >> >> >> >Thats the idea. Sorry for leaving an unreachable URL up there - I guess >maybe that helped push Mark to put up the test central :) > > > >>3. In your June 9 email, >> >> >> >> >>>>Registration >>>>succeeds, but I can't get anything back from the service. >>>> >>>> >>>> >>>> >>Do you mean you when you query the service list, you can not find your >>registration? I succeed in register and query my registration using Sanger's >>MobyCmdLineClient.java. Could try it to see if it helps >> >> >> > I was actually using the wrong name.. You can register anything, there >is no error-checking for bad urls or method names at the time of >registration. So, if you put up an incorrect name you can see it, but >will get a service returned no response message when you try to access it. > > > >>>>wsdl generated by MobyCentral doesn't match the WSDL generated locally >>>> >>>> >>>> >>>> >> >>You list the WSDL file which I think got by >> >>http://localhost:8080/axis/services/YOURDEFINE?wsdl >> >> >>right? So Is that what your meaned "generated by MobyCentral" or "the WSDL >>generated locally" ? >> >> >> >> >This is what I mean by generated locally. If you check the wsdl coming >back from requests to moby central you will see a much stripped down >version of the wsdl supplied by axis. > >One of my goals for the next few weeks or so is to produce a complete >working example of an axis moby service that can be deployed in tomcat >immediately as a war file. Hopefully that will help get other newbie >java developers such as myself who are also new to web services and moby >up and running faster. > >I still have not convinced the sysadmin to open my tomcat port so can't >share my services just yet :( > >Hope that helps a bit, see also the mail from Viji. >-Ben > > > > >_______________________________________________ >moby-l mailing list >moby-l@biomoby.org >http://biomoby.org/mailman/listinfo/moby-l > >!!!!!!!!!!!!!!!! >To respond to this message you MUST send your response to (note new address!) > >markw_mobile2 at illuminae dot com > >Responses to the reply-to address go directly to trash! >!!!!!!!!!!!!!!!!!!!!!!!!!!!! > > > > From mwilkinson at mobile.rogers.com Wed Jun 16 22:13:44 2004 From: mwilkinson at mobile.rogers.com (mwilkinson) Date: Wed Jun 16 22:21:42 2004 Subject: [MOBY-l] registering an axis web service Message-ID: <200406170221.i5H2LdKr011005@portal.open-bio.org> Probably not a simple string. The problem is that we are passing "fully valid" XML messages inside a soap envelope, which is itself a fully valid XML message. The result is that you have an XML header isside of an XML message, and that is illegal XML. This is the reason that we base64 encode, or at a minimum escape the MOBY message - it cannot be passed verbatim because that makes the surrounding soap message invalid. M -----Original Message----- From: Benjamin Good Date: Thu, 17 Jun 2004 18:13:23 To:mwilkinson Cc:JYu@mail.brc.mcw.edu, moby-l@biomoby.org Subject: Re: [MOBY-l] registering an axis web service This seems to be the case when using the MobyRequest class from Paul. Seems like it should also be able to handle a simple string no? B mwilkinson wrote: >It should not be that base64 is *required* by moby. It is just an option. > >If the code is such that it is now required please say so, because that was not the intention! > >M > > >-----Original Message----- >From: Benjamin Good >Date: Thu, 17 Jun 2004 17:09:41 >To:Jiaming Yu , mobyl >Subject: Re: [MOBY-l] registering an axis web service > > > > > >>1. Concerning the service setting. How do you deploy your service in AXIS, >>could I get the code to deploy it on my local test? >> >> >> >> > >For the simplest possible service that I have got to work.., the clode >for the class is: > >public class AxisEcho { >// echo the request as a byte array - this will result in axis using >the base64 encoding type required by moby > public static byte[] echoByteArray(String xml_input) { > byte[] input_byte = xml_input.getBytes(); > return input_byte; > } >} > >Compile this and put the class file in the axis/WEB-INF/classes >directory. Then deploy it by writing a .wsdd file like this > >xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> > > > > > > >and deploy >java org.apache.axis.client.AdminClient my_deploy.wsdd > >next restart tomcat. > >next register the service. I've just been using the perl code to do >this although I know you can do it with Martin's java command line >client as well. > >Here is the relevant code: >sub register_service { >#$C is the moby-central instance > my $C = shift; > my $reg = $C->registerService( > serviceName => $sname, > authURI => $authURI, > contactEmail => $email, > description => "Another axis service for testing", > URL => $url, > input => [ ['', ["Object" => []]], ], > output => [ ['', ["Object" => []]], ], > category => "moby", > serviceType => "Retrieval", >); > die "Bad return value from registerService" unless $reg; > if ($reg->success == 1){ > print "Registration successful\n\n"; >} > else { > print "Registration failed: ", $reg->message, "\n"; > } >} > >There are more examples of perl registration code at >http://biomoby.org/moby-live/Perl/scripts/testMOBYClientCentral_v05.pl > > > >>2. Concerning the http://localhost:8080/axis/services/biomoby.services >> >> >>My understanding is , your class name is EchoXML, and RPC method is >>echoXMLString, which return a xml file following MOBY response policy (not >>in detail here). Is that right ? >> >> >> >> >Thats the idea. Sorry for leaving an unreachable URL up there - I guess >maybe that helped push Mark to put up the test central :) > > > >>3. In your June 9 email, >> >> >> >> >>>>Registration >>>>succeeds, but I can't get anything back from the service. >>>> >>>> >>>> >>>> >>Do you mean you when you query the service list, you can not find your >>registration? I succeed in register and query my registration using Sanger's >>MobyCmdLineClient.java. Could try it to see if it helps >> >> >> > I was actually using the wrong name.. You can register anything, there >is no error-checking for bad urls or method names at the time of >registration. So, if you put up an incorrect name you can see it, but >will get a service returned no response message when you try to access it. > > > >>>>wsdl generated by MobyCentral doesn't match the WSDL generated locally >>>> >>>> >>>> >>>> >> >>You list the WSDL file which I think got by >> >>http://localhost:8080/axis/services/YOURDEFINE?wsdl >> >> >>right? So Is that what your meaned "generated by MobyCentral" or "the WSDL >>generated locally" ? >> >> >> >> >This is what I mean by generated locally. If you check the wsdl coming >back from requests to moby central you will see a much stripped down >version of the wsdl supplied by axis. > >One of my goals for the next few weeks or so is to produce a complete >working example of an axis moby service that can be deployed in tomcat >immediately as a war file. Hopefully that will help get other newbie >java developers such as myself who are also new to web services and moby >up and running faster. > >I still have not convinced the sysadmin to open my tomcat port so can't >share my services just yet :( > >Hope that helps a bit, see also the mail from Viji. >-Ben > > > > >_______________________________________________ >moby-l mailing list >moby-l@biomoby.org >http://biomoby.org/mailman/listinfo/moby-l > >!!!!!!!!!!!!!!!! >To respond to this message you MUST send your response to (note new address!) > >markw_mobile2 at illuminae dot com > >Responses to the reply-to address go directly to trash! >!!!!!!!!!!!!!!!!!!!!!!!!!!!! > > > > !!!!!!!!!!!!!!!! To respond to this message you MUST send your response to (note new address!) markw_mobile2 at illuminae dot com Responses to the reply-to address go directly to trash! !!!!!!!!!!!!!!!!!!!!!!!!!!!! From gordonp at cbr.nrc.ca Thu Jun 17 11:58:06 2004 From: gordonp at cbr.nrc.ca (Paul Gordon) Date: Thu Jun 17 12:00:50 2004 Subject: [MOBY-l] registering an axis web service In-Reply-To: <40D15FD5.3080408@sfu.ca> References: <295CC5EB4257D411B34D00D0B7748F4432E08B@baldar.brc.mcw.edu> <40D15FD5.3080408@sfu.ca> Message-ID: <40D1BF8E.7080309@cbr.nrc.ca> On another note, I will be commiting in the next couple of weeks the ability to construct complex MobyDataInstances from simples such as MobyDataFloat, etc.. So no Java users will have to write XML at all. If we combine this will a .war example, that'll rock! From sylvester_26 at yahoo.com Sun Jun 20 23:31:30 2004 From: sylvester_26 at yahoo.com (Gerald Sylvester) Date: Sun Jun 20 23:34:10 2004 Subject: [MOBY-l] Help on writing .NET client for Moby services Message-ID: <20040621033130.91802.qmail@web11603.mail.yahoo.com> Hello Everybody, Greetings from Gerard. I am new to BioMoby Project. I am interested in writing a .NET client for all possible BioMoby services, but 'am faced with certain difficulties. I would be glad if you could assist me in this endevour. (1) How do I access the Moby Central from my .NET client and generate the WSDL file, does the services registered there use the .asmx file extension? (2) I need to get the WSDL file inorder to write the client code for that particular webservice. Thanks a lot, Gerard Sylvester. __________________________________ Do you Yahoo!? Take Yahoo! Mail with you! Get it on your mobile phone. http://mobile.yahoo.com/maildemo From markw at illuminae.com Mon Jun 21 11:47:18 2004 From: markw at illuminae.com (Mark Wilkinson) Date: Mon Jun 21 11:51:24 2004 Subject: [MISC] [MOBY-l] Help on writing .NET client for Moby services In-Reply-To: <20040621033130.91802.qmail@web11603.mail.yahoo.com> References: <20040621033130.91802.qmail@web11603.mail.yahoo.com> Message-ID: <1087832838.1999.30.camel@myhost.mydomain> On Sun, 2004-06-20 at 20:31, Gerald Sylvester wrote: > Greetings from Gerard. Hi Gerard! > (1) How do I access the Moby Central from my .NET > client and generate the WSDL file, does the services > registered there use the .asmx file extension? Could you clarify which WSDL file you require - a WSDL representing MOBY Central, or a WSDL representing the service you wish to invoke? Services don't use any predictable file extension, and may or may not use a file extension at all. > (2) I need to get the WSDL file inorder to write the > client code for that particular webservice. Which parts of the WSDL are important to you? If it is just the endpoints, then you can get sufficiently complex WSDL from the MOBY Central retrieveService call. If you need the XSD describing service inputs/outputs, then... you are out of luck... unless you want to write the code that generates it ;-) The *actual* input/output structure of a service is relatively unpredictable, but it is predictable enough to build a client/service around. Since we use an ontology of data-types, and the ontology dictates the XML structure, we can rely on the XML being *at least* as complex as that described by the ontology node that is registered in MOBY Central as the input or output for that service. However, it may be even more complex (hence it is very difficult to write a valid WSDL document describing the service...). Regardless, if you use an XML parser to reach into the XML you receive, based on the ontology node you are expecting, and pull out the various nodes that should be there, you will find that they are there. If you are a particularly clever client, you can try to make sense of the entire message, but you do not need to do so. Having said that, the fact that your client cannot make sense of a message does not stop you from passing this message on to another service provider who claims to be able to do something with it! Hence, pipelining is not thwarted by the clients inability to make sense of things... M -- Mark Wilkinson (mwilkinson@mrl.ubc.ca) University of British Columbia iCAPTURE Centre From senger at ebi.ac.uk Mon Jun 21 14:14:39 2004 From: senger at ebi.ac.uk (Martin Senger) Date: Mon Jun 21 14:17:32 2004 Subject: [MISC] [MOBY-l] Help on writing .NET client for Moby services In-Reply-To: <1087832838.1999.30.camel@myhost.mydomain> Message-ID: > Could you clarify which WSDL file you require - a WSDL representing MOBY > Central, or a WSDL representing the service you wish to invoke? > In case you require a WSDL representing MOBY Central (which I do not think it is the case, btw) I can help you by converting a Java interface (Central.java) into a WSDL. The Central.java represents all functionality of a MOBY Central (and for your purpose it does not matter in which language it is expressed). > Services don't use any predictable file extension, and may or may not > use a file extension at all. > Mark, I think it depends on the language of implementation. Some implementations, such as .net, use their specific extensions. For example, the extension .asmx is used as explained here: "... When you create an XML Web service in ASP.NET, you place the required @ WebService directive at the top of a text file with an .asmx file name extension. The presence of the .asmx file and the @ WebService directive correlate the URL address of the XML Web service with its implementation..." Just my 2c's, Martin -- Martin Senger EMBL Outstation - Hinxton Senger@EBI.ac.uk European Bioinformatics Institute Phone: (+44) 1223 494636 Wellcome Trust Genome Campus (Switchboard: 494444) Hinxton Fax : (+44) 1223 494468 Cambridge CB10 1SD United Kingdom http://industry.ebi.ac.uk/~senger From markw at illuminae.com Mon Jun 21 14:23:15 2004 From: markw at illuminae.com (Mark Wilkinson) Date: Mon Jun 21 14:27:18 2004 Subject: [MISC] [MOBY-l] Help on writing .NET client for Moby services In-Reply-To: References: Message-ID: <1087842195.2000.58.camel@myhost.mydomain> On Mon, 2004-06-21 at 11:14, Martin Senger wrote: > > Services don't use any predictable file extension, and may or may not > > use a file extension at all. > > > Mark, I think it depends on the language of implementation. Some > implementations, such as .net, use their specific extensions. For example, > the extension .asmx is used as explained here: What does the word "Services" mean in this sentence? Does it mean the name of the method being called, or the name of the SOAP listener script that serves that method, or the name of the WSDL file, or...?? M -- Mark Wilkinson (mwilkinson@mrl.ubc.ca) University of British Columbia iCAPTURE Centre From senger at ebi.ac.uk Mon Jun 21 14:28:18 2004 From: senger at ebi.ac.uk (Martin Senger) Date: Mon Jun 21 14:30:59 2004 Subject: [MISC] [MOBY-l] Help on writing .NET client for Moby services In-Reply-To: <1087842195.2000.58.camel@myhost.mydomain> Message-ID: > What does the word "Services" mean in this sentence? Does it mean the > name of the method being called, or the name of the SOAP listener script > that serves that method, or the name of the WSDL file, or...?? > I think the extension refers to the implementation of a web service. I think it is nothing you would need to know when you call such service. It is like all your services (probably) have an extension .pl (but, of course, I may be completely wrong not knowing enough about .net). Martin -- Martin Senger EMBL Outstation - Hinxton Senger@EBI.ac.uk European Bioinformatics Institute Phone: (+44) 1223 494636 Wellcome Trust Genome Campus (Switchboard: 494444) Hinxton Fax : (+44) 1223 494468 Cambridge CB10 1SD United Kingdom http://industry.ebi.ac.uk/~senger From markw at illuminae.com Mon Jun 21 14:47:38 2004 From: markw at illuminae.com (Mark Wilkinson) Date: Mon Jun 21 14:51:42 2004 Subject: [MISC] [MOBY-l] Help on writing .NET client for Moby services In-Reply-To: References: Message-ID: <1087843658.3732.6.camel@myhost.mydomain> Well... my own listener has (I think) an extension .cgi, but the one that I run on my local machine has no extension at all, so I don't think it is something we can (or should) predict or enforce. In light of the trend toward SWebby/RESTy type URL's, I am tending to leave extensions off of my new web scripts. I think this brings us back to my original answer to Gerald's question, which is 'we do not regulate the presence, absence, or type of extension used by moby service providers.' M On Mon, 2004-06-21 at 11:28, Martin Senger wrote: > > What does the word "Services" mean in this sentence? Does it mean the > > name of the method being called, or the name of the SOAP listener script > > that serves that method, or the name of the WSDL file, or...?? > > > I think the extension refers to the implementation of a web service. I > think it is nothing you would need to know when you call such > service. It is like all your services (probably) have an extension .pl > (but, of course, I may be completely wrong not knowing enough about .net). > > Martin -- Mark Wilkinson (mwilkinson@mrl.ubc.ca) University of British Columbia iCAPTURE Centre From barbara.re at studenti.unicam.it Wed Jun 23 04:46:12 2004 From: barbara.re at studenti.unicam.it (RE BARBARA) Date: Wed Jun 23 04:48:46 2004 Subject: [MOBY-l] Request about WSDL Message-ID: <1087980372.40d943546a19d@mail.studenti.unicam.it> Hi, Would I like to know how to get the WSDL of BIOMOBY and that of the single services recorded in it? Thanks, Barbara From senger at ebi.ac.uk Wed Jun 23 12:53:00 2004 From: senger at ebi.ac.uk (Martin Senger) Date: Wed Jun 23 12:55:36 2004 Subject: [MOBY-l] Request about WSDL In-Reply-To: <1087980372.40d943546a19d@mail.studenti.unicam.it> Message-ID: > Would I like to know how to get the WSDL of BIOMOBY and that of the single > services recorded in it? > 1) The WSDL of BioMoby (meaning a WSDL of a Moby registry) does not exists - but can be easily created from (for example) the Java interface Central.java, using Axis tool Java2WSDL. If you need it and if you do not know how to use this tool, let me know, I can help. 2) For individual services (assuming that you are aware of the limitations of such WSDLs - see many emails in this list, and also Moby API doc), you may use (again, for example) a Java client which is available in the Java directory of your locxal CVS copy of moby-live. Type this (put there, of course service name and authority you are interested in): ./run-cmdline-client -wsdl plantspGetRNA,www.sdsc.edu Regards, Martin -- Martin Senger EMBL Outstation - Hinxton Senger@EBI.ac.uk European Bioinformatics Institute Phone: (+44) 1223 494636 Wellcome Trust Genome Campus (Switchboard: 494444) Hinxton Fax : (+44) 1223 494468 Cambridge CB10 1SD United Kingdom http://industry.ebi.ac.uk/~senger From suzi at fruitfly.org Tue Jun 1 19:42:26 2004 From: suzi at fruitfly.org (Suzanna Lewis) Date: Tue, 01 Jun 2004 16:42:26 -0700 Subject: [MOBY-l] [Fwd: [Bdgp-local] Genome Informatics Meeting] Message-ID: <40BD1462.70102@fruitfly.org> The fourth Cold Spring Harbor Laboratory/Wellcome Trust conference on Genome Informatics will be held at the Wellcome Trust Conference Centre on the Wellcome Trust Genome Campus in Hinxton, UK. The meeting will begin on the evening of Wednesday September 22, and finish after lunch on Sunday, September 26, 2004. _______________________________________________ From a.garcia at imb.uq.edu.au Wed Jun 2 03:46:54 2004 From: a.garcia at imb.uq.edu.au (a.garcia@imb.uq.edu.au) Date: Wed, 02 Jun 2004 17:46:54 +1000 Subject: [MOBY-l] ontology Message-ID: About Mark's email regarding an ontology for analytical methods in bioinformatics. I am here presenting some comments, hope they are useful. An ontology for analytical methods in bioinformatics should ideally allow the discovery of web services from the conceptual domain and not from the operational domain; the same being true for those cases where users wish to define workflows. Ideally the users should be able to define an analysis, independently of whether this is a single step or a workflow; a simple example would be clustal/puzzle clustal/ednadist/ Eneigbor// Econsense clustal/< > .These are three different cases of estimating and realizing phylogenies by executing the three main phylogenetic methods: distance, parsimony and maximum likelihood. They may be semantically equivalent, but are syntactically different. Some of the reasons for having an ontology are explained at http://protege.stanford.edu/publications/ontology_development/ontology101.pdf The role of the ontology should be to effectively identify these kinds of scenarios. Bioinformatic analytical methods should be classified according to their conceptual value. Classes (concepts) are a part of the ontology, properties for each concept describing various features and attributes of the concepts (slots, sometimes called roles or properties). A good example is given in the Protege manual. In my view concepts are terms such as alignment, from the properties (slots) the ontology should enable an identification or at least provide guidance regarding which alignment method to use depending on the case (input). Perhaps I misunderstand the structure presented in the email, but following that structure may lead to an ambiguous final result. Is it necessary to include concepts such as: protein database (is-a) + databases connecting other databases (is-a)? This ontology should be about analytical methods so is it necessary to include databases? Perhaps those are two different domains. Analytical methods are one thing and databases are another different thing, aren't they? This structure slightly resembles the taxonomy of analytical methods over which EMBOSS relies. But a taxonomy is not an ontology. Analytical methods are always implementations aren't they? I mean if they are not implemented then they are not available as web services. Perhaps the case of multiple implementations like BLAST (described by the author of the email) may be resolved by using the concept of the implementation as the class, for those cases where the same implementation has several concepts slots should be able to resolve the ambiguity. I am/was working on an ontology for analytical methods, I am working with Protegue, and basically I am using bio-catalog as a starting point. The key issue here is that biomoby requires an ontology for web services, which is different from an ontology for analytical methods (I guess). Well these were just some comments I hope you find them useful. From bmg at sfu.ca Wed Jun 2 04:40:50 2004 From: bmg at sfu.ca (Benjamin Good) Date: Wed, 02 Jun 2004 16:40:50 +0800 Subject: [MOBY-l] Java implemenation on Axis&In-Reply-To=s098f337.011@gw.svsu.edu In-Reply-To: References: Message-ID: <40BD9292.9020506@sfu.ca> Hello Il-Hyung Cho, I have reached this point as well - installed axis and got their examples working. Did you make it to the next step? Did you get an example moby service working? I'm guessing that there aren't any examples/tutorials on deploying a moby java service because the principle devlopers aren't finished with some core chunks of code. Nonetheless, perhaps some one out there could post an example using what is currently available? thanks -Ben Il-Hyung Cho wrote: >Hello Viji, > >Here's what I have done successfully: >1. Installed Tomcat, Axis, jdk, mysql, ... >2. Ran over Axis user guide and successfully followed their examples >(in sample.userguide.example1~6). >3. Went over the Axis tutorial provided in www.ammal.com. >4. Implemeted a simple mysql access example by > - setting up a simple database (not bioinformatics data) using >mysql > - providing a simple query server on axis > - running a client sending a query to the server and receiving the >result > >So, I think I basically went over most features needed in web services, >but what I am still not sure about is how to register my service to moby >so that clients can send inquiry to moby central and get the link to my >service. >Do my service have to be bioinformatics application? I am not a >bioinformatist, but just tring to see how biomoby works. Once I get my >simple service running on Moby, I can help my fellow bioinfomatist setup >their applications on Moby. > >So far, I haven't been able to find a step by step procedure/tutorial >to register a service in Java to BioMoby. > >Many thanks, > >Il-Hyung Cho >_______________________________________________ >moby-l mailing list >moby-l at biomoby.org >http://biomoby.org/mailman/listinfo/moby-l > > > > From p.lord at russet.org.uk Wed Jun 2 06:16:40 2004 From: p.lord at russet.org.uk (Phillip Lord) Date: 02 Jun 2004 11:16:40 +0100 Subject: [MOBY-l] ontology In-Reply-To: References: Message-ID: >>>>> "A.Garcia" == writes: A.Garcia> Ideally the users should be able to define an analysis, A.Garcia> independently of whether this is a single step or a A.Garcia> workflow; Well, I would agree with this. But at the current time, biomoby doesn't have explicit support for workflows, so you'd just have to register them as a service; the fact they are workflows would be implementation. A.Garcia> This ontology should be about analytical methods so is it A.Garcia> necessary to include databases? Perhaps those are two A.Garcia> different domains. Analytical methods are one thing and A.Garcia> databases are another different thing, aren't they? It depends on what you want to do. I think you have to talk about databases to be useful. So, for example, I can provide ten web services offering a BLAST search; which database they search over is clearly a critical issue for their discover. Now, in some cases, the analysis tool and the database are linked; interproscan works over interpro and nothing else. So there it doesn't matter. Cheers Phil From gordonp at cbr.nrc.ca Wed Jun 2 09:28:56 2004 From: gordonp at cbr.nrc.ca (Paul Gordon) Date: Wed, 02 Jun 2004 07:28:56 -0600 Subject: [MOBY-l] Java implemenation on Axis&In-Reply-To=s098f337.011@gw.svsu.edu In-Reply-To: <40BD9292.9020506@sfu.ca> References: <40BD9292.9020506@sfu.ca> Message-ID: <40BDD618.7070108@cbr.nrc.ca> Benjamin Good wrote: > Hello Il-Hyung Cho, > > I have reached this point as well - installed axis and got their > examples working. Did you make it to the next step? Did you get an > example moby service working? > > I'm guessing that there aren't any examples/tutorials on deploying a > moby java service because the principle devlopers aren't finished with > some core chunks of code. Nonetheless, perhaps some one out there > could post an example using what is currently available? I suppose now that since the request and reply have exactly the same format, it would make sense to use the code in MobyRequest to parse the request and generate the response (and probably rename MobyRequest to MobyPeerTransactor or something). We'll need to add a method that instead of invoking a SOAP session, responds to one... From mwilkinson at mrl.ubc.ca Thu Jun 3 18:21:08 2004 From: mwilkinson at mrl.ubc.ca (Mark Wilkinson) Date: Thu, 03 Jun 2004 15:21:08 -0700 Subject: [MOBY-l] Bug Reports now accepted Message-ID: <1086301268.8080.13.camel@myhost.mydomain> Hi all, Someone (I forget who) requested a more formal bug-reporting procedure for the MOBY project, and that is now done. We're piggybacking on the open-bio "bugzilla" reporting system, and have our own little piece of that pie. I've set up a few slots for various MOBY-S components (Damian, please go ahead and set up whatever slots you wish). If you click on the new "BUGS" link on the homepage it will take you to the bug reporting/browsing page where you can submit your bug report and follow its progress to being squashed. Hopefully this will help us keep track of what still needs to be written/fixed, and give others incentive to jump in a do some bug-squashing themselves :-) Cheers all! M -- Mark Wilkinson (mwilkinson at mrl.ubc.ca) University of British Columbia iCAPTURE Centre From gordonp at cbr.nrc.ca Thu Jun 3 19:08:21 2004 From: gordonp at cbr.nrc.ca (Paul Gordon) Date: Thu, 03 Jun 2004 17:08:21 -0600 Subject: [MOBY-l] Bug Reports now accepted In-Reply-To: <1086301268.8080.13.camel@myhost.mydomain> References: <1086301268.8080.13.camel@myhost.mydomain> Message-ID: <40BFAF65.9070507@cbr.nrc.ca> It is also worth noting that Bugzilla can be used to track "Enhancements", not just bugs. It also has a built-in bug voting system, so we can used it to track what users and developers are clamouring for in terms of new features, and what bugs bug them most. You don't have to be a developer to use Bugzilla, don't be afraid! > If you click on the new >"BUGS" link on the homepage it will take you to the bug >reporting/browsing page where you can submit your bug report and follow >its progress to being squashed. Hopefully this will help us keep track >of what still needs to be written/fixed, and give others incentive to >jump in a do some bug-squashing themselves :-) > >Cheers all! > >M > > > From letondal at pasteur.fr Fri Jun 4 05:41:28 2004 From: letondal at pasteur.fr (Catherine Letondal) Date: Fri, 04 Jun 2004 11:41:28 +0200 Subject: [MOBY-l] ontology In-Reply-To: Your message of "Wed, 02 Jun 2004 17:46:54 +1000." Message-ID: <200406040941.i549fSWR111111@electre.pasteur.fr> Hi, a.garcia at imb.uq.edu.au wrote: > About Mark's email regarding an ontology for analytical > methods in bioinformatics. I am here presenting some > comments, hope they are useful. > > An ontology for analytical methods in bioinformatics > should ideally allow the discovery of web services from > the conceptual domain and not from the operational domain; > the same being true for those cases where users wish to > define workflows. Ideally the users should be able to > define an analysis, independently of whether this is a > single step or a workflow; a simple example would be > clustal/puzzle clustal/ednadist/ Eneigbor// Econsense > clustal/< > .These are three different cases of > estimating and realizing phylogenies by executing the > three main phylogenetic methods: distance, parsimony and > maximum likelihood. They may be semantically equivalent, They are not semantically equivalent *at all*, but they can be classified together. > but are syntactically different. Some of the reasons for > having an ontology are explained at > http://protege.stanford.edu/publications/ontology_development/ontology101.pdf > > The role of the ontology should be to effectively identify > these kinds of scenarios. Bioinformatic analytical methods > should be classified according to their conceptual value. > Classes (concepts) are a part of the ontology, properties > for each concept describing various features and > attributes of the concepts (slots, sometimes called roles > or properties). A good example is given in the Protege > manual. In my view concepts are terms such as alignment, > from the properties (slots) the ontology should enable an > identification or at least provide guidance regarding > which alignment method to use depending on the case > (input). > > Perhaps I misunderstand the structure presented in the > email, but following that structure may lead to an > ambiguous final result. Is it necessary to include > concepts such as: protein database (is-a) + > databases connecting other databases (is-a)? This ontology > should be about analytical methods so is it necessary to > include databases? Perhaps those are two different > domains. Analytical methods are one thing and databases > are another different thing, aren't they? This structure > slightly resembles the taxonomy of analytical methods over > which EMBOSS relies. But a taxonomy is not an ontology. > > Analytical methods are always implementations aren't they? > I mean if they are not implemented then they are not > available as web services. Perhaps the case of multiple > implementations like BLAST (described by the author of the > email) may be resolved by using the concept of the > implementation as the class, for those cases where the > same implementation has several concepts slots should be > able to resolve the ambiguity. > > I am/was working on an ontology for analytical methods, > I am working with Protegue, and basically I am using > bio-catalog as a starting point. The key issue here is > that biomoby requires an ontology for web services, which > is different from an ontology for analytical methods (I > guess). What is the difference? -- Catherine Letondal -- Pasteur Institute Computing Center From simont at mcw.edu Fri Jun 4 13:49:30 2004 From: simont at mcw.edu (Simon Twigger) Date: Fri, 4 Jun 2004 12:49:30 -0500 Subject: [MOBY-l] ontology In-Reply-To: <200406040941.i549fSWR111111@electre.pasteur.fr> References: <200406040941.i549fSWR111111@electre.pasteur.fr> Message-ID: <87A0845A-B64F-11D8-A4A8-000A959D1D82@mcw.edu> On Jun 4, 2004, at 4:41 AM, Catherine Letondal wrote: > > Hi, > >> >> I am/was working on an ontology for analytical methods, >> I am working with Protegue, and basically I am using >> bio-catalog as a starting point. The key issue here is >> that biomoby requires an ontology for web services, which >> is different from an ontology for analytical methods (I >> guess). > > What is the difference? > I think the difference is that the service ontology needs to describe any service that BioMOBY might want to access, some (most) of these will be analytical methods but not all. Its possible that an analytical method ontology might fit directly into a branch of a service ontology but then again it might not, it all depends on what the analytical method ontology is designed to achieve. The first attempt at a more expansive MOBY service ontology that Ive put together has branches along these lines. Its in the CVS but the commit of the PNG didnt seem to work. Here's the image of the graph via http: http://castor.brc.mcw.edu/~simont/Moby_Service_Ontology.png Please note - this has lots of issues, feel free to suggest improvements, modifications, etc. I had been looking at Emboss/Pise as a list of current services and methods with the goal of trying to categorize them in some sensible way. I hadnt looked at Bio-Catalog but will do so. Mr/Ms Garcia, can I have a look at the analytical method ontology that you have created so far? Simon. -- Simon N. Twigger, Ph.D. Assistant Professor, Department of Physiology Medical College of Wisconsin 8701 Watertown Plank Road, Milwaukee, WI, USA tel: 414-456-8802 fax: 414-456-6595 AIM/iChat: simontatmcw From p.lord at russet.org.uk Mon Jun 7 06:02:30 2004 From: p.lord at russet.org.uk (Phillip Lord) Date: 07 Jun 2004 11:02:30 +0100 Subject: [MOBY-l] ontology In-Reply-To: <87A0845A-B64F-11D8-A4A8-000A959D1D82@mcw.edu> References: <200406040941.i549fSWR111111@electre.pasteur.fr> <87A0845A-B64F-11D8-A4A8-000A959D1D82@mcw.edu> Message-ID: >>>>> "Simon" == Simon Twigger writes: Simon> On Jun 4, 2004, at 4:41 AM, Catherine Letondal wrote: Simon> The first attempt at a more expansive MOBY service ontology Simon> that Ive put together has branches along these lines. Its in Simon> the CVS but the commit of the PNG didnt seem to work. Here's Simon> the image of the graph via http: Simon> http://castor.brc.mcw.edu/~simont/Moby_Service_Ontology.png Just out of interest, how is the relationship between the service ontology and the object ontology being expressed? Phil From p.lord at russet.org.uk Mon Jun 7 11:50:37 2004 From: p.lord at russet.org.uk (Phillip Lord) Date: 07 Jun 2004 16:50:37 +0100 Subject: [MOBY-l] ontology In-Reply-To: References: <200406040941.i549fSWR111111@electre.pasteur.fr> <87A0845A-B64F-11D8-A4A8-000A959D1D82@mcw.edu> Message-ID: >>>>> "Simon" == Simon Twigger writes: Simon> As I got more idea of how Owl works, my thought was that the Simon> object ontology might be another branch of a moby Simon> 'uber-ontology' structure so that services could have an Simon> input and output properties which could be filled by classes Simon> from the object ontology branch. This certainly makes sense, and is effectively what we do within mygrid. Simon> By appropriately defining the service classes in the ontology Simon> in terms of input and output objects from the object ontology Simon> we could then reason over structure and generate a reasoned Simon> version that would put services in all the appropriate Simon> places, rather than the one place we currently use. I think Simon> this is more S-MOBY territory but would make service Simon> discovery more flexible and dynamic - users would register a Simon> service in terms of input and output objects (as they do now) Simon> and the service ontology would then classify the service into Simon> the appropriate type(s) for discovery. Well, whether you need reasoning to do this or not depends on the complexity of the definitions of types that you want. If you want to allow fully OWL(-DL) expressive queries, then you will need reasoning. If you want simpler things where, for instance, the inputs and outputs are explicit named classes already in the ontology (rather than OWL Class expressions) then you can probably make things simpler. Either way, within mygrid, we have code base which may be of use in helping to implement this sort of search backend. Simon> The object branch in the service ontology file was my attempt Simon> to explore how this might work in OWL by defining input and Simon> output properties for services and seeing if I could fill Simon> them with objects and have the reasoner behave as expected. I Simon> should probably prune that from the public version and just Simon> work on classifying the services so things don't get unduly Simon> complicated at this stage. I think this is a good way to go Simon> but we should make some executive decisions balancing this Simon> type of development vs getting something useable in a Simon> reasonable timeframe. Well, you need to be reasonably sure of your search technology (that is the expressivity of your queries), if you are going to judge usability. One of the reasons, for example, we stopped using reasoning at run time in mygrid was the simple fact that we didn't have any cute GUI's for forming complex queries... Cheers Phil From simont at aa9pw.com Mon Jun 7 09:58:25 2004 From: simont at aa9pw.com (Simon Twigger) Date: Mon, 7 Jun 2004 08:58:25 -0500 Subject: [MOBY-l] ontology In-Reply-To: References: <200406040941.i549fSWR111111@electre.pasteur.fr> <87A0845A-B64F-11D8-A4A8-000A959D1D82@mcw.edu> Message-ID: Hi Phil, The object ontology 'stub' that is in there was more of an experiment and is somewhat outside of the original scope of what we had discussed at the MOBY developers meeting. In trying to fit the services into categories it became obvious that many services could live in multiple categories and that its somewhat artificial to pigeon-hole them into a single category as we currently do (but the current 6 term ontology is so limited this isnt really an issue). As I got more idea of how Owl works, my thought was that the object ontology might be another branch of a moby 'uber-ontology' structure so that services could have an input and output properties which could be filled by classes from the object ontology branch. By appropriately defining the service classes in the ontology in terms of input and output objects from the object ontology we could then reason over structure and generate a reasoned version that would put services in all the appropriate places, rather than the one place we currently use. I think this is more S-MOBY territory but would make service discovery more flexible and dynamic - users would register a service in terms of input and output objects (as they do now) and the service ontology would then classify the service into the appropriate type(s) for discovery. The object branch in the service ontology file was my attempt to explore how this might work in OWL by defining input and output properties for services and seeing if I could fill them with objects and have the reasoner behave as expected. I should probably prune that from the public version and just work on classifying the services so things don't get unduly complicated at this stage. I think this is a good way to go but we should make some executive decisions balancing this type of development vs getting something useable in a reasonable timeframe. Simon. On Jun 7, 2004, at 5:02 AM, Phillip Lord wrote: >>>>>> "Simon" == Simon Twigger writes: > > Simon> On Jun 4, 2004, at 4:41 AM, Catherine Letondal wrote: > > Simon> The first attempt at a more expansive MOBY service ontology > Simon> that Ive put together has branches along these lines. Its in > Simon> the CVS but the commit of the PNG didnt seem to work. Here's > Simon> the image of the graph via http: > > > Simon> http://castor.brc.mcw.edu/~simont/Moby_Service_Ontology.png > > > > Just out of interest, how is the relationship between the service > ontology and the object ontology being expressed? > > Phil > _______________________________________________ > moby-l mailing list > moby-l at biomoby.org > http://biomoby.org/mailman/listinfo/moby-l > > -- Simon N. Twigger, Ph.D. Assistant Professor, Department of Physiology Medical College of Wisconsin 8701 Watertown Plank Road, Milwaukee, WI, USA tel: 414-456-8802 fax: 414-456-6595 AIM/iChat: simontatmcw From bmg at sfu.ca Wed Jun 9 14:54:46 2004 From: bmg at sfu.ca (Benjamin Good) Date: Thu, 10 Jun 2004 02:54:46 +0800 Subject: [MOBY-l] registering an axis web service Message-ID: <40C75CF6.7090504@sfu.ca> Dear list, I have developed a moby-compliant web service using Java Axis. How can I register this with MobyCentral? I've tried using a perl method like below, but can't seem to get it quite right. Registration succeeds, but I can't get anything back from the service. Also the wsdl generated by MobyCentral doesn't match the WSDL generated locally. sub register_service { #$C is the moby-central instance my $C = shift; my $reg = $C->registerService( serviceName => echoXMLStringRequest, authURI => 127.0.0.1, contactEmail => bmg at sfu.ca, description => "An axis service for testing", URL => http://localhost:8080/axis/services/, input => [ ['', ["Object" => []]], ], output => [ ['', ["Object" => []]], ], category => "moby", serviceType => "Retrieval", ); die "Bad return value from registerService" unless $reg; if ($reg->success == 1){ print "Registration successful\n\n"; } else { print "Registration failed: ", $reg->message, "\n"; } } Here is the WSDL generated when I run it (successfully) from a non-moby java client thanks for any ideas -Ben From bmg at sfu.ca Wed Jun 9 17:07:38 2004 From: bmg at sfu.ca (Benjamin Good) Date: Thu, 10 Jun 2004 05:07:38 +0800 Subject: [MOBY-l] registering an axis web service In-Reply-To: <40C6FB46.7030003@gsf.de> References: <40C75CF6.7090504@sfu.ca> <40C6FB46.7030003@gsf.de> Message-ID: <40C77C1A.8090503@sfu.ca> Hi Rebecca, Thanks for your quick reply. At the moment I am working behind a firewall that prevents Canada Moby from accessing the methods on my machine, but I've been successfully testing on a local central. It seems that the problem that I was having was just getting the name of the container for my service correct...:( I had created a package called biomoby.services and placed my EchoXML class inside it. I got it running by setting the URL for the service to point at the package: http://localhost:8080/axis/services/biomoby.services and the name for the service to the name of the method: echoXMLString For others who might be as unfamiliar with axis as I am it is quite handy to simply check what services and methods are actually avaliable on your machine by pointing a web browser at http://localhost:8080/axis/services Sorry for the beginner mistake, may this post help another beginner somewhere! cheers -Ben Rebecca Ernst wrote: > Hi Ben! > > what exactly so you mean with 'not getting anything back from the > service'? > > I would try it like this: > > register it (what you obviously did) with moby central Canada > then you should be able to retrieve the service with the canadian > client (I just checked but i couldn't find your service?) > try to execute it there > do you then get back 'service not available' ? > > This is how we registered one of Viji's axis services: > > #!/usr/local/perl-5.6.1/bin/perl > use MOBY::Client::Central; > use MOBY::Client::Service; > > my $C = MOBY::Client::Central->new(); > $REG = $C->registerService( > serviceName => "getTestMessage", > serviceType => "Retrieval", > authURI => "mips.gsf.de", > contactEmail=> 'viji at gsf.de', > description => 'takes a object and returns a string', > category => 'moby', > URL => 'http://146.107.217.144/axis/services/TestAxis', > input => [ > [undef,['Object', ['Global_Keyword']]] > ], > output => [ > [undef,['String', ['Global_Keyword']]] > ] > ); > print $REG->message; > > > Cheers, > Rebecca > > > > Benjamin Good wrote: > >> >> Dear list, >> >> I have developed a moby-compliant web service using Java Axis. How >> can I register this with MobyCentral? I've tried using a perl method >> like below, but can't seem to get it quite right. Registration >> succeeds, but I can't get anything back from the service. Also the >> wsdl generated by MobyCentral doesn't match the WSDL generated locally. >> >> sub register_service { >> #$C is the moby-central instance >> my $C = shift; >> my $reg = $C->registerService( >> serviceName => echoXMLStringRequest, >> authURI => 127.0.0.1, >> contactEmail => bmg at sfu.ca, >> description => "An axis service for testing", >> URL => http://localhost:8080/axis/services/, >> input => [ ['', ["Object" => []]], ], >> output => [ ['', ["Object" => []]], ], >> category => "moby", >> serviceType => "Retrieval", >> ); >> die "Bad return value from registerService" unless $reg; >> if ($reg->success == 1){ >> print "Registration successful\n\n"; >> } >> else { >> print "Registration failed: ", $reg->message, "\n"; >> } >> } >> >> Here is the WSDL generated when I run it (successfully) from a >> non-moby java client >> >> >> > xmlns:impl="urn:biomoby.services" xmlns:intf="urn:biomoby.services" >> xmlns:apachesoap="http://xml.apache.org/xml-soap" >> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" >> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" >> xmlns:xsd="http://www.w3.org/2001/XMLSchema" >> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" >> xmlns="http://schemas.xmlsoap.org/wsdl/"> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> > message="impl:echoXMLStringRequest"/> >> >> > message="impl:echoXMLStringResponse"/> >> >> >> >> >> >> >> >> > transport="http://schemas.xmlsoap.org/soap/http"/> >> >> >> >> >> >> >> >> > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" >> namespace="urn:biomoby.services"/> >> >> >> >> >> >> > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" >> namespace="urn:biomoby.services"/> >> >> >> >> >> >> >> >> >> >> > binding="impl:biomoby.servicesSoapBinding"> >> >> > location="http://localhost:8080/axis/services/biomoby.services"/> >> >> >> >> >> >> >> >> thanks for any ideas >> -Ben >> >> >> >> _______________________________________________ >> moby-l mailing list >> moby-l at biomoby.org >> http://biomoby.org/mailman/listinfo/moby-l >> >> > From markw at illuminae.com Wed Jun 9 11:39:17 2004 From: markw at illuminae.com (Mark Wilkinson) Date: Wed, 09 Jun 2004 08:39:17 -0700 Subject: [MOBY] [MOBY-l] registering an axis web service In-Reply-To: <40C75CF6.7090504@sfu.ca> References: <40C75CF6.7090504@sfu.ca> Message-ID: <1086795557.5937.16.camel@myhost.mydomain> Just as an aside to this - I have a student, Eddie, who is currently writing GUI's to assist in object creation, object browsing, and service registration. These should be finished in a few weeks, so this whole process will get much easier soon! M On Wed, 2004-06-09 at 11:54, Benjamin Good wrote: > Dear list, > > I have developed a moby-compliant web service using Java Axis. How can > I register this with MobyCentral? I've tried using a perl method like > below, but can't seem to get it quite right. Registration succeeds, > but I can't get anything back from the service. Also the wsdl generated > by MobyCentral doesn't match the WSDL generated locally. > > sub register_service { > #$C is the moby-central instance > my $C = shift; > my $reg = $C->registerService( > serviceName => echoXMLStringRequest, > authURI => 127.0.0.1, > contactEmail => bmg at sfu.ca, > description => "An axis service for testing", > URL => http://localhost:8080/axis/services/, > input => [ ['', ["Object" => []]], ], > output => [ ['', ["Object" => []]], ], > category => "moby", > serviceType => "Retrieval", > ); > die "Bad return value from registerService" unless $reg; > if ($reg->success == 1){ > print "Registration successful\n\n"; > } > else { > print "Registration failed: ", $reg->message, "\n"; > } > } > > Here is the WSDL generated when I run it (successfully) from a non-moby > java client > > > xmlns:impl="urn:biomoby.services" xmlns:intf="urn:biomoby.services" > xmlns:apachesoap="http://xml.apache.org/xml-soap" > xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns="http://schemas.xmlsoap.org/wsdl/"> > > > > > > > > > > > > > > > > > > message="impl:echoXMLStringRequest"/> > > message="impl:echoXMLStringResponse"/> > > > > > > > > transport="http://schemas.xmlsoap.org/soap/http"/> > > > > > > > > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > namespace="urn:biomoby.services"/> > > > > > > encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > namespace="urn:biomoby.services"/> > > > > > > > > > > binding="impl:biomoby.servicesSoapBinding"> > > location="http://localhost:8080/axis/services/biomoby.services"/> > > > > > > > > thanks for any ideas > -Ben > > > > _______________________________________________ > moby-l mailing list > moby-l at biomoby.org > http://biomoby.org/mailman/listinfo/moby-l -- Mark Wilkinson (mwilkinson at mrl.ubc.ca) University of British Columbia iCAPTURE Centre From bmg at sfu.ca Fri Jun 11 15:54:58 2004 From: bmg at sfu.ca (Benjamin Good) Date: Sat, 12 Jun 2004 03:54:58 +0800 Subject: [MOBY-l] MobyRequest problem Message-ID: <40CA0E12.1010000@sfu.ca> Dear list, I am working on a moby service in java. I have succeeded in running it with a perl client, but am having problems with a java client that uses the MobyRequest class. The client works fine on other services from moby central and on other perl services that I have written. The question is should I alter my service or alter MobyRequest to handle it??? cheers -ben The error occurs in MobyRequest at this point. Element resultDom = ((MessageElement) soapCall.getResponseMessage().getSOAPPart().getEnvelope()).getAsDOM(); Here is the trace, Input to MOBY Service is: IR6412 - No returnType was specified to the Call object! You must call setReturnType() if you have called addParameter(). SOAP Response was: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KICAgICAgIDxtb2J5Ok1PQlkgeG1sbnM6bW9ieT0iaHR0cDovL3d3dy5iaW9tb2J5Lm9yZy9tb2J5Ij4KICAgICAgICAgIDxtb2J5Om1vYnlDb250ZW50Pgo8bW9ieTptb2J5RGF0YSBtb2J5OnF1ZXJ5SUQ9JzEnPjxTaW1wbGUgeG1sbnM9Imh0dHA6Ly93d3cuYmlvbW9ieS5vcmcvbW9ieSIgeG1sbnM6bW9ieT0iaHR0cDovL3d3dy5iaW9tb2J5Lm9yZy9tb2J5IiBtb2J5OmFydGljbGVOYW1lPSIiPjxtb2J5OldpbGRjYXJkX1F1ZXJ5IG5hbWVzcGFjZT0nJyBpZD0nJz48bW9ieTpTdHJpbmcgbmFtZXNwYWNlPScnIGlkPScnIGFydGljbGVOYW1lPSdnZXJtcGxhc21fbmFtZSc+SVI2NDwvbW9ieTpTdHJpbmc+PG1vYnk6SW50ZWdlciBuYW1lc3BhY2U9JycgaWQ9JycgYXJ0aWNsZU5hbWU9J3N0YXJ0X3Jvdyc+MTwvbW9ieTpJbnRlZ2VyPjxtb2J5OkludGVnZXIgbmFtZXNwYWNlPScnIGlkPScnIGFydGljbGVOYW1lPSdlbmRfcm93Jz4yPC9tb2J5OkludGVnZXI+PC9tb2J5OldpbGRjYXJkX1F1ZXJ5PjwvU2ltcGxlPiAgICAgICAgICAgICAgPC9tb2J5Om1vYnlEYXRhPgogICAgICAgICAgPC9tb2J5Om1vYnlDb250ZW50PgogICAgICAgPC9tb2J5Ok1PQlk+Cg== Caught an exception from moby:org.biomoby.shared.SOAPException: Could not get SOAP response as DOM Element: org.biomoby.shared.SOAPException: Could not find a Base64 encoded SOAP payload ERROR: Unable to initiate moby service. org.biomoby.shared.SOAPException: Could not get SOAP response as DOM Element: org.biomoby.shared.SOAPException: Could not find a Base64 encoded SOAP payload at org.biomoby.client.MobyRequest.performSOAPRequest(MobyRequest.java:358) at org.biomoby.client.MobyRequest.invokeService(MobyRequest.java:232) From gordonp at cbr.nrc.ca Fri Jun 11 10:38:24 2004 From: gordonp at cbr.nrc.ca (Paul Gordon) Date: Fri, 11 Jun 2004 08:38:24 -0600 Subject: [MOBY-l] MobyRequest problem In-Reply-To: <40CA0E12.1010000@sfu.ca> References: <40CA0E12.1010000@sfu.ca> Message-ID: <40C9C3E0.8010208@cbr.nrc.ca> Hey folks, Now that we have different clients, and different servers running, we see the ugly face of interoperability :-P The major issue here is that the Java client is not finding the SOAP base64 encoded payload because the XPath expression used to find it in the SOAP envelope is //*[@xsi:type="SOAP-ENC:base64"] This has two issues, one is easy to fix, the other not so. XML Schema Instances are wierd because they use prefixes like SOAP-ENC to describe the namespace of tags. But that prefix is not part of the syntax of the XML document, it's just CDATA in an attribute. But the prefix declaration is done in the document (xmlns:SOAP-ENC="http://...."). There is no systematic way to apply the declared prefix to the xsi:type="SOAP-ENC:base64" bit, since it's just CDATA. Anyhow, we can avoid this whole match-the-variable-prefix-to-a-XSI-meta-data-namespace problem by changing the XPath to be more inclusive. Just looking at the local name (i.e. unprefixed) part of the CDATA after the colon //*[substring-after(@xsi:type, ':')=\"base64\"]" at the very slight risk that you have other top-level SOAP envelope XSI declarations of "base64" that aren't SOAP (i.e. you're doing some very wierd handtweaking of the SOAP envelope with element name collision). The second problem is that Perl service providers use as module that uses the XML Schema Instance namespace of http://www.w3.org/1999/XMLSchema-instance, whereas Apache's Java Axis uses http://www.w3.org/2001/XMLSchema-instance. So should the XPath bind xsi: to the the former or the latter? For now I had hardcoded in the 1999 version, since most service providers were using the Perl modules. See the MobyPrefixResover code and its accompanying comment else if(XSI_PREFIX.equals(prefix)){ return XSI_NAMESPACE1999; //Crappy Perl XML Schema namespace usage is out of date } You see, I precompile the XPath statements for speed, so I need to know beforehand if 1999 or 2001 namespace will be used. Ben, can you make your Echo service available with a real IP address? That way I can try to fix this with multiple XSI resolutions and test it before commiting. From mwilkinson at mrl.ubc.ca Tue Jun 15 11:03:48 2004 From: mwilkinson at mrl.ubc.ca (Mark Wilkinson) Date: Tue, 15 Jun 2004 08:03:48 -0700 Subject: [MOBY-l] TEST MOBY Central registry available Message-ID: <1087311828.2155.99.camel@myhost.mydomain> Hi all, Yeah yeah yeah, I know it has been a long time coming! Yesterday I made some changes to the registry code that allowed it to read its configuration from a config file, pointed to by an environment variable in apache. This made it easier to run multiple instances of apache each with a different registry configuration. (Rebecca - this is something that your sysadmin requested ages ago! please tell him it is now done...) As such, there is now a test version of the registry running at mobycentral and you can feel free to mess that one up as much as you wish. There is currently no GUI client pointing to that, but you can interact with it using the client-side libraries. The test registry is a snapshot of how the "real" registry looked this morning, but it is running from its own set of mySQL databases, so feel free to add/remove/play because you wont harm the real registry nor the real ontologies (touch wood...) The URL and URI for the test registry are: URL 'http://mobycentral.cbr.nrc.ca:8080/cgi-bin/MOBY05/mobycentral.pl' URI 'http://mobycentral.cbr.nrc.ca:8080/MOBY/Central' For those of you using my Perl libraries to connect, simply create an instance of the MOBY::Client::Central as follows: my $C = MOBY::Client::Central->new( Registries => { mobycentral => { URL => 'http://mobycentral.cbr.nrc.ca:8080/cgi-bin/MOBY05/mobycentral.pl', URI => 'http://mobycentral.cbr.nrc.ca:8080/MOBY/Central' } } ); and then use the module as you normally would. The perl test suite also uses the test instance of the registry now, so "TotalCrap" should no longer appear as a valid object in our ontologies ;-) Cheers all! M -- Mark Wilkinson (mwilkinson at mrl.ubc.ca) University of British Columbia iCAPTURE Centre From markw at illuminae.com Tue Jun 15 12:14:07 2004 From: markw at illuminae.com (Mark Wilkinson) Date: Tue, 15 Jun 2004 09:14:07 -0700 Subject: [MOBY-l] Re: [MISC] [MOBY-dev] TEST MOBY Central registry available In-Reply-To: <1087311828.2155.99.camel@myhost.mydomain> References: <1087311828.2155.99.camel@myhost.mydomain> Message-ID: <1087316047.2155.120.camel@myhost.mydomain> Note that 'URL' in the message below does not refer to a human-readable web interface. It is the location of the test MOBY Central SOAP server. I have a student, Eddie, who is currently building a GUI interface for service registration, and that should be up in the next few weeks. M On Tue, 2004-06-15 at 08:03, Mark Wilkinson wrote: > Hi all, > > Yeah yeah yeah, I know it has been a long time coming! > > Yesterday I made some changes to the registry code that allowed it to > read its configuration from a config file, pointed to by an environment > variable in apache. This made it easier to run multiple instances of > apache each with a different registry configuration. (Rebecca - this is > something that your sysadmin requested ages ago! please tell him it is > now done...) > > As such, there is now a test version of the registry running at > mobycentral and you can feel free to mess that one up as much as you > wish. There is currently no GUI client pointing to that, but you can > interact with it using the client-side libraries. > > The test registry is a snapshot of how the "real" registry looked this > morning, but it is running from its own set of mySQL databases, so feel > free to add/remove/play because you wont harm the real registry nor the > real ontologies (touch wood...) > > The URL and URI for the test registry are: > > URL 'http://mobycentral.cbr.nrc.ca:8080/cgi-bin/MOBY05/mobycentral.pl' > > URI 'http://mobycentral.cbr.nrc.ca:8080/MOBY/Central' > > > For those of you using my Perl libraries to connect, simply create an > instance of the MOBY::Client::Central as follows: > > my $C = MOBY::Client::Central->new( > Registries => { > mobycentral => { URL => > 'http://mobycentral.cbr.nrc.ca:8080/cgi-bin/MOBY05/mobycentral.pl', > URI => 'http://mobycentral.cbr.nrc.ca:8080/MOBY/Central' > } > } > ); > > and then use the module as you normally would. The perl test suite also > uses the test instance of the registry now, so "TotalCrap" should no > longer appear as a valid object in our ontologies ;-) > > Cheers all! > > M -- Mark Wilkinson (mwilkinson at mrl.ubc.ca) University of British Columbia iCAPTURE Centre From JYu at mail.brc.mcw.edu Tue Jun 15 16:21:26 2004 From: JYu at mail.brc.mcw.edu (Jiaming Yu) Date: Tue, 15 Jun 2004 15:21:26 -0500 Subject: [MOBY-l] registering an axis web service Message-ID: <295CC5EB4257D411B34D00D0B7748F4432E08B@baldar.brc.mcw.edu> An embedded and charset-unspecified text was scrubbed... Name: not available Url: http://biomoby.org/pipermail/moby-l/attachments/20040615/dc28a6e3/attachment.pl From p.lord at russet.org.uk Wed Jun 16 10:47:10 2004 From: p.lord at russet.org.uk (Phillip Lord) Date: 16 Jun 2004 15:47:10 +0100 Subject: [MOBY-l] Programme Available: The Seventh Annual Bio-ontologies Meeting Message-ID: The programme for the Seventh Annual Bio-Ontologies Meeting is now available online. http://bio-ontologies.man.ac.uk/preliminary_program.html Apologies, as always, to those who get multiple copies of this. The Seventh Annual Bio-ontologies Meeting Call For Submissions ============================================================== Key Information =============== Organisers: Robert Stevens(1) ,Robin McEntire(2), Phillip Lord(1), and James.A.Butler(2) (1) Dept of Computer Science, University of Manchester (2) GlaxoSmithKline Website: http://bio-ontologies.man.ac.uk Location: Glasgow, Scotland. Date: 30th July Main Conference: http://www.iscb.org/ismbeccb2004/ Registration: http://www.iscb.org/ismbeccb2004/reg.html Registration Costs: 80 Academic, 110 Corporate, 60 Student (Prices in UK Pounds. 17.5% VAT will be added. Coffee and lunch included) General Information =================== The Bio-Ontologies workshop has been in existence since 1998, and now operates as a Special Interest Group at the ISMB Conference. Bio-Ontologies is well established as one of the key meetings for dissemination of the latest information and research on ontologies in the life sciences and has drawn the key researchers in the field. After last year's highly successful theme of "Ontologies and Text Analysis", we will follow with the timely theme of "Ontologies and Bio-Images". Work is currently being done in the area of ontologies of images, especially in the domain of developmental biology and medicine. A prime example of this work is the Bio-Image databank, which makes extensive use of ontologies. Our guest speaker for this year's topic will be Dr. David Shotton, who will talk about the use of ontologies within the BioImage database. The preliminary programme follows. Full details from the website. +------+-----+-----------------------+--------------------------------------------------------------------+ |Start |End |Speaker |Title | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ |09:00 |09:10| |Introduction | +------+-----+-----------------------+--------------------------------------------------------------------+ |09:10 |10:00|David Shotton |KEYNOTE: Using Ontologies to provide semantic richness in biological| | | | |image databases | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ |10:00 |10:15|Joanne Luciano |BioPAX: Data Exchange Ontology for Biological Pathway Databases | | | | | | | | | | | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ |10:15 |10:30|Katy Wolstencraft |The use of ontology in organising and managing protein family | | | | |resources | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ |10:30 |11:00| |Coffee | +------+-----+-----------------------+--------------------------------------------------------------------+ |11:00 |11:15|Trish Whetzel |The MGED Ontology: Providing Descriptors for Microarray Experiments | | | | | | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ |11:15 |11:30|Georgios V. Gkoutos |Ontologies for the Description of Mouse Phenotypes | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ |11:30 |12:00|Sarah Luger |Cross-species mapping between Anatomical Ontologies: Terminological | | | | |and Structural support. | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ |12:00 |13:00| |Lunch | +------+-----+-----------------------+--------------------------------------------------------------------+ |13:00 |15:00|Michael Ashburner |Panel Session, with Guest Moderator, Helen Parkinson | | | +-----------------------+ | | | |Barry Smith | | | | +-----------------------+ | | | |Jeremy Rodgers | | | | +-----------------------+ | | | |Crispin Miller | | +------+-----+-----------------------+--------------------------------------------------------------------+ |15:00 |15:30| |Coffee | +------+-----+-----------------------+--------------------------------------------------------------------+ |15:30 |16:00|Chris Mungall |OBOL: A Grammar and inference system for GO and OBO | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ |16:00 |16:30|Anand Kumar |Enhancing GO for the sake of Clincal Bioinformaticians | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ |16:30 |17:00|Ken-ichiro Fukuda |Classifying Molecules by their Roles | | | | | | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ |17:00 |17:30|Helen Parkinson |The SOFG Anatomy Entry List (SAEL) as an annotation tool for | | | | |functional genomics experiments | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ |17:30 |18:00|Keith Flanagan |Ontologies for Genomes and Genomic Rearrangements | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ |18:00 |18:15|Nigham Shah |Making compatible text, visual and mathematical representations for | | | | |ontologies | +------+-----+-----------------------+--------------------------------------------------------------------+ |18:15 |18:30|Cliff Joslyn |Reports On Two Recent Bio-Ontology Workshops | | | | | | +------+-----+-----------------------+--------------------------------------------------------------------+ From bmg at sfu.ca Thu Jun 17 05:09:41 2004 From: bmg at sfu.ca (Benjamin Good) Date: Thu, 17 Jun 2004 17:09:41 +0800 Subject: [MOBY-l] registering an axis web service In-Reply-To: <295CC5EB4257D411B34D00D0B7748F4432E08B@baldar.brc.mcw.edu> References: <295CC5EB4257D411B34D00D0B7748F4432E08B@baldar.brc.mcw.edu> Message-ID: <40D15FD5.3080408@sfu.ca> > >1. Concerning the service setting. How do you deploy your service in AXIS, >could I get the code to deploy it on my local test? > > For the simplest possible service that I have got to work.., the clode for the class is: public class AxisEcho { // echo the request as a byte array - this will result in axis using the base64 encoding type required by moby public static byte[] echoByteArray(String xml_input) { byte[] input_byte = xml_input.getBytes(); return input_byte; } } Compile this and put the class file in the axis/WEB-INF/classes directory. Then deploy it by writing a .wsdd file like this and deploy java org.apache.axis.client.AdminClient my_deploy.wsdd next restart tomcat. next register the service. I've just been using the perl code to do this although I know you can do it with Martin's java command line client as well. Here is the relevant code: sub register_service { #$C is the moby-central instance my $C = shift; my $reg = $C->registerService( serviceName => $sname, authURI => $authURI, contactEmail => $email, description => "Another axis service for testing", URL => $url, input => [ ['', ["Object" => []]], ], output => [ ['', ["Object" => []]], ], category => "moby", serviceType => "Retrieval", ); die "Bad return value from registerService" unless $reg; if ($reg->success == 1){ print "Registration successful\n\n"; } else { print "Registration failed: ", $reg->message, "\n"; } } There are more examples of perl registration code at http://biomoby.org/moby-live/Perl/scripts/testMOBYClientCentral_v05.pl >2. Concerning the http://localhost:8080/axis/services/biomoby.services > > >My understanding is , your class name is EchoXML, and RPC method is >echoXMLString, which return a xml file following MOBY response policy (not >in detail here). Is that right ? > > Thats the idea. Sorry for leaving an unreachable URL up there - I guess maybe that helped push Mark to put up the test central :) >3. In your June 9 email, > > >>>Registration >>>succeeds, but I can't get anything back from the service. >>> >>> >Do you mean you when you query the service list, you can not find your >registration? I succeed in register and query my registration using Sanger's >MobyCmdLineClient.java. Could try it to see if it helps > I was actually using the wrong name.. You can register anything, there is no error-checking for bad urls or method names at the time of registration. So, if you put up an incorrect name you can see it, but will get a service returned no response message when you try to access it. >>>wsdl generated by MobyCentral doesn't match the WSDL generated locally >>> >>> > > > >You list the WSDL file which I think got by > >http://localhost:8080/axis/services/YOURDEFINE?wsdl > > >right? So Is that what your meaned "generated by MobyCentral" or "the WSDL >generated locally" ? > > This is what I mean by generated locally. If you check the wsdl coming back from requests to moby central you will see a much stripped down version of the wsdl supplied by axis. One of my goals for the next few weeks or so is to produce a complete working example of an axis moby service that can be deployed in tomcat immediately as a war file. Hopefully that will help get other newbie java developers such as myself who are also new to web services and moby up and running faster. I still have not convinced the sysadmin to open my tomcat port so can't share my services just yet :( Hope that helps a bit, see also the mail from Viji. -Ben From mwilkinson at mobile.rogers.com Wed Jun 16 21:26:09 2004 From: mwilkinson at mobile.rogers.com (mwilkinson) Date: Wed, 16 Jun 2004 21:26:09 -0400 Subject: [MOBY-l] registering an axis web service Message-ID: <200406170134.i5H1Y4Kr010335@portal.open-bio.org> It should not be that base64 is *required* by moby. It is just an option. If the code is such that it is now required please say so, because that was not the intention! M -----Original Message----- From: Benjamin Good Date: Thu, 17 Jun 2004 17:09:41 To:Jiaming Yu , mobyl Subject: Re: [MOBY-l] registering an axis web service > >1. Concerning the service setting. How do you deploy your service in AXIS, >could I get the code to deploy it on my local test? > > For the simplest possible service that I have got to work.., the clode for the class is: public class AxisEcho { // echo the request as a byte array - this will result in axis using the base64 encoding type required by moby public static byte[] echoByteArray(String xml_input) { byte[] input_byte = xml_input.getBytes(); return input_byte; } } Compile this and put the class file in the axis/WEB-INF/classes directory. Then deploy it by writing a .wsdd file like this and deploy java org.apache.axis.client.AdminClient my_deploy.wsdd next restart tomcat. next register the service. I've just been using the perl code to do this although I know you can do it with Martin's java command line client as well. Here is the relevant code: sub register_service { #$C is the moby-central instance my $C = shift; my $reg = $C->registerService( serviceName => $sname, authURI => $authURI, contactEmail => $email, description => "Another axis service for testing", URL => $url, input => [ ['', ["Object" => []]], ], output => [ ['', ["Object" => []]], ], category => "moby", serviceType => "Retrieval", ); die "Bad return value from registerService" unless $reg; if ($reg->success == 1){ print "Registration successful\n\n"; } else { print "Registration failed: ", $reg->message, "\n"; } } There are more examples of perl registration code at http://biomoby.org/moby-live/Perl/scripts/testMOBYClientCentral_v05.pl >2. Concerning the http://localhost:8080/axis/services/biomoby.services > > >My understanding is , your class name is EchoXML, and RPC method is >echoXMLString, which return a xml file following MOBY response policy (not >in detail here). Is that right ? > > Thats the idea. Sorry for leaving an unreachable URL up there - I guess maybe that helped push Mark to put up the test central :) >3. In your June 9 email, > > >>>Registration >>>succeeds, but I can't get anything back from the service. >>> >>> >Do you mean you when you query the service list, you can not find your >registration? I succeed in register and query my registration using Sanger's >MobyCmdLineClient.java. Could try it to see if it helps > I was actually using the wrong name.. You can register anything, there is no error-checking for bad urls or method names at the time of registration. So, if you put up an incorrect name you can see it, but will get a service returned no response message when you try to access it. >>>wsdl generated by MobyCentral doesn't match the WSDL generated locally >>> >>> > > > >You list the WSDL file which I think got by > >http://localhost:8080/axis/services/YOURDEFINE?wsdl > > >right? So Is that what your meaned "generated by MobyCentral" or "the WSDL >generated locally" ? > > This is what I mean by generated locally. If you check the wsdl coming back from requests to moby central you will see a much stripped down version of the wsdl supplied by axis. One of my goals for the next few weeks or so is to produce a complete working example of an axis moby service that can be deployed in tomcat immediately as a war file. Hopefully that will help get other newbie java developers such as myself who are also new to web services and moby up and running faster. I still have not convinced the sysadmin to open my tomcat port so can't share my services just yet :( Hope that helps a bit, see also the mail from Viji. -Ben _______________________________________________ moby-l mailing list moby-l at biomoby.org http://biomoby.org/mailman/listinfo/moby-l !!!!!!!!!!!!!!!! To respond to this message you MUST send your response to (note new address!) markw_mobile2 at illuminae dot com Responses to the reply-to address go directly to trash! !!!!!!!!!!!!!!!!!!!!!!!!!!!! From bmg at sfu.ca Thu Jun 17 06:13:23 2004 From: bmg at sfu.ca (Benjamin Good) Date: Thu, 17 Jun 2004 18:13:23 +0800 Subject: [MOBY-l] registering an axis web service In-Reply-To: <200406170130.i5H1UCoV002513@pobox.sfu.ca> References: <200406170130.i5H1UCoV002513@pobox.sfu.ca> Message-ID: <40D16EC3.8070600@sfu.ca> This seems to be the case when using the MobyRequest class from Paul. Seems like it should also be able to handle a simple string no? B mwilkinson wrote: >It should not be that base64 is *required* by moby. It is just an option. > >If the code is such that it is now required please say so, because that was not the intention! > >M > > >-----Original Message----- >From: Benjamin Good >Date: Thu, 17 Jun 2004 17:09:41 >To:Jiaming Yu , mobyl >Subject: Re: [MOBY-l] registering an axis web service > > > > > >>1. Concerning the service setting. How do you deploy your service in AXIS, >>could I get the code to deploy it on my local test? >> >> >> >> > >For the simplest possible service that I have got to work.., the clode >for the class is: > >public class AxisEcho { >// echo the request as a byte array - this will result in axis using >the base64 encoding type required by moby > public static byte[] echoByteArray(String xml_input) { > byte[] input_byte = xml_input.getBytes(); > return input_byte; > } >} > >Compile this and put the class file in the axis/WEB-INF/classes >directory. Then deploy it by writing a .wsdd file like this > >xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> > > > > > > >and deploy >java org.apache.axis.client.AdminClient my_deploy.wsdd > >next restart tomcat. > >next register the service. I've just been using the perl code to do >this although I know you can do it with Martin's java command line >client as well. > >Here is the relevant code: >sub register_service { >#$C is the moby-central instance > my $C = shift; > my $reg = $C->registerService( > serviceName => $sname, > authURI => $authURI, > contactEmail => $email, > description => "Another axis service for testing", > URL => $url, > input => [ ['', ["Object" => []]], ], > output => [ ['', ["Object" => []]], ], > category => "moby", > serviceType => "Retrieval", >); > die "Bad return value from registerService" unless $reg; > if ($reg->success == 1){ > print "Registration successful\n\n"; >} > else { > print "Registration failed: ", $reg->message, "\n"; > } >} > >There are more examples of perl registration code at >http://biomoby.org/moby-live/Perl/scripts/testMOBYClientCentral_v05.pl > > > >>2. Concerning the http://localhost:8080/axis/services/biomoby.services >> >> >>My understanding is , your class name is EchoXML, and RPC method is >>echoXMLString, which return a xml file following MOBY response policy (not >>in detail here). Is that right ? >> >> >> >> >Thats the idea. Sorry for leaving an unreachable URL up there - I guess >maybe that helped push Mark to put up the test central :) > > > >>3. In your June 9 email, >> >> >> >> >>>>Registration >>>>succeeds, but I can't get anything back from the service. >>>> >>>> >>>> >>>> >>Do you mean you when you query the service list, you can not find your >>registration? I succeed in register and query my registration using Sanger's >>MobyCmdLineClient.java. Could try it to see if it helps >> >> >> > I was actually using the wrong name.. You can register anything, there >is no error-checking for bad urls or method names at the time of >registration. So, if you put up an incorrect name you can see it, but >will get a service returned no response message when you try to access it. > > > >>>>wsdl generated by MobyCentral doesn't match the WSDL generated locally >>>> >>>> >>>> >>>> >> >>You list the WSDL file which I think got by >> >>http://localhost:8080/axis/services/YOURDEFINE?wsdl >> >> >>right? So Is that what your meaned "generated by MobyCentral" or "the WSDL >>generated locally" ? >> >> >> >> >This is what I mean by generated locally. If you check the wsdl coming >back from requests to moby central you will see a much stripped down >version of the wsdl supplied by axis. > >One of my goals for the next few weeks or so is to produce a complete >working example of an axis moby service that can be deployed in tomcat >immediately as a war file. Hopefully that will help get other newbie >java developers such as myself who are also new to web services and moby >up and running faster. > >I still have not convinced the sysadmin to open my tomcat port so can't >share my services just yet :( > >Hope that helps a bit, see also the mail from Viji. >-Ben > > > > >_______________________________________________ >moby-l mailing list >moby-l at biomoby.org >http://biomoby.org/mailman/listinfo/moby-l > >!!!!!!!!!!!!!!!! >To respond to this message you MUST send your response to (note new address!) > >markw_mobile2 at illuminae dot com > >Responses to the reply-to address go directly to trash! >!!!!!!!!!!!!!!!!!!!!!!!!!!!! > > > > From mwilkinson at mobile.rogers.com Wed Jun 16 22:13:44 2004 From: mwilkinson at mobile.rogers.com (mwilkinson) Date: Wed, 16 Jun 2004 22:13:44 -0400 Subject: [MOBY-l] registering an axis web service Message-ID: <200406170221.i5H2LdKr011005@portal.open-bio.org> Probably not a simple string. The problem is that we are passing "fully valid" XML messages inside a soap envelope, which is itself a fully valid XML message. The result is that you have an XML header isside of an XML message, and that is illegal XML. This is the reason that we base64 encode, or at a minimum escape the MOBY message - it cannot be passed verbatim because that makes the surrounding soap message invalid. M -----Original Message----- From: Benjamin Good Date: Thu, 17 Jun 2004 18:13:23 To:mwilkinson Cc:JYu at mail.brc.mcw.edu, moby-l at biomoby.org Subject: Re: [MOBY-l] registering an axis web service This seems to be the case when using the MobyRequest class from Paul. Seems like it should also be able to handle a simple string no? B mwilkinson wrote: >It should not be that base64 is *required* by moby. It is just an option. > >If the code is such that it is now required please say so, because that was not the intention! > >M > > >-----Original Message----- >From: Benjamin Good >Date: Thu, 17 Jun 2004 17:09:41 >To:Jiaming Yu , mobyl >Subject: Re: [MOBY-l] registering an axis web service > > > > > >>1. Concerning the service setting. How do you deploy your service in AXIS, >>could I get the code to deploy it on my local test? >> >> >> >> > >For the simplest possible service that I have got to work.., the clode >for the class is: > >public class AxisEcho { >// echo the request as a byte array - this will result in axis using >the base64 encoding type required by moby > public static byte[] echoByteArray(String xml_input) { > byte[] input_byte = xml_input.getBytes(); > return input_byte; > } >} > >Compile this and put the class file in the axis/WEB-INF/classes >directory. Then deploy it by writing a .wsdd file like this > >xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> > > > > > > >and deploy >java org.apache.axis.client.AdminClient my_deploy.wsdd > >next restart tomcat. > >next register the service. I've just been using the perl code to do >this although I know you can do it with Martin's java command line >client as well. > >Here is the relevant code: >sub register_service { >#$C is the moby-central instance > my $C = shift; > my $reg = $C->registerService( > serviceName => $sname, > authURI => $authURI, > contactEmail => $email, > description => "Another axis service for testing", > URL => $url, > input => [ ['', ["Object" => []]], ], > output => [ ['', ["Object" => []]], ], > category => "moby", > serviceType => "Retrieval", >); > die "Bad return value from registerService" unless $reg; > if ($reg->success == 1){ > print "Registration successful\n\n"; >} > else { > print "Registration failed: ", $reg->message, "\n"; > } >} > >There are more examples of perl registration code at >http://biomoby.org/moby-live/Perl/scripts/testMOBYClientCentral_v05.pl > > > >>2. Concerning the http://localhost:8080/axis/services/biomoby.services >> >> >>My understanding is , your class name is EchoXML, and RPC method is >>echoXMLString, which return a xml file following MOBY response policy (not >>in detail here). Is that right ? >> >> >> >> >Thats the idea. Sorry for leaving an unreachable URL up there - I guess >maybe that helped push Mark to put up the test central :) > > > >>3. In your June 9 email, >> >> >> >> >>>>Registration >>>>succeeds, but I can't get anything back from the service. >>>> >>>> >>>> >>>> >>Do you mean you when you query the service list, you can not find your >>registration? I succeed in register and query my registration using Sanger's >>MobyCmdLineClient.java. Could try it to see if it helps >> >> >> > I was actually using the wrong name.. You can register anything, there >is no error-checking for bad urls or method names at the time of >registration. So, if you put up an incorrect name you can see it, but >will get a service returned no response message when you try to access it. > > > >>>>wsdl generated by MobyCentral doesn't match the WSDL generated locally >>>> >>>> >>>> >>>> >> >>You list the WSDL file which I think got by >> >>http://localhost:8080/axis/services/YOURDEFINE?wsdl >> >> >>right? So Is that what your meaned "generated by MobyCentral" or "the WSDL >>generated locally" ? >> >> >> >> >This is what I mean by generated locally. If you check the wsdl coming >back from requests to moby central you will see a much stripped down >version of the wsdl supplied by axis. > >One of my goals for the next few weeks or so is to produce a complete >working example of an axis moby service that can be deployed in tomcat >immediately as a war file. Hopefully that will help get other newbie >java developers such as myself who are also new to web services and moby >up and running faster. > >I still have not convinced the sysadmin to open my tomcat port so can't >share my services just yet :( > >Hope that helps a bit, see also the mail from Viji. >-Ben > > > > >_______________________________________________ >moby-l mailing list >moby-l at biomoby.org >http://biomoby.org/mailman/listinfo/moby-l > >!!!!!!!!!!!!!!!! >To respond to this message you MUST send your response to (note new address!) > >markw_mobile2 at illuminae dot com > >Responses to the reply-to address go directly to trash! >!!!!!!!!!!!!!!!!!!!!!!!!!!!! > > > > !!!!!!!!!!!!!!!! To respond to this message you MUST send your response to (note new address!) markw_mobile2 at illuminae dot com Responses to the reply-to address go directly to trash! !!!!!!!!!!!!!!!!!!!!!!!!!!!! From gordonp at cbr.nrc.ca Thu Jun 17 11:58:06 2004 From: gordonp at cbr.nrc.ca (Paul Gordon) Date: Thu, 17 Jun 2004 09:58:06 -0600 Subject: [MOBY-l] registering an axis web service In-Reply-To: <40D15FD5.3080408@sfu.ca> References: <295CC5EB4257D411B34D00D0B7748F4432E08B@baldar.brc.mcw.edu> <40D15FD5.3080408@sfu.ca> Message-ID: <40D1BF8E.7080309@cbr.nrc.ca> On another note, I will be commiting in the next couple of weeks the ability to construct complex MobyDataInstances from simples such as MobyDataFloat, etc.. So no Java users will have to write XML at all. If we combine this will a .war example, that'll rock! From sylvester_26 at yahoo.com Sun Jun 20 23:31:30 2004 From: sylvester_26 at yahoo.com (Gerald Sylvester) Date: Sun, 20 Jun 2004 20:31:30 -0700 (PDT) Subject: [MOBY-l] Help on writing .NET client for Moby services Message-ID: <20040621033130.91802.qmail@web11603.mail.yahoo.com> Hello Everybody, Greetings from Gerard. I am new to BioMoby Project. I am interested in writing a .NET client for all possible BioMoby services, but 'am faced with certain difficulties. I would be glad if you could assist me in this endevour. (1) How do I access the Moby Central from my .NET client and generate the WSDL file, does the services registered there use the .asmx file extension? (2) I need to get the WSDL file inorder to write the client code for that particular webservice. Thanks a lot, Gerard Sylvester. __________________________________ Do you Yahoo!? Take Yahoo! Mail with you! Get it on your mobile phone. http://mobile.yahoo.com/maildemo From markw at illuminae.com Mon Jun 21 11:47:18 2004 From: markw at illuminae.com (Mark Wilkinson) Date: Mon, 21 Jun 2004 08:47:18 -0700 Subject: [MISC] [MOBY-l] Help on writing .NET client for Moby services In-Reply-To: <20040621033130.91802.qmail@web11603.mail.yahoo.com> References: <20040621033130.91802.qmail@web11603.mail.yahoo.com> Message-ID: <1087832838.1999.30.camel@myhost.mydomain> On Sun, 2004-06-20 at 20:31, Gerald Sylvester wrote: > Greetings from Gerard. Hi Gerard! > (1) How do I access the Moby Central from my .NET > client and generate the WSDL file, does the services > registered there use the .asmx file extension? Could you clarify which WSDL file you require - a WSDL representing MOBY Central, or a WSDL representing the service you wish to invoke? Services don't use any predictable file extension, and may or may not use a file extension at all. > (2) I need to get the WSDL file inorder to write the > client code for that particular webservice. Which parts of the WSDL are important to you? If it is just the endpoints, then you can get sufficiently complex WSDL from the MOBY Central retrieveService call. If you need the XSD describing service inputs/outputs, then... you are out of luck... unless you want to write the code that generates it ;-) The *actual* input/output structure of a service is relatively unpredictable, but it is predictable enough to build a client/service around. Since we use an ontology of data-types, and the ontology dictates the XML structure, we can rely on the XML being *at least* as complex as that described by the ontology node that is registered in MOBY Central as the input or output for that service. However, it may be even more complex (hence it is very difficult to write a valid WSDL document describing the service...). Regardless, if you use an XML parser to reach into the XML you receive, based on the ontology node you are expecting, and pull out the various nodes that should be there, you will find that they are there. If you are a particularly clever client, you can try to make sense of the entire message, but you do not need to do so. Having said that, the fact that your client cannot make sense of a message does not stop you from passing this message on to another service provider who claims to be able to do something with it! Hence, pipelining is not thwarted by the clients inability to make sense of things... M -- Mark Wilkinson (mwilkinson at mrl.ubc.ca) University of British Columbia iCAPTURE Centre From senger at ebi.ac.uk Mon Jun 21 14:14:39 2004 From: senger at ebi.ac.uk (Martin Senger) Date: Mon, 21 Jun 2004 19:14:39 +0100 (BST) Subject: [MISC] [MOBY-l] Help on writing .NET client for Moby services In-Reply-To: <1087832838.1999.30.camel@myhost.mydomain> Message-ID: > Could you clarify which WSDL file you require - a WSDL representing MOBY > Central, or a WSDL representing the service you wish to invoke? > In case you require a WSDL representing MOBY Central (which I do not think it is the case, btw) I can help you by converting a Java interface (Central.java) into a WSDL. The Central.java represents all functionality of a MOBY Central (and for your purpose it does not matter in which language it is expressed). > Services don't use any predictable file extension, and may or may not > use a file extension at all. > Mark, I think it depends on the language of implementation. Some implementations, such as .net, use their specific extensions. For example, the extension .asmx is used as explained here: "... When you create an XML Web service in ASP.NET, you place the required @ WebService directive at the top of a text file with an .asmx file name extension. The presence of the .asmx file and the @ WebService directive correlate the URL address of the XML Web service with its implementation..." Just my 2c's, Martin -- Martin Senger EMBL Outstation - Hinxton Senger at EBI.ac.uk European Bioinformatics Institute Phone: (+44) 1223 494636 Wellcome Trust Genome Campus (Switchboard: 494444) Hinxton Fax : (+44) 1223 494468 Cambridge CB10 1SD United Kingdom http://industry.ebi.ac.uk/~senger From markw at illuminae.com Mon Jun 21 14:23:15 2004 From: markw at illuminae.com (Mark Wilkinson) Date: Mon, 21 Jun 2004 11:23:15 -0700 Subject: [MISC] [MOBY-l] Help on writing .NET client for Moby services In-Reply-To: References: Message-ID: <1087842195.2000.58.camel@myhost.mydomain> On Mon, 2004-06-21 at 11:14, Martin Senger wrote: > > Services don't use any predictable file extension, and may or may not > > use a file extension at all. > > > Mark, I think it depends on the language of implementation. Some > implementations, such as .net, use their specific extensions. For example, > the extension .asmx is used as explained here: What does the word "Services" mean in this sentence? Does it mean the name of the method being called, or the name of the SOAP listener script that serves that method, or the name of the WSDL file, or...?? M -- Mark Wilkinson (mwilkinson at mrl.ubc.ca) University of British Columbia iCAPTURE Centre From senger at ebi.ac.uk Mon Jun 21 14:28:18 2004 From: senger at ebi.ac.uk (Martin Senger) Date: Mon, 21 Jun 2004 19:28:18 +0100 (BST) Subject: [MISC] [MOBY-l] Help on writing .NET client for Moby services In-Reply-To: <1087842195.2000.58.camel@myhost.mydomain> Message-ID: > What does the word "Services" mean in this sentence? Does it mean the > name of the method being called, or the name of the SOAP listener script > that serves that method, or the name of the WSDL file, or...?? > I think the extension refers to the implementation of a web service. I think it is nothing you would need to know when you call such service. It is like all your services (probably) have an extension .pl (but, of course, I may be completely wrong not knowing enough about .net). Martin -- Martin Senger EMBL Outstation - Hinxton Senger at EBI.ac.uk European Bioinformatics Institute Phone: (+44) 1223 494636 Wellcome Trust Genome Campus (Switchboard: 494444) Hinxton Fax : (+44) 1223 494468 Cambridge CB10 1SD United Kingdom http://industry.ebi.ac.uk/~senger From markw at illuminae.com Mon Jun 21 14:47:38 2004 From: markw at illuminae.com (Mark Wilkinson) Date: Mon, 21 Jun 2004 11:47:38 -0700 Subject: [MISC] [MOBY-l] Help on writing .NET client for Moby services In-Reply-To: References: Message-ID: <1087843658.3732.6.camel@myhost.mydomain> Well... my own listener has (I think) an extension .cgi, but the one that I run on my local machine has no extension at all, so I don't think it is something we can (or should) predict or enforce. In light of the trend toward SWebby/RESTy type URL's, I am tending to leave extensions off of my new web scripts. I think this brings us back to my original answer to Gerald's question, which is 'we do not regulate the presence, absence, or type of extension used by moby service providers.' M On Mon, 2004-06-21 at 11:28, Martin Senger wrote: > > What does the word "Services" mean in this sentence? Does it mean the > > name of the method being called, or the name of the SOAP listener script > > that serves that method, or the name of the WSDL file, or...?? > > > I think the extension refers to the implementation of a web service. I > think it is nothing you would need to know when you call such > service. It is like all your services (probably) have an extension .pl > (but, of course, I may be completely wrong not knowing enough about .net). > > Martin -- Mark Wilkinson (mwilkinson at mrl.ubc.ca) University of British Columbia iCAPTURE Centre From barbara.re at studenti.unicam.it Wed Jun 23 04:46:12 2004 From: barbara.re at studenti.unicam.it (RE BARBARA) Date: Wed, 23 Jun 2004 10:46:12 +0200 Subject: [MOBY-l] Request about WSDL Message-ID: <1087980372.40d943546a19d@mail.studenti.unicam.it> Hi, Would I like to know how to get the WSDL of BIOMOBY and that of the single services recorded in it? Thanks, Barbara From senger at ebi.ac.uk Wed Jun 23 12:53:00 2004 From: senger at ebi.ac.uk (Martin Senger) Date: Wed, 23 Jun 2004 17:53:00 +0100 (BST) Subject: [MOBY-l] Request about WSDL In-Reply-To: <1087980372.40d943546a19d@mail.studenti.unicam.it> Message-ID: > Would I like to know how to get the WSDL of BIOMOBY and that of the single > services recorded in it? > 1) The WSDL of BioMoby (meaning a WSDL of a Moby registry) does not exists - but can be easily created from (for example) the Java interface Central.java, using Axis tool Java2WSDL. If you need it and if you do not know how to use this tool, let me know, I can help. 2) For individual services (assuming that you are aware of the limitations of such WSDLs - see many emails in this list, and also Moby API doc), you may use (again, for example) a Java client which is available in the Java directory of your locxal CVS copy of moby-live. Type this (put there, of course service name and authority you are interested in): ./run-cmdline-client -wsdl plantspGetRNA,www.sdsc.edu Regards, Martin -- Martin Senger EMBL Outstation - Hinxton Senger at EBI.ac.uk European Bioinformatics Institute Phone: (+44) 1223 494636 Wellcome Trust Genome Campus (Switchboard: 494444) Hinxton Fax : (+44) 1223 494468 Cambridge CB10 1SD United Kingdom http://industry.ebi.ac.uk/~senger