problem with perl WSDL

M

m.simsic

Since a couple of days I am occupied with a problem which I cannot
solve.I installed the perl library SOAP::Lite and SOAP::WSDL from
cnet.org.
I've created the following perl script to make a connection with the
WSDL file:

use SOAP::WSDL;
warn "Loaded...\n";
import SOAP::Lite +trace;
warn "Loaded...\n";
my $soap=SOAP::WSDL->new(wsdl => 'http://iets.nl/DialogService?wsdl');
warn "Loaded...\n";
$soap->proxy ('http://iets.nl/DialogService');
warn "Loaded...\n";
$soap->wsdlinit;
warn "Loaded...\n";
my $sim=$soap->call ('startDialog');
warn "Loaded...\n";

YOu can find the wsdl file at:
http://www.simsic.nl/got/DialogService.wsdl

When I trace the perl file I get the following:
D:\install>test.pl
Loaded...
Loaded...
SOAP::Transport::new: ()
SOAP::Serializer::new: ()
SOAP::Deserializer::new: ()
SOAP::parser::new: ()
SOAP::Lite::new: ()
Loaded...
SOAP::Transport::HTTP::Client::new: ()
Loaded...
SOAP::Deserializer::new: ()
SOAP::parser::new: ()
SOAP::Schema::new: ()
SOAP::Schema::DESTROY: ()
SOAP::Deserializer::DESTROY: ()
SOAP::parser::DESTROY: ()
Loaded...
Error processing WSDL: No parts found for message startDialogRequest
with path '/wsdl:definitions/
wsdl:message[@name='startDialogRequest']/wsdl:part' at
C:/Perl/site/lib/SOAP/WSDL.pm line 165.
SOAP::Deserializer::DESTROY: ()
SOAP::parser::DESTROY: ()
SOAP::Transport::DESTROY: ()
SOAP::Transport::HTTP::Client::DESTROY: ()
SOAP::Serializer::DESTROY: ()

Can someone explain me where the problem lies? The WSDL file should be
ok, and cannot be changed, since other clients are also working with
this WSDL file.
Any help appreciated!

Kind regards,
Marko
 
M

m.simsic

Since a couple of days I am occupied with a problem which I cannot
solve.I installed the perl library SOAP::Lite and SOAP::WSDL from
cnet.org.
I've created the following perl script to make a connection with the
WSDL file:

use SOAP::WSDL;
warn "Loaded...\n";
import SOAP::Lite +trace;
warn "Loaded...\n";
my $soap=SOAP::WSDL->new(wsdl => 'http://iets.nl/DialogService?wsdl');
warn "Loaded...\n";
$soap->proxy ('http://iets.nl/DialogService');
warn "Loaded...\n";
$soap->wsdlinit;
warn "Loaded...\n";
my $sim=$soap->call ('startDialog');
warn "Loaded...\n";

YOu can find the wsdl file at:
http://www.simsic.nl/got/DialogService.wsdl

When I trace the perl file I get the following:
D:\install>test.pl
Loaded...
Loaded...
SOAP::Transport::new: ()
SOAP::Serializer::new: ()
SOAP::Deserializer::new: ()
SOAP::parser::new: ()
SOAP::Lite::new: ()
Loaded...
SOAP::Transport::HTTP::Client::new: ()
Loaded...
SOAP::Deserializer::new: ()
SOAP::parser::new: ()
SOAP::Schema::new: ()
SOAP::Schema::DESTROY: ()
SOAP::Deserializer::DESTROY: ()
SOAP::parser::DESTROY: ()
Loaded...
Error processing WSDL: No parts found for message startDialogRequest
with path '/wsdl:definitions/
wsdl:message[@name='startDialogRequest']/wsdl:part' at
C:/Perl/site/lib/SOAP/WSDL.pm line 165.
SOAP::Deserializer::DESTROY: ()
SOAP::parser::DESTROY: ()
SOAP::Transport::DESTROY: ()
SOAP::Transport::HTTP::Client::DESTROY: ()
SOAP::Serializer::DESTROY: ()

Can someone explain me where the problem lies? The WSDL file should be
ok, and cannot be changed, since other clients are also working with
this WSDL file.
Any help appreciated!

Kind regards,
Marko
Nobody an idea how to solve this issue?
 
X

xhoster

Since a couple of days I am occupied with a problem which I cannot
solve.I installed the perl library SOAP::Lite and SOAP::WSDL from
cnet.org.
I've created the following perl script to make a connection with the
WSDL file:
.....
Error processing WSDL: No parts found for message startDialogRequest
with path '/wsdl:definitions/
wsdl:message[@name='startDialogRequest']/wsdl:part' at
C:/Perl/site/lib/SOAP/WSDL.pm line 165.
....
Can someone explain me where the problem lies? The WSDL file should be
ok,

The Perl module obviously does not feel that the WSDL file is fine.

Specifically, it seems to object to:

<wsdl:message name="startDialogRequest"> </wsdl:message>

having no "part" between the tags. Whether that is a reasonable objection
or not, I don't know. I know Perl, not WSDL. If you can point me (us) to
the section of some authoritative guide on WSDL saying what is supposed to
happen in this case, we will be more likely to be able to help.

What do these other clients do when they encounter startDialogRequest?
Do you know for a fact that removing that from the XML would break other
clients?

Nobody an idea how to solve this issue?

If you are really desperate, you could try hacking SOAP:WSDL

by commenting out line 165 and then changing 169 from

while (my $part=$parts->shift) {

to

while ($parts and my $part=$parts->shift) {

I don't know what long range repercussions this might have, but it would
stop the immediate error you are getting.

Xho
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,012
Latest member
RoxanneDzm

Latest Threads

Top