Using wireDump |
Top Previous Next |
The wireDump attribute of the <service> and <method> elements determines whether SOAP/AM will create a "wire dump" when a service method is called. A wire dump is 'what came across the wire' from the SOAP client to the SOAP/AM Server. A wire dump is useful for troubleshooting or debugging your client application, especially when a client tool kit or library is formatting the SOAP envelope for you. Syntax <service wireDump = "0" | "1" ... > <method wireDump = "0" | "1" ... >
A value of "0" indicates that no wire dump should take place. A value of "1" indicates that a wire dump should take place. If wireDump is specified on <service>, its value becomes the default for all <method>s within the service. wireDump specified on a <method> affects only that method.
The wireDump is stored in the Virtual File System folder /logs/diagnostics in a file named
Dump-servicename-methodname.txt
where servicename and methodname are the names of your service and method, respectively. If the file exists at the time of the dump, it is appended to the existing content. Here's a sample generated from the cpuStatusService sample service (/services/samples/cpuStatus/cpuStatus.sdf):
-------------------------------------------------------------------------------- Start of Dump -------------------------------------------------------------------------------- Service: CpuStatusService Method: GetCpuStatus Time: Tue, 1 Apr 2003 00:00:00 GMT Client IP: XXX.XXX.XXX.XXX SOAP/AM User: Anonymous Guardian User: 1.1
HTTP/SOAP Request ---------------------------------------- POST /services/samples/cpuStatus/cpustatus HTTP/1.1 Accept=*/* Accept-Language=en-us Content-Length=528 Content-Type=text/xml; charset="utf-8" Referer=http://mysystem.mydomain.com:8080/services/samples/cpuStatus/default.html Accept-Encoding=gzip, deflate User-Agent=Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0;) Host=mysystem.mydomain.com:8080 Connection=Keep-Alive Cache-Control=no-cache <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <GetCpuStatus> <requestMsg> <request_code> <number>0</number> </request_code> <nodename/> </requestMsg> </GetCpuStatus> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
(if ipmDump was also enabled, you'd find its output here)
HTTP/SOAP Reply ---------------------------------------- HTTP/1.1 200 OK Server=NuWave Technologies SOAP/AM(tm) Server - Version X.X Date=Tue, 1 Apr 2003 00:00:00 GMT Content-Type=text/xml; charset="UTF-8" Content-Length=688 Connection=Keep-Alive <?xml version="1.0" encoding="UTF-8" ?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <GetCpuStatusResponse> <replyMsg> <reply_code> <number>0</number> </reply_code> <cpu_count>2</cpu_count> <arrayOf_cpu_status> <cpu_status> <cpu_no>0</cpu_no> <cpu_type>0</cpu_type> <cpu_type_name>NSR-W</cpu_type_name> <cpu_busy>10</cpu_busy> </cpu_status> <cpu_status> <cpu_no>1</cpu_no> <cpu_type>0</cpu_type> <cpu_type_name>NSR-W</cpu_type_name> <cpu_busy>20</cpu_busy> </cpu_status> </arrayOf_cpu_status> </replyMsg> </GetCpuStatusResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
-------------------------------------------------------------------------------- End of dump --------------------------------------------------------------------------------
The dump begins with a "start of dump" header which includes the service and method names, the time of the dump, client IP address and authenticated user name. Following the dump header are the SOAP request and response, which include any http headers sent. Finally, there's a "end of dump" trailer.
Also refer to Using ipmDump for information about the ipmDump feature for troubleshooting. |