[MISC] Re: [MOBY-l] How to debug multi-parameter services

Mark Wilkinson markw at illuminae.com
Thu Apr 1 18:07:01 UTC 2004


Hi Both!

Sorry for the delay in dealing with this issue - I'm still setting up my
new lab, so I'm not getting a lot of coding done these days...

I went into the (Perl) code just now and noticed a HUGE bug in the XML
output for executing a service using the MOBY::Service->execute method
(I am associating the articleName attribute with the queryInput element
in the module, but it is supposed to be an attribute of the Simple or
Collection element according to the API).  This is an ugly mistake,
since my server-side parsing libraries probably compensate for this
error by looking for the articleName attribute in the wrong place as
well!

Anyway, this bug prevents me from writing a quick solution to your
problem.  I'll try to fix this over the next couple of days - it will
get fixed at the CSHL MOBY meeting this weekend for sure, since we are
highly unlikely to stay out late while we are there ;-)  ;-)

Anyway, I'm **really** sorry about that!  I'll get it fixed as quickly
as I can.

Mark


On Thu, 2004-04-01 at 09:04, José María Fernández González wrote:
> Hello Catherine,
> 	I'm sending a copy of this mail to Mark Wilkinson, so he can answer us. 
> My own answer is below.
> 
> Catherine Letondal wrote:
> > José_María_Fernández_González wrote:
> > 
> >>Hi everybody,
> >>	I have developed a couple of services which take two arguments as 
> >>input, and now, how do I debug them? The 'debugYourService' script (very 
> >>useful) only works with single Simple input services.
> >>
> >>	I have read the MOBY Client API (Service and ServiceInstance), and as I 
> >>have understood you can invoke a service with a Simple parameter, a 
> >>service with a Collection parameter but I'm unable to see the way to 
> >>invoke a service with two Simple parameters.
> > 
> > 
> > Have you found out how to do this? We actually have the same question.
> > Thanks in advance,
> > 
> > 
> > --
> > Catherine Letondal -- Pasteur Institute Computing Center
> > 
> > 
> 
> No, I haven't discovered an easy way to do that. Well, I was talking 
> about that with Mark a few weeks ago, and the problem is not inside the 
> protocol, but in the current design of the client libraries. MOBY people 
> is thinking on fixing the problem, but meanwhile we'd have to use some 
> tricks, and I don't like any of those I have thought.
> 
> The first trick is to create a new object type which models the service 
> call parameters as declared HAS elements in the object definition. I 
> don't like it because the MOBY registry will grow with each new 
> multi-parameter service.
> 
> The second one. I have dug in the perl libraries code, and I saw how the 
> MOBY message is built. You could create your own expanded version of 
> 'execute' method based on the one in MOBY::Client::Service. Then, you 
> should be able to test your service. But, the drawback is your service 
> could only be instantiated by your expanded 'execute', so it will not be 
> widely usable until the client API evolves.
> 
> 	So, Mark, what do you think about the tricks? Or, do you better think 
> we should wait for the new client API? I have also seen there is no way 
> to send 'Secondary' parameters to a service, and they are very 
> interesting when you are implementing a computational service.
> 
> 	Best regards,
> 		José María Fernández
-- 
Mark Wilkinson (mwilkinson at mrl.ubc.ca)
University of British Columbia iCAPTURE Centre




More information about the moby-l mailing list