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

Dynamic dispatch problems with Apache-mod_perl

Expand Messages
  • iaharder
    Hi soaplite members, I m having a peculiar problem using SOAP::Lite with Apache-mod_perl 1.3.23 on Mandrake Linux, and wonder if anybody might shed some light
    Message 1 of 1 , Jun 27, 2002
    • 0 Attachment
      Hi soaplite members,

      I'm having a peculiar problem using SOAP::Lite with Apache-mod_perl
      1.3.23 on Mandrake Linux, and wonder if anybody might shed some light
      on the problem:

      My httpd.conf entry looks like:

      ---
      PerlModule Apache::Registry

      <Location /perl/*.pl>
      SetHandler perl-script
      PerlHandler Apache::Registry
      Options -Indexes +ExecCGI
      PerlSendHeader On
      </Location>
      ---

      My dispatch module looks like:

      ---
      #!perl -w

      use SOAP::Transport::HTTP;

      SOAP::Transport::HTTP::Apache
      -> dispatch_to('/var/www/perl/soap/examples', 'Hello')
      -> handle;

      1;
      ---

      As you can see, the Hello module is loaded statically, but anything
      else in the examples directory is loaded dynamically.

      I can run the Hello methods as many times as I want and it works
      fine. However, dynamically dispatched modules can be accessed exactly
      5 times. On the 6th try I get the fault message:

      SOAP-ENV:Client, Denied access to method (sayHello) in class (Hello)
      at /usr/lib/perl5/site_perl/5.6.1/SOAP/Lite.pm line 2128.

      The offending code in Lite.pm is:

      die "Denied access to method ($method_name) in class ($class)"
      unless $static || grep {/^$class$/} $self->dispatched;

      Note that I can replicate this with the Hello module by making it
      dynamically dispatched. I can also run things successfully in Apache
      2.x with mod_perl-2 in Win32, and with the standalone Perl HTTP
      daemon.

      I'd appreciate any insight into this problem.

      Thanks in advance,
      Ian H.
    Your message has been successfully submitted and would be delivered to recipients shortly.