I'm trying to basically make a proxy for a SOAP service. So from a mod_perl2 + HTML::Mason handler, I want to call a SOAP service and return something to the browser. I haven't decided yet if what's returned will be JSON or XML, but I have the following problem before that anyway.
The only way I see to get the "raw XML" returned from the SOAP service is to set $soap->outputxml, then the SOAP call will return XML instead of a SOM object. That would be fine for the proxy, but.... I'd also like to be able to intervene in case there is a SOAP <Fault> returned. In that case, I'll have to tediously parse the raw XML (instead of using the convenient $som->fault method to check if there was a fault). Finally, the question: is there any way, besides copying and pasting the deserializer code from SOAP::Lite's call method, to cleanly have my cake and eat it too? That is, is there any way to retrieve the raw XML but also have the SOAP call return the normal SOM object?