problem with perl WSDL

Discussion in 'Perl Misc' started by m.simsic@planet.nl, Jul 27, 2005.

  1. Guest

    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
     
    , Jul 27, 2005
    #1
    1. Advertising

  2. Guest

    wrote:
    > 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?
     
    , Jul 29, 2005
    #2
    1. Advertising

  3. Guest

    wrote:
    > wrote:
    > > 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.

    > > and cannot be changed, since other clients are also working with
    > > this WSDL file.


    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?


    > > Any help appreciated!
    > >
    > > Kind regards,
    > > Marko


    > 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

    --
    -------------------- http://NewsReader.Com/ --------------------
    Usenet Newsgroup Service $9.95/Month 30GB
     
    , Jul 29, 2005
    #3
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Dark
    Replies:
    1
    Views:
    4,632
    milfar
    Nov 14, 2008
  2. Chris Bedford
    Replies:
    0
    Views:
    586
    Chris Bedford
    Aug 21, 2003
  3. Stephen Edgecombe

    WSDL.EXE: WSDL Import Directive

    Stephen Edgecombe, Aug 13, 2003, in forum: ASP .Net Web Services
    Replies:
    0
    Views:
    240
    Stephen Edgecombe
    Aug 13, 2003
  4. RH
    Replies:
    1
    Views:
    265
    Dino Chiesa [Microsoft]
    May 27, 2004
  5. mrnu

    wsdl.exe fails with WebMethods generated wsdl file

    mrnu, Jun 7, 2004, in forum: ASP .Net Web Services
    Replies:
    0
    Views:
    209
Loading...

Share This Page