[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problem with Apache 2.2.2 / modperl 2.0.2 and Apache2::SOAP


Georg Grabler schrieb:
> A the logfile says, i execute the method using Apache2.
> 
> For a better understanding:
> 
>   my $cl = ($self->{'MOD_PERL_VERSION'} == 1) ?
>     $r->header_in('Content-length') : $r->headers_in->{'Content-length'};
> 
> This is the code Apache2::SOAP module uses for determining the version
> of modperl.
> The $self->{'MOD_PERL_VERSION'} gets set in the new method, where the
> code seems to fail at all.. so the version is never set to two.
> 
> codepiece cut from Apache2::SOAP:
> sub new {
>   my $self = shift;
>   unless (ref $self) {
>     my $class = ref($self) || $self;
>     $self = $class->SUPER::new(@_);
>     SOAP::Trace::objects('()');
>   }
>  MOD_PERL: {
>     (eval { require Apache;} ) and do {
>        require Apache::Constants;
>        Apache::Constants->import('OK');
>        $self->{'MOD_PERL_VERSION'} = 1;
>        last MOD_PERL;
>      };
>     (eval { require Apache2::RequestRec;} ) and do {
>       require Apache2::RequestUtil;
>       require Apache2::RequestIO;
>       require Apache2::Const;
>       require APR::Table;
>       Apache2::Const->import(-compile => 'OK');
>       $self->{'MOD_PERL_VERSION'} = 2;
>       print "!!MOD PERL VERSION DEFINED!!";
>       last MOD_PERL;
>     };
>     die "Unsupported version of mod_perl";
>   }
>   return $self;
> }

Do you have mp1 and mp2 installed in the same perl-tree.

If yes then it's clear why you always get to
"$self->{'MOD_PERL_VERSION'} = 1;". To distinguish if running in mp1 or
mp2 a module should use totally different code.

if (exists $ENV{MOD_PERL_API_VERSION} && $ENV{MOD_PERL_API_VERSION} == 2) {
require Apache2::Response;
require Apache2::RequestRec;
require Apache2::RequestUtil;
require Apache2::RequestIO;
// ...
} else {
require Apache;
// ...
}

I'd advice the Apache2::SOAP maintainer that he will get into trouble
when mp1 and mp2 are installed in the same tree.

Tom


Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.