WSDL doesn’t works only on perl 5.6 and not 5.8. UNIVERSAL::AUTOLOAD is broken in perl 5.8 and it is used by Class::Hook upon wich WSDL::Generator depends.
####
package WebserviceFunctions;
sub new { bless {}, shift; }
=begin WSDL
_DOC Hello
=end WSDL
sub Hello {
my ($s, $name) = @_;
return "Hello, $name".$/;
}
=begin WSDL
_DOC Goodbye
=end WSDL
sub Goodbye {
my ($s, $name) = @_;
return "Goodbye, $name".$/;
}
####
#!/usr/bin/perl -w
use Pod::WSDL;
use CGI;
print CGI->header('text/xml');
my $pod = new Pod::WSDL(source=> 'WebServiceFunctions',
location=>'http://localhost/webservice_pod.pl',
pretty=>1,
withDocumentation=>1);
print $pod->WSDL;
1;