On Mon, Dec 19, 2005 at 07:57:59AM -0800, jing han wrote: > I meet a problem with SOAP::Transport::HTTP and > Apache2 in Fedora Core 4 environment. > > I installed httpd-2.0.54-10.i386.rpm and > mod_perl-2.0.0-0.rc5.3.i386.rpm with Fedora Core 4 > CDs. And then I downloaded and installed > perl-SOAP-Lite-0.60a-3.rhfc4.at.noarch.rpm. > > I edited /etc/httpd/conf/httpd.conf to add our own > perl handler > as: > > <Location /NM2Soap> > setHandler perl-script > perlHandler SOAPApache > </Location> > > > In SOAPApache module, I have: use > SOAP::Transport::HTTP; > > I use a web services application to make a request to > my customized SOAPDaemon via SOAPApache. The request > is not successful. I go to /etc/httpd/logs/ directory > and check error_log message. The error_log message > looks like follows: > > Client failed to resolve handler 'SOAPApache': Can't > locate Apache.pm in @INC.......... at > /usr/lib/perl5/vendor-perl5/5.8.6/SOAP/Transport/HTTP.pm > line 444 ............ > > I checked HTTP.pm file, line 444 is: > > sub new {require Apache; require Apache::Constants; > > How can I make SOAP::Transport::HTTP look for Apache2 > instead of Apache? This isn't really a Fedora question. It would be better taken up with the authors of SOAP::Lite or on http://rt.cpan.org/NoAuth/Bugs.html?Dist=SOAP-Lite. In any case, SOAP::Lite does not work with the 2.0.0 release of mod_perl. It only works with mod_perl 1.x and the pre-RC5 releases of mod_perl 2.0. There was a significant API change and some CPAN modules haven't changed to deal with it. My solution was to roll my own RPM of SOAP::Lite and patch in support for mod_perl 2.0.x. Someone (me, maybe) should report the bug/patch upstream, but I'm not sure if much work has been done on SOAP::Lite recently. -- Chris Grau <chris@xxxxxxxxxxxxx>
Attachment:
pgpTsPzY7IjaW.pgp
Description: PGP signature