[MOBY-l] Problem invoking services (also ping Vijay!)

Vijay Narayanasamy VNarayan at mail.brc.mcw.edu
Fri Oct 10 11:56:40 EDT 2003


Mark, I'll get it fixed. 

Jay, you should use "PMID" as namespace for input to GetPubmed service
(Search PubMed for given query and get PMID).  Global_Keyword for
SearchPubmed service (Retrieve PubMed articles in MEDLINE Display Format for
a given PMID)

Vijay

-----Original Message-----
From: Mark Wilkinson [mailto:markw at illuminae.com] 
Sent: Friday, October 10, 2003 10:43 AM
To: mobyl
Subject: Re: [MOBY-l] Problem invoking services (also ping Vijay!)

Hi Jay, 

you've missed a few crucial bits of information that we need to help you
along...  

First, which language are you using to evoke the service?  We have just
discovered that Java and SOAP::Lite are not playing well together, and
the architecture (as it stands today) was built using SOAP::Lite, so we
are trying to debug exactly what the problem is before we make any
changes.  If you are using Perl, you should not hit this problem.

Second, if you are using Perl, are you using the Client side libraries
that I have provided in Perl?  (MOBY::Client::*)  If so, can you send me
the code snippet that you are using so that I can proof it?

The message structure that successfully executes Vijays PubMed service
looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope 
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" 
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xsd="http://www.w3.org/1999/XMLSchema"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<namesp1:GetPubmedResponse xmlns:namesp1="http://biomoby.org/">
<s-gensym3 xsi:type="SOAP-ENC:base64">
base64_encoded query data here (optional, if it isn't b64 encoded, then
change the xsi:type in the preceding tag)
</s-gensym3>
</namesp1:GetPubmedResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

I just tested that message and it does invoke the service properly;
however, if you use the client side libraries you will never need to
know the message structure anyway, so I strongly suggest you do so :-)

VIJAY!  I just noticed something in your service.  If you send it the
wrong namespace type it sends back a chunk of HTML!!  YUCK!!  :-)  It
then goes on to ignore the namespace entirely and assume that it is the
pubmed namespace, retrieve the record, and send it back.  This is bad
behaviour for a MOBY service.  It should certainly not send an HTML
block by surprise inside of a PubMed-MEDLINE object.  If the namespace
is incorrect, it should simply return an empty response: 
<moby:queryResponse/> and nothing more.

Cheers!

M

On Fri, 2003-10-10 at 09:04, Jay Potts wrote:
> Hello Moby folks,
> I'm trying to invoke a service that I've found through Moby's registry,
and
> have run into the following problems.
> 
> I'm not sure what to set as the endpoint, for the SOAP message that I'm
> sending. I've tried setting the endpoint to
> http://www.biomoby.org/#GetPubmed, but it gives me an error "(405) Method
> not allowed"
> 
> So, I tried sending it to
> http://prometheus.brc.mcw.edu/pubfetch-bin/PubFetchService.pl, but then
the
> resulting message is just the following fault:
> "Denied access to method (GetPubmed) in class (main) at
> /usr/local/lib/perl5/site_perl/5.8.0/SOAP/Lite.pm line 2128"
> 
> Does anyone have any idea of what I'm doing wrong? I'm pretty new to this
> SOAP RPC stuff, so I'm sure it could be a great variety of things. I can
> provide more info, if necessary.
> 
> 
> Currently, the message is as follows:
> <?xml version="1.0" encoding="UTF-8"?>
> 
> <SOAP-ENV:Envelope
> xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
> xmlns:SOAPENC="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsd="http://www.w3.org/1999/XMLSchema"
> SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
> 
> <SOAP-ENV:Body>
> <namesp3:GetPubmed xmlns:namesp3="http://biomoby.org/">
> <body>
> 
> <![CDATA[<?xml version='1.0' encoding='UTF-8'?>
> 
> <moby:MOBY xmlns:moby='http://www.biomoby.org/moby-s'>
> 
> <moby:Query>
> 
> <moby:queryInput moby:articleName='ccc'>
> <moby:Simple>
> <Object namespace="Global_Keyword" id="1234568" >
> </moby:Simple>
> </moby:queryInput>
> 
> <moby:queryInput moby:articleName='ccc'>
> <moby:Simple>
> <Object namespace="Global_Keyword" id="1234567" >
> </moby:Simple>
> </moby:queryInput>
> 
> </moby:Query>
> 
> </moby:MOBY>]]>
> 
> </body>
> 
> </namesp3:GetPubmed>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
> 
> 
> 
> _______________________________________________
> moby-l mailing list
> moby-l at biomoby.org
> http://biomoby.org/mailman/listinfo/moby-l
-- 
Mark Wilkinson <markw at illuminae.com>
Illuminae

_______________________________________________
moby-l mailing list
moby-l at biomoby.org
http://biomoby.org/mailman/listinfo/moby-l


More information about the moby-l mailing list