OK - figured it out. Seems that SOAP::Lite has problems running under mod_perl when apache's got expat compiled in.
Adding this to my module that uses SOAP::Lite fixed things:
$SOAP::Constants::DO_NOT_USE_XML_PARSER = 1;
Adding this to my module that uses SOAP::Lite fixed things:
$SOAP::Constants::DO_NOT_USE_XML_PARSER = 1;