in reply to SOAP::Lite:Java vs Perl

SOAP::Lite is kind of... well, it's not so great in it's present state. I highly recommend checking out XML::Compile::SOAP. It is trivial to compile a WSDL (remote or stored locally for speed bump) and run SOAP requests from the operations it exposes. I've only used it to play around (as a model with Catalyst) but I was very impressed and the author is quite receptive to constructive feedback.

Replies are listed 'Best First'.
Re^2: SOAP::Lite:Java vs Perl
by Anonymous Monk on May 27, 2008 at 09:57 UTC
    how about an example for http://searchapi2.dialog.com/axis/DialogSearch.wsdl?

      Give this a spin. (I was wrong, you have to provide the file/XML, it won't do remote requests natively -- I think the Catalyst Model module does). You should be able to see what's going on and check the docs (and dive the dump info or the published human API if there is one) for how to make calls.

      use strict; use warnings; use Data::Dumper; $Data::Dumper::Terse = 1; use XML::Compile::WSDL11; use LWP::Simple; # use XML::LibXML; # might want this my $uri = shift || die "Give a WSDL URI!\n"; my $wsdl = LWP::Simple::get($uri) || die "Couldn't get $uri"; my $schema = XML::Compile::WSDL11->new($wsdl); print Dumper($schema), "\n"; print "OPERATIONS_______________________________\n"; for my $op ( sort { $a->{operation} cmp $b->{operation} } $schema->operations ) { print "\t", $op->{operation}, "\n"; }

      (update, added sort)

        Eeek error: attribute `name' is required at {http://schemas.xmlsoap.org/wsdl/}definitions/at(name)