Apache2 and SOAP::Lite 0.66

Started by xAvia, January 21, 2006, 07:13:20 PM

Previous topic - Next topic


Well as a little lead off, I love NicTool, it is an invaluable tool for managing multiple domain names all owned and controlled by different people. I am looking forward to utilizing and supporting it the best I can.

And now for the main topic: Apache2 and SOAP. After moving my NicTool setup from an old FreeBSD 5.4 machine, which is going to be shutdown, to a brand new CentOS 4.2 machine I found myself trying to patch the SOAP::Lite module again to get it working with Apache2. Well I found out that with the release of .66 there were some major code changes that made the current patches useless to me. I searched and searched for a work around and after a few hours it was looking dim and I was close to just downgrading to a version I knew worked. Then, while google'ing I came across a Perl module called Apache2::SOAP. Well I installed it, and after modifying the right files in NicToolServer (shown below) I had a working NicTool installation again without having to mod SOAP::Lite. I have only had this running for a few days, but it appears to work just as good as the patched version of SOAP::Lite I was previously using.

These are the modifications to make to the NicToolServer files to get it working with Apache2::SOAP

...use Apache::DBI();use Apache::SOAP;use XML::Parser;use SOAP::Lite;...

...use Apache::DBI();use Apache2::SOAP;use XML::Parser;use SOAP::Lite;...

...    <Location /soap>        SetHandler perl-script        PerlResponseHandler Apache::SOAP        PerlSetVar dispatch_to "/usr/local/NicToolServer, NicToolServer::SOAP"    </Location>...

...    <Location /soap>        SetHandler perl-script        PerlResponseHandler Apache2::SOAP        PerlSetVar dispatch_to "/usr/local/NicToolServer, NicToolServer::SOAP"    </Location>...

If you didn't notice it, you just change all instances of Apache::SOAP to Apache2::SOAP and it works. Far as I could find it was only in those two locations, and I am assume since the script is working thats all that needs to be changed. I hope this can help anyone who is having trouble installing NicTool because of the new SOAP::Lite code not working with the exiting patches.



Cool stuff. I'll have to write a little tweak for my installer that can check to see which version of Apache is installed and then install the appropriate version of ApacheX::SOAP and updated the .conf and online docs....or just drop Apache 1 support entirely. I seriously favor the latter, because of how Apache1 and mod_perl misbehave under all but ideal conditions.