SOAP Web Service Tutorials - Herong's Tutorial Examples - Version 5.02, by Dr. Herong Yang
GetTempDump.php - Dumping Debugging Information
This section describes a tutorial example of how to dump debugging information within a client side SOAP application.
After learning the basic functions of the SoapClient class, I rewrote the GetTemp.php client program to get more information on how SOAP Extension works, and to show you how to debug information. The new client program is called, GetTempDump.php:
<?php # GetTempDump.php # Copyright (c) 2005 by Dr. Herong Yang # $zip = "123456"; $client = new SoapClient ("http://www.xmethods.net/sd/2001/DemoTemperatureService.wsdl", array('trace' => 1)); echo("\nDumping client object:\n"); var_dump($client); echo("\nDumping client object functions:\n"); var_dump($client->__getFunctions()); $return = $client->getTemp($zip); echo("\nReturning value of getTemp() call: ".$return); $return = $client->__soapCall("getTemp",array($zip)); echo("\nReturning value of __soapCall() call: ".$return); echo("\nDumping request headers:\n" .$client->__getLastRequestHeaders()); echo("\nDumping request:\n".$client->__getLastRequest()); echo("\nDumping response headers:\n" .$client->__getLastResponseHeaders()); echo("\nDumping response:\n".$client->__getLastResponse()); ?>
Output of this program:
Dumping client object: object(SoapClient)#1 (3) { ["trace"]=> int(1) ["_soap_version"]=> int(1) ["sdl"]=> resource(5) of type (Unknown) } Dumping client object functions: array(1) { [0]=> string(30) "float getTemp(string $zipcode)" } Returning value of getTemp() call: 52 Returning value of __soapCall() call: 52 Dumping request headers: POST /soap/servlet/rpcrouter HTTP/1.1 Host: services.xmethods.net Connection: Keep-Alive User-Agent: PHP SOAP 0.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "" Content-Length: 510 Cookie: JSESSIONID=uuqkGDvtzw_IPlMLsodnVX9j; Dumping request: <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:xmethods-Temperature-Demo" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body><ns1:getTemp> <zipcode xsi:type="xsd:string">123456</zipcode> </ns1:getTemp></SOAP-ENV:Body> </SOAP-ENV:Envelope> Dumping response headers: HTTP/1.1 200 OK Server: Enhydra-MultiServer/3.1.1b1 Status: 200 Content-Type: text/xml; charset=utf-8 Servlet-Engine: Enhydra Application Server/3.1.1b1 (JSP 1.1; Servlet 2.2; Java 1.4.2_03; Linux 2.4.7-10smp i386; java.vendor=Sun Microsystems Inc.) Content-Length: 470 X-Cache: MISS from www.xmethods.net Keep-Alive: timeout=15, max=99 Connection: Keep-Alive Dumping response: <?xml version='1.0' encoding='UTF-8'?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <SOAP-ENV:Body> <ns1:getTempResponse xmlns:ns1="urn:xmethods-Temperature-Demo" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <return xsi:type="xsd:float">52.0</return> </ns1:getTempResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
The output is very useful. It confirms that:
Last update: 2007.
Table of Contents
Introduction to SOAP (Simple Object Access Protocol)
SOAP Message Transmission and Processing
SOAP Message Exchange Patterns
Perl SOAP::Lite - SOAP Server-Client Communication Module
Perl Socket Test Program for HTTP and SOAP
Perl SOAP::Lite for GetSpeech SOAP 1.1 Web Service
Perl SOAP::Lite 0.710 for SOAP 1.2 Web Services
Perl SOAP::Lite 0.710 for WSDL
►PHP SOAP Extension Client Programs
GetTemp.php - First Example with SOAP
PHP SOAP Extension Functions for Client Programs
►GetTempDump.php - Dumping Debugging Information
Whis Is WSDL (Web Services Definition Language)?
Using SOAP Extension in non-WDSL Mode
PHP SOAP Extension Server Programs
Java Socket and HttpURLConnection for SOAP
SAAJ - SOAP with Attachments API for Java
SoapUI - SOAP Web Service Testing Tool
WS-Security - SOAP Message Security Extension
WS-Security X.509 Certificate Token