NAME
XML::Compile::SOAP::Trace - help displaying trace details.
SYNOPSIS
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;
DESCRIPTION
This help module simplifies user access to the trace data, as produced by a SOAP call (client side).
METHODS
Constructors
- XML::Compile::SOAP::Trace->new(%options)
-
Called by the SOAP call implementation; not for normal users.
Accessors
- $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
, anddecode
(from XML::LibXML tree into Perl)>. The transport components are also provided separately, asstringify
(by XML::LibXML to convert a tree into text),connect
(for the network message exchange by HTTP::Daemon), andparse
(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
.
Printing
- $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.
SEE ALSO
This module is part of XML-Compile-SOAP distribution version 3.28, built on August 01, 2022. Website: http://perl.overmeer.net/CPAN/
LICENSE
Copyrights 2007-2022 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/