From: Enrique J. H. B. <ejh...@wa...> - 2008-02-28 15:00:31
|
Hi all, We're using SOAP::Lite in eBox [1], a SME server. We're using SOAP::Lite in both sides, client and server. We are experiencing some problems related to the module loading in server side when more than one process are serving requests. The obtained "faultstring" is as follows: Failed to locate method (foo) in class (EBox::Services::MockService) at /usr/share/perl5/SOAP/Lite.pm line 2589. I have read about issues regarding to the URI. However, we are testing with Apache2 mpm-worker. It completely works when a single instance is set. We've done some researching and we have found that EBox::Services::MockService is not loaded (%INC) when the exception arises, which happens from time to time. Loading manually that module on Lite.pm code works flawlessly. There is any solution to make it work with several servers working at once in a server. I dump my configuration to make it clearer: apache2.conf: <IfModule mpm_worker_module> StartServers 1 MaxClients 150 MinSpareThreads 5 MaxSpareThreads 10 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule> <VirtualHost 10.200.0.30> ... <Location /soap> SetHandler perl-script PerlResponseHandler Apache2::SOAP PerlSetVar dispatch_to "/usr/share/perl5, EBox::Services::MockService" </Location> ... </VirtualHost> Client side: my $soapConn = new SOAP::Lite( uri => 'http://ebox-services.com/EBox/Services/MockService', proxy => 'https://10.200.0.30/soap, ); $soapConn->call(foo => @params); My configuration: SOAP::Lite 0.69 Apache2::SOAP 0.72 Mod_perl 2.0.2-2.4 Apache worker-mpm 2.2.3 Debian etch Any help will be appreciated to make it work with more than one listening server. Thanks very much for your project! |