in reply to Problem with SOAP::Transport::TCP

Put this line before what you have:

Use SOAP::Lite;

The SOAP::Lite transport modules all (or mostly anyway) inherit from classes declared in SOAP::Lite itself. SOAP::Transport::TCP::Server inherits from SOAP::Server which is in the SOAP::Lite main module.

The docs actually say this about the inheritance, but they assume you know that means you must load the parent class explicitly.

Update: fixed a typo.

Replies are listed 'Best First'.
Re^2: Problem with SOAP::Transport::TCP
by runningwithscissors (Initiate) on Sep 01, 2010 at 23:37 UTC

    That was it. Thanks so much for your help. I knew it had to be something silly I was missing.

    Interestingly, the code works as is on another box that has an older version of SOAP::Lite installed.

      It's possible that the derived class uses the parent class in the older version and that the authors decided to change that. Let's do some historical research on the module.

      I don't find anything in the CHANGES file about that, but I just did a few quick string searches for what seemed obvious to me and didn't read the whole thing. Your searches might turn something up from that source if you look.

      Here it is though: version 0.70_08 of SOAP::Transport::TCP does include a use SOAP::Lite; statement. I'm not sure which version was the last to do that, but now we have confirmed that at least one previous version did. If it was necessary, the svn repository or the web interface to it would make it fairly easy to find out when the change occurred.