Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

I have a fairly convoluted problem which appears to result from an interaction with a PerlTransHandler and SOAP::Lite.

The scenario is that I have a set of web servers, running Apache 1.3.29/mod_perl 1.29, serving a number of virtual host configurations for various service interfaces. One of these virtual host configurations (virtual host A) employs SOAP::Lite (specifically Apache::SOAP) to provide a SOAP interface to some web services which are currently under development. By itself, this configuration is behaving correctly and without issue.

Upon establishing a configuration for a new virtual host (virtual host B) which employs a PerlTransHandler for service redirection however, errors are returned when attempting to access the SOAP::Lite services on the existing virtual host (virtual host A). The errors returned from the SOAP::Lite interface are of the form "Failed to locate method (MySoapMethod) in class (MySoapClass) at /opt/lib/perl5/site_perl/5.6.2/SOAP/ line 2337". Removing the PerlTransHandler configuration from the new virtual host configuration (for virtual host B) rectifies this problem.

My question is how should I solve this conflict? Both of these virtual host services are required and cannot be omitted from the server configuration.

One thought which I had was to attempt to limit the scope of execution of the PerlTransHandler, but after doing a bit of research, I have found that the <Location> and <Directory> directives cannot be used to reduce the scope of PerlTransHandler execution (although I have not found any documentation as yet which correlates with my observation of PerlTransHandler execution across virtual hosts). Indeed, the recommended manner by by which to limit the application of PerlTransHandler is through the employ of location-specific attributes - For example:

PerlTransHandler MyTranshandler <Location ...> PerlSetVar SkipTransHandler 1 </Location> package MyTransHandler; sub handler { return DECLINED if $r->dir_config('SkipTransHandler'); ... }
This however, is something which I have already put in place into my PerlTransHandler package to no avail and as such am now searching for other suggestions as to how to address this issue.


perl -le "print unpack'N', pack'B32', '00000000000000000000001011100000'"

In reply to Problem with PerlTransHandler by rob_au

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others chilling in the Monastery: (5)
    As of 2019-07-23 00:37 GMT
    Find Nodes?
      Voting Booth?
      If you were the first to set foot on the Moon, what would be your epigram?

      Results (22 votes). Check out past polls.