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

More to: Failed to access class (xatxgfn): Can't locate xatxgfn.pm

Expand Messages
  • Alois Treindl
    I have updated to Soaplite 0.64_6, the current version. The problem persists and is serious. Somehow, about one out of 3000 requests, fails in the way I
    Message 1 of 1 , Nov 24, 2005
    • 0 Attachment
      I have updated to Soaplite 0.64_6, the current version.

      The problem persists and is serious.

      Somehow, about one out of 3000 requests, fails in the way I described
      below.
      We run on Redhat RHEL 3.0 U6, with
      httpd-2.0.46-54.ent
      perl-5.8.0-89.10

      We are not using mod_perl

      Something is going wrong with the loading of our module, but very rarely.

      It is hard to debug because it occurs only on the production servers
      under considerable load. The frequency of the problem seems to depend
      on load, but the load is not really high, in the ranges of 2.0 to 4.0
      measured with 'top' or 'uptime'.

      I tried to understand the code in Lite.pm which creates the error
      message, but that code is hard to understand.

      I would like to force Lite.pm to load my modules statically.
      If there is a way to do that, please let me know.

      Alois

      --- In soaplite@yahoogroups.com, "Alois Treindl" <alois@a...> wrote:
      >
      > I run a web service using SOAP::Lite, and it has worked
      > for more than a year very well (on Linux, with Apache 2.x)
      >
      > But at times of high traffic load, we observe some strange failures,
      > rarely, maybe one out of 10'000 requests fails.
      >
      > On weekends, when there is less traffic, we never observe this error.
      >
      > The error messages look like:
      > Failed to access class (xatxgfn): Can't locate xatxgfn.pm in @INC
      > (@INC contains:) at (eval 90) line 3.
      >
      > Our service CGI xatxgfn.cgi has this structure:
      > ...
      > if (exists $ENV{HTTP_SOAPACTION}) {
      > use SOAP::Transport::HTTP;
      > SOAP::Transport::HTTP::CGI
      > -> dispatch_to('xatxgfn')
      > -> handle;
      > } else {
      > # program runs in direct (non-SOAP) mode
      > xs_handle_direct({default_func => 'xatxgfn::do_function'});
      > }
      >
      > package xatxgfn;
      > use moda;
      > use modb;
      > ....
      > sub do_function
      > {
      > ...
      > }
      >
      >
      > And a typical caller
      > will call
      > SOAP::Lite
      > -> proxy("http://servername/cgi-bin/xatxgfn.cgi")
      > -> uri('xatxgfn')
      > -> encoding('iso-8859-1')
      > -> do_function($self_url);
      >
      > We seem to have installed SOAP::Lite version 0.60_public
      >
    Your message has been successfully submitted and would be delivered to recipients shortly.