[MOBY-dev] Try to create service from serialized WSDL, get strange SOAP::Lite error

Pieter Neerincx Pieter.Neerincx at wur.nl
Mon Feb 6 12:09:11 UTC 2006


Hi Frank,

Serialisation and SOP::Lite: ough! It wouldn't surprise me if it's  
some wierd S::L logic causing this error. First of all which version  
of S::L are you on? According to the docs, you should pass an URL to  
the S::L sub that parses the WSDL. Some people use an URL to a file  
with file:///some/path/to/file.xml, but as far as I can Google it the  
BioMOBY is the only piece of code that passes a string using 'data:, 
$wsdl'. So we are using more or less a hack and (de)serialising  
strings in S::L is not always transparent. It might be an encoding  
problem. Currently I have a problem with a service that takes the  
stored output from another one as input. Used to work and the XML  
still looks the same and valid, but for some reason libxml2 chokes on  
it. I suspect some encoding problem that occurs after several  
sessions of serialising and deserialising, but I haven't got a fix  
yet...

Cheers,

Pi

On 3-Feb-2006, at 6:41 PM, Frank Gibbons wrote:

>
>    Hi,
>    It takes MOBY about half a second to retrieve WSDL from Central,  
> to build a
>    service. In an effort to improve performance in an application  
> that may need
>    to build many (maybe ten) services at a time, I'm trying to  
> cache WSDL
>    locally, and build services from that, as needed. I'm using  
> Storable for
>    serialization  in  Perl,  which has worked well for me in the  
> past. To
>    paraphrase Yogi Berra: "Half a second here, half a second there,  
> pretty soon
>    you're talking about real time."
>    I'm encountering a strange error in this, which appears to be  
> emanating
>    ultimately from SOAP::Lite (see below) In essence it says:
>    Service description 'data:,<insert_wsdl_here> can't be loaded:  
> 501 Protocol
>    scheme '' is not supported
>    The WSDL is URI_encoded by MOBY, not by me - I just supply an  
> XML-text
>    description to MOBY::Client::Service->new(), pretty much exactly  
> as provided
>    from MCentral. I DO NOT see this problem when using the WSDL  
> supplied by
>    MOBY Central directly however, so there's clearly some kind of  
> problem with
>    serialization. I'm wondering if any of you have seen a similar  
> behaviour in
>    the past, and how you got around it. The WSDL I retrieve from  
> the cache
>    looks fine when I print it out, but I'm wondering if there might  
> be some
>    other funkiness to it that gets messed up with I store it.
>    Thanks in advance.
>    -Frank
>    ==============================   MOBY::Client::Service  message   
> below
>    =========================
>    Service description
>    'data:,%3C%3Fxml%20version%3D%221.0%22%3F%3E%0A%3Cwsdl% 
> 3Adefinitions%20name%
>    3D%22MOBY_Central_Generated_WSDL%22%0A%20%20%20%20%20%20%20%20% 
> 20%20%20%20%2
>    0%20%20%20targetNamespace%3D%22http%3A%2F%2Fbiomoby.org% 
> 2FCentral.wsdl%22%0A
>    %20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xmlns%3Atns%3D% 
> 22http%3A%2F%
>    2Fbiomoby.org%2FCentral.wsdl%22%0A%20%20%20%20%20%20%20%20%20%20% 
> 20%20%20%20
>    %20%20xmlns%3Axsd1%3D%22http%3A%2F%2Fbiomoby.org% 
> 2FCentralXSDs.xsd%22%20%0A%
>    20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xmlns%3Asoap%3D% 
> 22http%3A%2F%
>    2Fschemas.xmlsoap.org%2Fwsdl%2Fsoap%2F%22%0A%20%20%20%20%20%20% 
> 20%20%20%20%2
>    0%20%20%20%20%20xmlns%3Axsd%3D%22http%3A%2F%2Fwww.w3.org%2F1999% 
> 2FXMLSchema%
>    22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20xmlns%3D% 
> 22http%3A%2F%2
>    Fschemas.xmlsoap.org%2Fwsdl%2F%22%0A%20%20%20%20%20%20%20%20%20% 
> 20%20%20%20%
>    20%20%20xmlns%3Awsdl%3D%22http%3A%2F%2Fschemas.xmlsoap.org%2Fwsdl 
> %2F%22%3E%0
>    A%0A%20%20%0A%20%20%3Cwsdl%3Amessage%20name%3D% 
> 22ASimpleServiceInput%22%3E%0
>    A%20%20%20%20%20%20%20%20%20%20%3Cwsdl%3Apart%20name%3D%22data% 
> 22%20type%3D%
>    22xsd%3Astring%22%2F%3E%0A%20%20%3C%2Fwsdl%3Amessage%3E%0A%20%20% 
> 20%20%20%20
>    %20%20%0A%20%20%3Cwsdl%3Amessage%20name%3D%22ASimpleServiceOutput 
> %22%3E%0A%2
>    0%20%20%20%20%20%20%20%20%20%3Cwsdl%3Apart%20name%3D%22body%22% 
> 20type%3D%22x
>    sd%3Astring%22%2F%3E%0A%20%20%3C%2Fwsdl%3Amessage%3E%0A%20%20%20% 
> 20%20%20%20
>    %20%20%20%0A%20%20%3Cwsdl%3AportType%20name%3D% 
> 22ASimpleServicePortType%22%3
>    E%0A%20%20%20%20%20%20%20%20%20%20%3Cwsdl%3Aoperation%20name%3D% 
> 22ASimpleSer
>    vice%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20% 
> 3Cwsdl%3Ain
>    put%20message%3D%22tns%3AASimpleServiceInput%22%2F%3E%0A%20%20% 
> 20%20%20%20%2
>    0%20%20%20%20%20%20%20%20%20%20%3Cwsdl%3Aoutput%20message%3D% 
> 22tns%3AASimple
>    ServiceOutput%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%3C%2Fwsdl 
> %3Aoperatio
>    n%3E%0A%20%20%3C%2Fwsdl%3AportType%3E%0A%20%0A%20%20%3Cwsdl% 
> 3Abinding%20name
>    %3D%22ASimpleServiceBinding%22%20type%3D%22tns% 
> 3AASimpleServicePortType%22%3
>    E%0A%20%20%20%20%20%20%20%20%20%20%3Csoap%3Abinding%20style%3D% 
> 22rpc%22%20tr
>    ansport%3D%22http%3A%2F%2Fschemas.xmlsoap.org%2Fsoap%2Fhttp%22%2F 
> %3E%0A%20%2
>    0%20%20%20%20%20%20%20%20%3Cwsdl%3Aoperation%20name%3D% 
> 22ASimpleService%22%3
>    E%3C!--%20in%20essense%2C%20this%20is%20the%20name%20of%20the% 
> 20subroutine%2
>    0that%20is%20called%20--%3E%0A%20%20%20%20%20%20%20%20%20%20%20% 
> 20%20%20%20%
>    20%20%3Csoap%3Aoperation%20soapAction%3D'http%3A%2F%2Fbiomoby.org 
> %2F%23ASimp
>    leService'%20style%3D'rpc'%2F%3E%0A%20%20%20%20%20%20%20%20%20% 
> 20%20%20%20%2
>    0%20%20%20%3Cwsdl%3Ainput%3E%0A%20%20%20%20%20%20%20%20%20%20%20% 
> 20%20%20%20
>    %20%20%20%20%20%20%20%20%20%20%3Csoap%3Abody%20use%3D%22encoded% 
> 22%20namespa
>    ce%3D%22http%3A%2F%2Fbiomoby.org%2F%22%20encodingStyle%3D%22http% 
> 3A%2F%2Fsch
>    emas.xmlsoap.org%2Fsoap%2Fencoding%2F%22%2F%3E%0A%20%20%20%20%20% 
> 20%20%20%20
>    %20%20%20%20%20%20%20%20%3C%2Fwsdl%3Ainput%3E%0A%20%20%20%20%20% 
> 20%20%20%20%
>    20%20%20%20%20%20%20%20%3Cwsdl%3Aoutput%3E%0A%20%20%20%20%20%20% 
> 20%20%20%20%
>    20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Csoap%3Abody%20use% 
> 3D%22encode
>    d%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20% 
> 3C%2Fwsdl%3
>    Aoutput%3E%0A%20%20%20%20%20%20%20%20%20%20%3C%2Fwsdl%3Aoperation 
> %3E%0A%20%2
>    0%3C%2Fwsdl%3Abinding%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20% 
> 20%20%20%20%
>    0A%20%20%3Cwsdl%3Aservice%20name%3D%22ASimpleServiceService%22%3E 
> %0A%20%20%2
>    0%20%20%20%20%20%20%20%3Cwsdl%3Adocumentation%3EAuthority%3A% 
> 20llama.med.har
>    vard.edu%20%20-%20%20A%20simple%20service%20for%20testing% 
> 20purposes.%0AEnte
>    r%20or%20edit%20the%20description%20of%20service% 
> 20ASimpleService.%0A%0A%3C%
>    2Fwsdl%3Adocumentation%3E%20%20%3C!--%20service%20description% 
> 20goes%20here%
>    20--%3E%0A%20%20%20%20%20%20%20%20%20%20%3Cwsdl%3Aport%20name%3D% 
> 22ASimpleSe
>    rvicePort%22%20binding%3D%22tns%3AASimpleServiceBinding%22%3E%0A% 
> 20%20%20%20
>    %20%20%20%20%20%20%20%20%20%20%20%20%20%3Csoap%3Aaddress% 
> 20location%3D%22htt
>    p%3A%2F%2Fllama.med.harvard.edu%2F~fgibbons%2Fcgi%2FBGN% 
> 2Fdispatcher.pl%22%2
>    F%3E%20%20%20%20%3C!--%20URL%20to%20service%20scriptname%20--%3E% 
> 0A%20%20%20
>    %20%20%20%20%20%20%20%3C%2Fwsdl%3Aport%3E%0A%20%20%3C%2Fwsdl% 
> 3Aservice%3E%0A
>    %0A%3C%2Fwsdl%3Adefinitions%3E%0A%0A%0A' can't be loaded: 501  
> Protocol
>    scheme '' is not supported
>
>    PhD, Computational Biologist,
>    Harvard Medical School BCMP/SGM-322, 250 Longwood Ave, Boston MA  
> 02115, USA.
>    Tel: 617-432-3555       Fax:
>    617-432-3557       [1]http://llama.med.harvard.edu/~fgibbons
>
> References
>
>    1. 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