[MOBY-dev] Try to create service from serialized WSDL, get strange SOAP::Lite error
Frank Gibbons
francis_gibbons at hms.harvard.edu
Fri Feb 3 17:41:58 UTC 2006
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
More information about the MOBY-dev
mailing list