in reply to SOAP::Lite web proxy

It's been a while since I played with the serializer / deserializer classes in SOAP::Lite (0.60?), but from what I remember, it was tricky to just copy/paste the code, as there was a mix of both methods and function calls to deal with.

What I'd probably do in your case is define a custom deserializer that did the following:

  1. accept the serialized xml and store it
  2. pass the xml to the default serializer to get the SOM object.
  3. test for a soap fault and generate whatever (serialized) response to handle in that case.
  4. return either the original message or fault response to the original client. (use a custom serializer that does nothing but pass the string through)

Now, with this plan, you would need to have SOAP::Lite parse the XML into the SOM object, which may be too much overhead for you. (particularly if you can't process it fast enough to get around your client's timeout -- I run into that problem as I'm federating search systems, so have to combine multiple SOAP responses into a single unified response)