[MOBY-dev] problems with retrieveService() in Perl API

Pieter Neerincx Pieter.Neerincx at wur.nl
Fri Feb 10 17:03:10 UTC 2006


On 10-Feb-2006, at 4:36 PM, Frank Gibbons wrote:

> OK, so there is a problem with SOAP::Lite 0.67. I downgraded my
> installation to 0.60 (which by the way, is reported here
> (http://soaplite.com/download.html) as being the recommended stable
> release, and now at least I can retrieveService details  
> sufficiently to
> build a service instance. If upgraded back to 0.67, and the problem
> re-appears, so I'm downgrading to 0.60, where I will stay.

> However, as I discovered, when a user simply installs SOAP::Lite  
> from CPAN,
> they may get quite a different version than 0.60 (I got 0.67), in  
> which
> case, the message gets sent out correctly on the wire, but is  
> perceived as
> empty by MOBY Central.

Ok, still have to test 0.67, but 0.66 definitely had some problems.  
However we can not cling onto 0.60 forever. especially now that 0.67  
is up at CPAN and that is what new Perlisch Mobifiers will get when  
they try MOBY out. So either we have to adapt or S::L has to be  
patched or both. I posted the "anyURI" problem at the S::L list and  
so far haven't had any feedback :(. I'll test 0.67 this weekend and  
repost. If S::L is not fixed fast enough I'll make a list of the  
small patches you'll need to make BioMOBY work with the latest  
"stable" S::L.

Is your XML parsing problem now fixed by the installation of the new  
Perl interpreter or is that one still pending a fix?

> I don't know much about the details of packaging
> SOAP requests, and you can read the gory details below for  
> yourselves, but
> it appears that SOAP::Lite 0.60 and SOAP::Lite 0.67 do not  
> understand each
> other. The clue was given by the User-Agent and SOAPServer lines,  
> showing
> that my request was sent using SOAP::Lite/Perl/0.67, and the error  
> message
> sent in response was generated by SOAP::Lite/Perl/0.60
>
> So, mystery solved. I'll put a check for SOAP::Lite's version, and a
> warning for this into the Makefile, until we can figure out what  
> the real
> solution to this problem is.
>
> Thanks to Mark & Pieter for their help and suggestions.
>
> -Frank
> ================================== SOAP::Lite +trace output
> ============================
>
> SOAP::Transport::HTTP::Client::send_receive: POST
> http://mips.gsf.de/cgi-bin/proj/planet/moby/MOBY-Central.pl HTTP/1.1
> Accept: text/xml
> Accept: multipart/*
> Accept: application/soap
> User-Agent: SOAP::Lite/Perl/0.67
> Content-Length: 1539
> Content-Type: text/xml; charset=utf-8
> SOAPAction: "http://mips.gsf.de/MOBY/Central#retrieveService"
>
> <?xml version="1.0" encoding="UTF-8"?><soap:Envelope
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:soap="http://schemas.xmlsoap.org/soap/ 
> envelope/"><soap:Body><retrieveService
> xmlns="http://mips.gsf.de/MOBY/Central"><c-gensym6  
> xsi:type="xsd:anyURI">
>          <retrieveService>
>          <Service authURI="www.watdb.nl"  
> serviceName="getWAtDBIdByPOAcc"
> lsid="urn:lsid:biomoby.org:serviceinstance:www.watdb.nl,getWAtDBIdByPO 
> Acc">
>          <serviceType>Retrieval</serviceType>
>          <authoritative>1</authoritative>
>          <Category>moby</Category>
>          <Description><![CDATA[Returns a list of WAtDB mutantline  
> ids with
> a certain PO accession number]]></Description>
>          <contactEmail>paulien.adamse at wur.nl</contactEmail>
>          <signatureURL/>
>          <URL>http://www.watdb.nl/moby-live/cgi-bin/MOBY/Services/ 
> Watdb_mobyservices.py</URL>
>          <Input>
>                  <Simple articleName="">
>                          <objectType
> lsid="urn:lsid:biomoby.org:objectclass:Object">Object</objectType>
>                          <Namespace
> lsid="urn:lsid:biomoby.org:namespacetype:PO_acc">PO_acc</Namespace>
>                  </Simple>
>          </Input>
>          <Output>
>                  <Simple articleName="">
>                          <objectType
> lsid="urn:lsid:biomoby.org:objectclass:Object">Object</objectType>
>                          <Namespace
> lsid="urn:lsid:biomoby.org:namespacetype:WAtDB_id">WAtDB_id</ 
> Namespace>
>                  </Simple>
>          </Output>
>          <secondaryArticles>
>                  </secondaryArticles>
>          </Service>
>          </retrieveService></c-gensym6></retrieveService></ 
> soap:Body></soap:Envelope>
> SOAP::Transport::HTTP::Client::send_receive: HTTP::Response=HASH 
> (0x8906a8c)
> SOAP::Transport::HTTP::Client::send_receive: HTTP/1.1 500 Internal  
> Server Error
> Connection: close
> Date: Fri, 10 Feb 2006 15:31:05 GMT
> Server: Apache
> Content-Length: 559
> Content-Type: text/xml; charset=utf-8
> Client-Date: Fri, 10 Feb 2006 15:29:58 GMT
> Client-Peer: 146.107.217.142:80
> Client-Response-Num: 1
> SOAPServer: SOAP::Lite/Perl/0.60
>
> <?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
> xmlns:xsi="http://www.w3.org/2001/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/2001/XMLSchema"
> SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/ 
> encoding/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP- 
> ENV:Server</faultcode><faultstring>Empty
> String at /home/users/plant/lib/perl/MOBY/Central.pm line 2457
> </faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
> SOAP::Deserializer::deserialize: ()
> SOAP::Parser::decode: ()
> SOAP::SOM::new: ()
> SOAP::SOM::DESTROY: ()
>
> Connection to MOBY Central at URI 'http://mips.gsf.de/MOBY/Central'  
> died
> because:
>           SOAP-ENV:Server :  Empty String at
> /home/users/plant/lib/perl/MOBY/Central.pm line 2457
>
>   ERROR ERROR ERROR
>
>
>
> At 09:56 AM 2/10/2006, you wrote:
>> At 05:57 AM 2/10/2006, you wrote:
>>> for that one, but that gave me the same results. I currently running
>>> on SOAP::Lite 0.66 with custom patches, but I'm going to try 0.67
>>> today... If you reinstalled Perl, did you also reinstall SOAP::Lite?
>>> If yes which version? In case it's 0.60+ you might have an "anyURI"
>>> problem.
>>
>> Yes, when I re-installed the interpreter (built from source 5.8.6), I
>> reinstalled all of the modules too, from CPAN. I have SOAP::Lite  
>> version
>> 0.67 installed. What is the "anyURI" problem you mention?
>>
>> Thanks for the response, Pieter.
>>
>> -Frank
>>
>>
>> PhD, Computational Biologist,
>> Harvard Medical School BCMP/SGM-322, 250 Longwood Ave, Boston MA  
>> 02115, USA.
>> Tel: 617-432-3555       Fax:
>> 617-432-3557       http://llama.med.harvard.edu/~fgibbons
>>
>> _______________________________________________
>> MOBY-dev mailing list
>> MOBY-dev at biomoby.org
>> http://biomoby.org/mailman/listinfo/moby-dev
>
> PhD, Computational Biologist,
> Harvard Medical School BCMP/SGM-322, 250 Longwood Ave, Boston MA  
> 02115, USA.
> Tel: 617-432-3555       Fax:
> 617-432-3557       http://llama.med.harvard.edu/~fgibbons
>
> _______________________________________________
> MOBY-dev mailing list
> MOBY-dev at biomoby.org
> http://biomoby.org/mailman/listinfo/moby-dev


Wageningen University and Research centre (WUR)
Laboratory of Bioinformatics
Transitorium (building 312) room 1034
Dreijenlaan 3
6703 HA Wageningen
The Netherlands
phone: 0317-483 060
fax: 0317-483 584
mobile: 06-143 66 783
pieter.neerincx at wur.nl






More information about the MOBY-dev mailing list