three18ti has asked for the wisdom of the Perl Monks concerning the following question:

Hello Monks

This is similar to my last request, [SOLVED][SOAP::Lite] Obtain request body before request is sent?, however, I need to obtain the request body and it can be at any time during the process. Unfortunately, I don't seem to be able to set moose attributes from within the LWP handler.

I could print the output to a file, then slurp the file back in after my API call is made... but that just sounds like all sorts of a bad idea.

How can I from the SOAP::Lite object obtain the xml from the request? note using the SOAP::Data object does not create an accurate envelope... I don't know why, but there are extra tags inserted when you actually make the api call.

How can I obtain a copy of the request xml that SOAP::Transport sends?

Thanks

I guess this works well enough

my $xml = $client->serializer->envelope(method => 'my_api_call', SOAP: +:Data->name( %params));

I'm not sure why it's not identical but will be sufficient.

Replies are listed 'Best First'.
Re: [SOAP::Lite] How to obtain Reequest Body
by Anonymous Monk on Feb 05, 2015 at 03:44 UTC

    Please explain what "Reequest Body" means, and how the previous answers are not applicable

    From what I can tell, the question is identical, the answers are identical, there are code examples for both things and ... what was the question?

    moose attribute? There is no Moose in SOAP of LWP anywhere