XML::Compile::SOAP::Trace - help displaying trace details.
my ($answer, $trace) = $call->(%params);
# now $trace is a XML::Compile::SOAP::Trace
my $req = $trace->request; # HTTP message which was sent
my $res = $trace->response; # HTTP message received
my $start = $trace->date;
my $dura = $trace->elapse;
$trace->printTimings;
$trace->printErrors;
$trace->printTimings(\*STDERR);
$trace->printRequest(pretty_print => 1);
$trace->printResponse;
This help module simplifies user access to the trace data, as produced by a SOAP
call (client side).
- XML::Compile::SOAP::Trace->new(%options)
- Called by the SOAP call implementation; not for normal users.
- $obj->date()
- Returns the date string which represent the moment that the call was
initiated.
- $obj->elapse( [$kind] )
- Returns the time in seconds (with hires, sub-second detail) of a part of
the SOAP communication. Some values may be
"undef". Elapse without argument will
return the total time elapsed.
As KINDs are defined
"encode" (the time required by the
translator build by XML::Compile::Schema to translate Perl into an
XML::LibXML tree), "transport", and
"decode" (from XML::LibXML tree into
Perl)>. The transport components are also provided separately, as
"stringify" (by XML::LibXML to convert
a tree into text), "connect" (for the
network message exchange by HTTP::Daemon), and
"parse" (parsing answer string into
XML)
See printTimings().
example:
print $trace->elapse('decode');
- $obj->error( [$error] )
- Often contains an error message, when something went wrong. The message is
returned as Log::Report::Exception. Only the first error is returned, use
errors() to get all.
[2.31] When an $error is provided, it
is added to the internal list of errors. The
$error parameter may be a
Log::Report::Exception, a Log::Report::Message or a simple string.
- $obj->errors()
- [2.31] Return all errors, which are Log::Report::Exception objects. See
also error().
- $obj->request()
- Returns the HTTP::Request object used for this SOAP call. This might be
quite useful during debugging, because a lot of the processing is hidden
for the user... but you may want to see or log what is actually begin
send.
- $obj->response()
- Returns the HTTP::Response object, returned by the remote server. In some
erroneous cases, the client library will create an error response without
any message was exchanged.
- $obj->responseDOM()
- Returns the XML::LibXML::Document top node of the response: the parsed
text of the content of the received HTTP message.
- $obj->start()
- Returns the (platform dependent) time value which represent the moment
that the call was initiated. See Time::HiRes method
"time".
- $obj->printErrors( [$fh] )
- The filehandle defaults to STDERR.
If you want to see more output, try adding
"<use Log::Report mode ="
3;>>
- $obj->printRequest( [$fh], %options )
-
-Option --Default
pretty_print 0
- pretty_print => 0|1|2
- Use XML::Compile::Transport::compileClient(xml_format) if you want the
messages to be shown readible. The digits reflect XML::LibXML format
settings: '0' is unchanged, '1' will show indented formatting, and '2' has
even more whitespace in it.
- $obj->printResponse( [$fh], %options )
-
-Option --Default
pretty_print 0
- pretty_print => 0|1|2
- Use XML::Compile::Transport::compileClient(xml_format) if you want the
messages to be shown readible.
- $obj->printTimings( [$fh] )
- Print an overview on various timings to the selected filehandle.
This module is part of XML-Compile-SOAP distribution version 3.27, built on
April 07, 2021. Website: http://perl.overmeer.net/CPAN/
Copyrights 2007-2021 by [Mark Overmeer <markov@cpan.org>]. For other
contributors see ChangeLog.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself. See
http://dev.perl.org/licenses/