http://qs321.pair.com?node_id=380176

DamnDirtyApe has asked for the wisdom of the Perl Monks concerning the following question:

I'm trying to get aquainted with web services via SOAP::Lite, but I'm running into some problems.

Here is my SOAP server:

#! /usr/bin/perl use strict; use SOAP::Transport::HTTP; SOAP::Transport::HTTP::CGI -> dispatch_to( '/var/www/localhost/cgi-bin/soap_modules' ) -> handle;

My SOAP client:

#! /usr/bin/perl -w use strict; use SOAP::Lite; my $soap = SOAP::Lite -> proxy( 'http://dg.example.org/cgi-bin/soapserver.cgi' ) -> uri( 'http://dg.example.org/Greeter' ) -> on_fault( sub { my($soap, $res) = @_; die ref $res ? $res->faultstring : $soap->transport->status, +"\n"; }); my $greeter = $soap->call( new => 'Doug' )->result; print $soap->formal( $greeter )->result; __END__

And my Greeter class:

package Greeter; use strict; use warnings; sub new { my $self = shift; bless { name => shift }, 'Greeter'; } sub formal { my $self = shift; return "Welcome, $self->{name}."; } sub casual { my $self = shift; return "Howdy, $self->{name}!"; } 1;

When I run the client, I get the following:

Denied access to method (formal) in class (Greeter) at /usr/lib/perl5/ +site_perl/5.8.2/SOAP/Lite.pm line 2267.

Can anyone give me any pointers on why this is?


_______________
DamnDirtyApe
Those who know that they are profound strive for clarity. Those who
would like to seem profound to the crowd strive for obscurity.
            --Friedrich Nietzsche