<?php 
/* 
 * test_http_soap.php 
 * 
 * @(#) $Header: /opt2/ena/metal/http/test_http_soap.php,v 1.6 2008/01/20 19:23:43 mlemos Exp $ 
 * 
 */ 
 
?><HTML> 
<HEAD> 
<TITLE>Test for Manuel Lemos's PHP HTTP class making a SOAP request</TITLE> 
</HEAD> 
<BODY> 
<H1><CENTER>Test for Manuel Lemos's PHP HTTP class making a SOAP request</CENTER></H1> 
<HR> 
<UL> 
<?php 
    require("http.php"); 
 
    set_time_limit(0); 
    $http=new http_class; 
    $url="http://www.atlaz.net/webservices/GetCurrencyExchange.php"; 
    $http->GetRequestArguments($url,$arguments); 
    $arguments["RequestMethod"]="POST"; 
    $arguments["Headers"]["SoapAction"]=""; 
    $arguments["Headers"]["EndPointURL"]="http://www.atlaz.net/webservices/GetCurrencyExchange.php"; 
    $arguments["Headers"]["Content-Type"]="text/xml; charset=\"utf-8\""; 
    $arguments["Body"]="<?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/1999/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/1999/XMLSchema\"> 
  <SOAP-ENV:Body> 
    <GetCurrencyExchange SOAP-ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\"> 
      <number xsi:type=\"xsd:float\">1000</number> 
      <currency1 xsi:type=\"xsd:string\">GBP</currency1> 
      <currency2 xsi:type=\"xsd:string\">JPY</currency2> 
    </GetCurrencyExchange> 
  </SOAP-ENV:Body> 
</SOAP-ENV:Envelope>"; 
    echo "<H2><LI>Opening connection to:</H2>\n<PRE>",HtmlEntities($arguments["HostName"]),"</PRE>\n"; 
    flush(); 
    $error=$http->Open($arguments); 
    if($error=="") 
    { 
        $error=$http->SendRequest($arguments); 
        if($error=="") 
        { 
            echo "<H2><LI>Request:</LI</H2>\n<PRE>\n".HtmlEntities($http->request)."</PRE>\n"; 
            echo "<H2><LI>Request headers:</LI</H2>\n<PRE>\n"; 
            for(Reset($http->request_headers),$header=0;$header<count($http->request_headers);Next($http->request_headers),$header++) 
            { 
                $header_name=Key($http->request_headers); 
                if(GetType($http->request_headers[$header_name])=="array") 
                { 
                    for($header_value=0;$header_value<count($http->request_headers[$header_name]);$header_value++) 
                        echo $header_name.": ".$http->request_headers[$header_name][$header_value],"\r\n"; 
                } 
                else 
                    echo $header_name.": ".$http->request_headers[$header_name],"\r\n"; 
            } 
            echo "</PRE>\n"; 
            echo "<H2><LI>Request body:</LI</H2>\n<PRE>\n".HtmlEntities($http->request_body)."</PRE>\n"; 
            flush(); 
            $headers=array(); 
            $error=$http->ReadReplyHeaders($headers); 
            if($error=="") 
            { 
                echo "<H2>Response headers:</H2>\n<PRE>\n"; 
                for(Reset($headers),$header=0;$header<count($headers);Next($headers),$header++) 
                { 
                    $header_name=Key($headers); 
                    if(GetType($headers[$header_name])=="array") 
                    { 
                        for($header_value=0;$header_value<count($headers[$header_name]);$header_value++) 
                            echo $header_name.": ".$headers[$header_name][$header_value],"\r\n"; 
                    } 
                    else 
                        echo $header_name.": ".$headers[$header_name],"\r\n"; 
                } 
                echo "</PRE>\n<H2>Response body:</H2>\n<PRE>\n"; 
                for(;;) 
                { 
                    $error=$http->ReadReplyBody($body,1000); 
                    if($error!="" 
                    || strlen($body)==0) 
                        break; 
                    echo HtmlSpecialChars($body); 
                } 
                echo "</PRE>\n</UL>\n"; 
            } 
        } 
        $http->Close(); 
    } 
    if(strcmp($error,"")) 
        echo "<H2><CENTER>Error: $error</CENTER></H2>\n"; 
?> 
</UL> 
<HR> 
</BODY> 
</HTML> 
 
 |