Loading ...
Sorry, an error occurred while loading the content.

1875Denied access to method (mod_perl+SOAP::Lite)

Expand Messages
  • Sheth, Niraj
    Sep 28, 2002
    • 0 Attachment
      Hi,

      I am getting "Denied access to method" error message.

      httpd.conf
      =======
      -----------------><----------------

      PerlRequire /Volumes/app/dev/codebase/perl/start_up.pl

      PerlModule Apache::Reload
      <Location /soap>
      # PerlInitHandler Apache::Reload
      # PerlSetVar ReloadDebug On
      # PerlSetVar ReloadAll Off
      SetHandler perl-script
      PerlHandler SOAP::Apache
      </Location>
      -----------------><----------------

      SOAP::Apache
      ===========
      package SOAP::Apache;

      use strict;
      use SOAP::Transport::HTTP;

      #SOAP::Lite->soapversion(1.2);
      my $server = SOAP::Transport::HTTP::Apache
      -> serializer(MySerializer->new)
      -> dispatch_to('/Volumes/app/dev/codebase/perl/modules');

      $server->serializer->xmlschema(2001);
      print "SOAP xml schema: " . $server->serializer->xmlschema . "\n";

      sub handler { $server->handler(@_) }

      BEGIN {
      package MySerializer; @MySerializer::ISA = 'SOAP::Serializer';

      sub envelope {
      print STDERR "($$) $ENV{REMOTE_USER}: envelope called with $_[1],
      $_[2] at " . localtime() . "\n";
      UNIVERSAL::isa($_[2] => 'SOAP::Data')
      ? do { (my $method = $_[2]->name) =~ s/Request$/Response/;
      $_[2]->name($method) }
      : $_[2] =~ s/Request$/Response/
      if $_[1] =~ /^(?:method|response)$/;

      $_[2] = SOAP::Data->name($_[2])
      ->encodingStyle("http://schemas.xmlsoap.org/soap/encoding/")
      if $_[1] =~ /^(?:method|response)$/;

      shift->SUPER::envelope(@_);
      }
      }

      1;

      -----------------><----------------

      In dir /Volumes/app/dev/codebase/perl/modules I have A.pm, B.pm, C.pm etc ..
      and B and C has "use A;" while A.pm has "use B;" and "use C;" (@INC and "use
      lib" are set in start_up.pl)


      Now it works for few times first but will fail after that with Denied access
      to method error.
      Any Idea?? Does anyone has experience similiar problem?

      First I thought it's Apache::Reload, but I commented out from httpd.conf
      (still I have "use Apache::Reload;" in all modules though).

      Thanks,
      -Niraj

      My set-up is
      mod_perl(latest 1.2x)
      perl 5.6.1
      SOAP::Lite(latest)
      Solaris 2.8



      LEGAL NOTICE
      Unless expressly stated otherwise, this message is confidential and may be privileged. It is intended for the addressee(s) only. Access to this E-mail by anyone else is unauthorized. If you are not an addressee, any disclosure or copying of the contents of this E-mail or any action taken (or not taken) in reliance on it is unauthorized and may be unlawful. If you are not an addressee, please inform the sender immediately.
    • Show all 3 messages in this topic