diff options
Diffstat (limited to 'ext/soap/interop')
-rw-r--r-- | ext/soap/interop/client_round2.php | 113 | ||||
-rw-r--r-- | ext/soap/interop/client_round2_interop.php | 815 | ||||
-rw-r--r-- | ext/soap/interop/client_round2_params.php | 653 | ||||
-rw-r--r-- | ext/soap/interop/client_round2_results.php | 75 | ||||
-rw-r--r-- | ext/soap/interop/client_round2_run.php | 54 | ||||
-rw-r--r-- | ext/soap/interop/config.php.dist | 4 | ||||
-rw-r--r-- | ext/soap/interop/database_round2.sql | 44 | ||||
-rw-r--r-- | ext/soap/interop/echoheadersvc.wsdl.php | 20 | ||||
-rw-r--r-- | ext/soap/interop/index.php | 68 | ||||
-rw-r--r-- | ext/soap/interop/interop.wsdl.php | 335 | ||||
-rw-r--r-- | ext/soap/interop/interopB.wsdl.php | 196 | ||||
-rw-r--r-- | ext/soap/interop/server_round2_base.php | 145 | ||||
-rw-r--r-- | ext/soap/interop/server_round2_groupB.php | 70 | ||||
-rw-r--r-- | ext/soap/interop/server_round2_groupC.php | 39 | ||||
-rw-r--r-- | ext/soap/interop/test.utility.php | 143 |
15 files changed, 0 insertions, 2774 deletions
diff --git a/ext/soap/interop/client_round2.php b/ext/soap/interop/client_round2.php deleted file mode 100644 index c1307472c4..0000000000 --- a/ext/soap/interop/client_round2.php +++ /dev/null @@ -1,113 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> - -<html> -<head> - <title>Round 2 Interop Client Tests</title> -</head> - -<body> -<a href="index.php">Back to Interop Index</a><br> -<p> </p> -<?php -require_once 'client_round2_interop.php'; - -$iop = new Interop_Client(); - -function endpointList($test,$sel_endpoint) -{ - global $iop; - $iop->getEndpoints($test); - echo "<select name='endpoint'>\n"; - echo "<option value=''>-- All Endpoints --</option>\n"; - foreach ($iop->endpoints as $epname => $epinfo) { - $selected = ''; - if ($sel_endpoint == $epname) $selected = ' SELECTED'; - echo "<option value='$epname'$selected>$epname</option>\n"; - } - echo "</select>\n"; -} -function methodList($test,$sel_method) -{ - global $iop; - global $soap_tests; - - echo "<select name='method'>\n"; - echo "<option value='ALL'>-- Run All Methods --</option>\n"; - $prev_method = ""; - foreach ($soap_tests[$test] as $x) { - $method = $x->test_name; - if ($method != $prev_method) { - $prev_method = $method; - $selected = ''; - if ($sel_method == $method) $selected = ' SELECTED'; - echo "<option value='$method'$selected>$method</option>\n"; - } - } - echo "</select>\n"; -} - -function endpointTestForm($test, $endpoint, $method, $paramType, $useWSDL) -{ - global $PHP_SELF; - if (!$test) $test = 'base'; - echo "Round 2 '$test' Selected<br>\n"; - echo "Select endpoint and method to run:<br>\n"; - echo "<form action='$PHP_SELF' method='post'>\n"; - echo "<input type='hidden' name='test' value='$test'>\n"; - endpointList($test, $endpoint); - methodList($test, $method); - echo "<select name='paramType'>"; -// echo "<option value='all'>-- All --</option>"; - echo "<option value='soapval'".($paramType=='soapval'?' selected':'').">soap value</option>"; - echo "<option value='php'".($paramType=='php'?' selected':'').">php internal type</option></select>\n"; - echo "<select name='useWSDL'>"; -// echo "<option value='all'>-- All --</option>"; - echo "<option value='0'>go Direct</option>"; - echo "<option value='1'".($useWSDL?' selected':'').">use WSDL</option></select>\n"; - echo "<input type='submit' value='Go'>\n"; - echo "</form><br>\n"; -} - -function testSelectForm($selected_test = NULL) -{ - global $iop, $PHP_SELF; - echo "Select a Round 2 test case to run:<br>\n"; - echo "<form action='$PHP_SELF' method='post'>\n"; - echo "<select name='test'>\n"; - foreach ($iop->tests as $test) { - $selected = ''; - if ($selected_test == $test) $selected = ' SELECTED'; - echo "<option value='$test'$selected>$test</option>\n"; - } - echo "</select>\n"; - echo "<input type='submit' value='Go'>\n"; - echo "</form><br>\n"; -} - -testSelectForm($_POST['test']); -endpointTestForm($_POST['test'],$_POST['endpoint'],$_POST['method'],$_POST['paramType'],$_POST['useWSDL']); - -if ($_POST['test'] && array_key_exists('endpoint', $_POST) && array_key_exists('method', $_POST)) { - // here we execute the orders - echo "<h2>Calling {$_POST['method']} at {$_POST['endpoint']}</h2>\n"; - echo "NOTE: wire's are slightly modified to display better in web browsers.<br>\n"; - - $iop->currentTest = $_POST['test']; // see $tests above - $iop->paramType = $_POST['paramType']; // 'php' or 'soapval' - $iop->useWSDL = $_POST['useWSDL']; // 1= do wsdl tests - $iop->numServers = 0; // 0 = all - $iop->specificEndpoint = $_POST['endpoint']; // test only this endpoint - $iop->testMethod = $_POST['method']=='ALL'?'':$_POST['method']; // test only this method - $iop->skipEndpointList = array(); // endpoints to skip - $iop->nosave = 0; // 1= disable saving results to database - // debug output - $iop->show = 0; - $iop->debug = 0; - $iop->showFaults = 0; // used in result table output - echo '<pre>'; - $iop->doTest(); // run a single set of tests using above options - echo '</pre>'; -} -?> -</body> -</html> diff --git a/ext/soap/interop/client_round2_interop.php b/ext/soap/interop/client_round2_interop.php deleted file mode 100644 index 7d981b33d2..0000000000 --- a/ext/soap/interop/client_round2_interop.php +++ /dev/null @@ -1,815 +0,0 @@ -<?php -// -// +----------------------------------------------------------------------+ -// | PHP Version 4 | -// +----------------------------------------------------------------------+ -// | Copyright (c) 1997-2003 The PHP Group | -// +----------------------------------------------------------------------+ -// | This source file is subject to version 2.02 of the PHP license, | -// | that is bundled with this package in the file LICENSE, and is | -// | available at through the world-wide-web at | -// | http://www.php.net/license/2_02.txt. | -// | If you did not receive a copy of the PHP license and are unable to | -// | obtain it through the world-wide-web, please send a note to | -// | license@php.net so we can mail you a copy immediately. | -// +----------------------------------------------------------------------+ -// | Authors: Shane Caraveo <Shane@Caraveo.com> | -// +----------------------------------------------------------------------+ -// -// $Id$ -// -require_once 'DB.php'; // PEAR/DB -require_once 'client_round2_params.php'; -require_once 'test.utility.php'; -require_once 'config.php'; - -error_reporting(E_ALL ^ E_NOTICE); - -class Interop_Client -{ - // database DNS - var $DSN = ""; - - // our central interop server, where we can get the list of endpoints - var $interopServer = "http://www.whitemesa.net/wsdl/interopInfo.wsdl"; - - // our local endpoint, will always get added to the database for all tests - var $localEndpoint; - - // specify testing - var $currentTest = 'base'; // see $tests above - var $paramType = 'php'; // 'php' or 'soapval' - var $useWSDL = 0; // 1= do wsdl tests - var $numServers = 0; // 0 = all - var $specificEndpoint = ''; // test only this endpoint - var $testMethod = ''; // test only this method - var $skipEndpointList = array(); // endpoints to skip - var $nosave = 0; - var $startAt = ''; // start in list at this endpoint - // debug output - var $show = 1; - var $debug = 0; - var $showFaults = 0; // used in result table output - - // PRIVATE VARIABLES - var $dbc = NULL; - var $totals = array(); - var $tests = array('base','GroupB', 'GroupC'); - var $paramTypes = array('php', 'soapval'); - var $endpoints = array(); - - function Interop_Client() { - global $interopConfig; - $this->DSN = $interopConfig['DSN']; - // set up the database connection - $this->dbc = DB::connect($this->DSN, true); - // if it errors out, just ignore it and rely on regular methods - if (DB::isError($this->dbc)) { - echo $this->dbc->getMessage(); - $this->dbc = NULL; - } - // set up local endpoint - $this->localEndpoint['base'] = (object)array( - 'endpointName'=>'PHP ext/soap', - 'endpointURL'=>'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/server_round2_base.php', - 'wsdlURL'=>'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/interop.wsdl.php' - ); - $this->localEndpoint['GroupB'] = (object)array( - 'endpointName'=>'PHP ext/soap', - 'endpointURL'=>'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/server_round2_groupB.php', - 'wsdlURL'=>'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/interopB.wsdl.php' - ); - $this->localEndpoint['GroupC'] = (object)array( - 'endpointName'=>'PHP ext/soap', - 'endpointURL'=>'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/server_round2_groupC.php', - 'wsdlURL'=>'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/echoheadersvc.wsdl.php' - ); - } - - function _fetchEndpoints(&$soapclient, $test) { - $this->_getEndpoints($test, 1); - - // retreive endpoints from the endpoint server - $endpointArray = $soapclient->__call("GetEndpointInfo",array("groupName"=>$test),"http://soapinterop.org/info/","http://soapinterop.org/info/"); - if (PEAR::isError($endpointArray)) { - print $soapclient->wire; - print_r($endpointArray); - return; - } - - // add our local endpoint - if ($this->localEndpoint[$test]) { - array_push($endpointArray, $this->localEndpoint[$test]); - } - - if (!$endpointArray) return; - - // reset the status to zero - $res = $this->dbc->query("update endpoints set status = 0 where class='$test'"); - if (DB::isError($res)) { - die ($res->getMessage()); - } - if (is_object($res)) $res->free(); - // save new endpoints into database - foreach($endpointArray as $k => $v){ - if (array_key_exists($v->endpointName,$this->endpoints)) { - $res = $this->dbc->query("update endpoints set endpointURL='{$v->endpointURL}', wsdlURL='{$v->wsdlURL}', status=1 where id={$this->endpoints[$v->endpointName]['id']}"); - } else { - $res = $this->dbc->query("insert into endpoints (endpointName,endpointURL,wsdlURL,class) values('{$v->endpointName}','{$v->endpointURL}','{$v->wsdlURL}','$test')"); - } - if (DB::isError($res)) { - die ($res->getMessage()); - } - if (is_object($res)) $res->free(); - } - } - - /** - * fetchEndpoints - * retreive endpoints interop server - * - * @return boolean result - * @access private - */ - function fetchEndpoints($test = NULL) { - // fetch from the interop server - $soapclient = new SoapObject($this->interopServer); - - if ($test) { - $this->_fetchEndpoints($soapclient, $test); - } else { - foreach ($this->tests as $test) { - $this->_fetchEndpoints($soapclient, $test); - } - $test = 'base'; - } - - // retreive all endpoints now - $this->currentTest = $test; - $x = $this->_getEndpoints(); - return $x; - } - - /** - * getEndpoints - * retreive endpoints from either database or interop server - * - * @param string base (see local var $tests) - * @param boolean all (if false, only get valid endpoints, status=1) - * @return boolean result - * @access private - */ - function getEndpoints($base = 'base', $all = 0) { - if (!$this->_getEndpoints($base, $all)) { - return $this->fetchEndpoints($base); - } - return TRUE; - } - - /** - * _getEndpoints - * retreive endpoints from database - * - * @param string base (see local var $tests) - * @param boolean all (if false, only get valid endpoints, status=1) - * @return boolean result - * @access private - */ - function _getEndpoints($base = "", $all = 0) { - $this->endpoints = array(); - - // build sql - $sql = "select * from endpoints "; - if ($base) { - $sql .= "where class='$base' "; - if (!$all) $sql .= "and status=1"; - } else - if (!$all) $sql .= "where status=1"; - - $db_ep = $this->dbc->getAll($sql,NULL, DB_FETCHMODE_ASSOC ); - if (DB::isError($db_ep)) { - echo $sql."\n"; - echo $db_ep->getMessage(); - return FALSE; - } - // rearange the array - foreach ($db_ep as $entry) { - $this->endpoints[$entry['endpointName']] = $entry; - } -/* - $this->endpoints["PHP ext/soap"] = - array("endpointName" => "PHP ext/soap", - "endpointURL" => "http://soap.4s4c.com/ilab/soap.asp", - "wsdlURL" => "http://www.pocketsoap.com/services/ilab.wsdl", - "class" => "base" "status"]=> string(1) "1" } -*/ - if (count($this->endpoints) > 0) { - $this->currentTest = $base; - return TRUE; - } - return FALSE; - } - - /** - * getResults - * retreive results from the database, stuff them into the endpoint array - * - * @access private - */ - function getResults($test = 'base', $type = 'php', $wsdl = 0) { - // be sure we have the right endpoints for this test result - $this->getEndpoints($test); - - // retreive the results and put them into the endpoint info - $sql = "select * from results where class='$test' and type='$type' and wsdl=$wsdl"; - $results = $this->dbc->getAll($sql,NULL, DB_FETCHMODE_ASSOC ); - foreach ($results as $result) { - // find the endpoint - foreach ($this->endpoints as $epn => $epi) { - if ($epi['id'] == $result['endpoint']) { - // store the info - $this->endpoints[$epn]['methods'][$result['function']] = $result; - break; - } - } - } - } - - /** - * saveResults - * save the results of a method test into the database - * - * @access private - */ - function _saveResults($endpoint_id, &$soap_test) { - if ($this->nosave) return; - - $result = $soap_test->result; - $wire = $result['wire']; - if ($result['success']) { - $success = 'OK'; - $error = ''; - } else { - $success = $result['fault']->faultcode; - $error = $result['fault']->faultstring; - if (!$wire) $wire= $result['fault']->detail; - } - - $test_name = $soap_test->test_name; - // add header info to the test name - if ($soap_test->headers) { - foreach ($soap_test->headers as $h) { - $destination = 0; - if (get_class($h) == 'soap_header') { - if ($h->attributes['SOAP-ENV:actor'] == 'http://schemas.xmlsoap.org/soap/actor/next') $destination = 1; - $test_name .= ":{$h->name},$destination,{$h->attributes['SOAP-ENV:mustUnderstand']}"; - } else { - if (!$h[3] || $h[3] == 'http://schemas.xmlsoap.org/soap/actor/next') $destination = 1; - if (!$h[2]) $h[2] = 0; - $qn = new QName($h[0]); - $test_name .= ":{$qn->name},$destination,".(int)$h[2]; - } - } - } - - $sql = "delete from results where endpoint=$endpoint_id ". - "and class='$this->currentTest' and type='$this->paramType' ". - "and wsdl=$this->useWSDL and function=". - $this->dbc->quote($test_name); - #echo "\n".$sql; - $res = $this->dbc->query($sql); - if (DB::isError($res)) { - die ($res->getMessage()); - } - if (is_object($res)) $res->free(); - - $sql = "insert into results (endpoint,stamp,class,type,wsdl,function,result,error,wire) ". - "values($endpoint_id,".time().",'$this->currentTest',". - "'$this->paramType',$this->useWSDL,". - $this->dbc->quote($test_name).",". - $this->dbc->quote($success).",". - $this->dbc->quote($error).",". - ($wire?$this->dbc->quote($wire):"''").")"; - #echo "\n".$sql; - $res = $this->dbc->query($sql); - - if (DB::isError($res)) { - die ($res->getMessage()); - } - if (is_object($res)) $res->free(); - } - - /** - * decodeSoapval - * decodes a soap value to php type, used for test result comparisions - * - * @param SOAP_Value soapval - * @return mixed result - * @access public - */ - function decodeSoapval($soapval) - { - if (gettype($soapval) == "object" && - (strcasecmp(get_class($soapval),"soapparam") == 0 || - strcasecmp(get_class($soapval),"soapvar") == 0)) { - if (strcasecmp(get_class($soapval),"soapparam") == 0) - $val = $soapval->param_data->enc_value; - else - $val = $soapval->enc_value; - } else { - $val = $soapval; - } - if (is_array($val)) { - foreach($val as $k => $v) { - if (gettype($v) == "object" && - (strcasecmp(get_class($soapval),"soapparam") == 0 || - strcasecmp(get_class($soapval),"soapvar") == 0)) { - $val[$k] = $this->decodeSoapval($v); - } - } - } - return $val; - } - - /** - * compareResult - * compare two php types for a match - * - * @param string expect - * @param string test_result - * @return boolean result - * @access public - */ - function compareResult($expect, $result, $type = NULL) - { - return compare($expect, $result); - } - - - /** - * doEndpointMethod - * run a method on an endpoint and store it's results to the database - * - * @param array endpoint_info - * @param SOAP_Test test - * @return boolean result - * @access public - */ - function doEndpointMethod(&$endpoint_info, &$soap_test) { - $ok = FALSE; - - // prepare a holder for the test results - $soap_test->result['class'] = $this->currentTest; - $soap_test->result['type'] = $this->paramType; - $soap_test->result['wsdl'] = $this->useWSDL; - - if ($this->useWSDL) { - if (array_key_exists('wsdlURL',$endpoint_info)) { - if (!array_key_exists('client',$endpoint_info)) { - $endpoint_info['client'] = new SoapObject($endpoint_info['wsdlURL']); - $endpoint_info['client']->__trace(1); - } - $soap =& $endpoint_info['client']; - - # XXX how do we determine a failure on retreiving/parsing wsdl? - if ($soap->wsdl->fault) { - $fault = $soap->wsdl->fault->getFault(); - $soap_test->setResult(0,'WSDL', - $fault->faultstring."\n\n".$fault->detail, - $fault->faultstring, - $fault - ); - return FALSE; - } - } else { - $fault = new SoapFault('WSDL',"no WSDL defined for $endpoint"); - $soap_test->setResult(0,'WSDL', - $fault->faultstring, - $fault->faultstring, - $fault - ); - return FALSE; - } - $namespace = false; - $soapaction = false; - } else { - $namespace = $soapaction = 'http://soapinterop.org/'; - // hack to make tests work with MS SoapToolkit - // it's the only one that uses this soapaction, and breaks if - // it isn't right. Can't wait for soapaction to be fully depricated - if ($this->currentTest == 'base' && - strstr($endpoint_info['endpointName'],'MS SOAP ToolKit 2.0')) { - $soapaction = 'urn:soapinterop'; - } - if (!array_key_exists('client',$endpoint_info)) { - $endpoint_info['client'] = new SoapObject($endpoint_info['endpointURL'],$soapaction); - $endpoint_info['client']->__trace(1); - } - $soap = $endpoint_info['client']; - } - // add headers to the test - if ($soap_test->headers) { - // $header is already a SOAP_Header class - foreach ($soap_test->headers as $header) { - $soap->addHeader($header); - } - } - // XXX no way to set encoding - // this lets us set UTF-8, US-ASCII or other - //$soap->setEncoding($soap_test->encoding); - if ($this->useWSDL) { - $args = ''; - foreach ($soap_test->method_params as $pname => $param) { - $arg = '$soap_test->method_params["'.$pname.'"]'; - $args .= $args?','.$arg:$arg; - } - $return = eval('return $soap->'.$soap_test->method_name.'('.$args.');'); - } else { - $return = $soap->__call($soap_test->method_name,$soap_test->method_params,$soapaction, $namespace); - } - - - if(!$soap->__isfault()){ - if ($soap_test->expect !== NULL) { - $sent = $soap_test->expect; - } else if (is_array($soap_test->method_params) && count($soap_test->method_params) == 1) { - reset($soap_test->method_params); - $sent = current($soap_test->method_params); - } else if (is_array($soap_test->method_params) && count($soap_test->method_params) == 0) { - $sent = null; - } else { - $sent = $soap_test->method_params; - } - - // compare header results - $header_result = array(); - $headers_ok = TRUE; - - # XXX need to implement header support! - # - #if ($soap_test->headers) { - # // $header is already a SOAP_Header class - # foreach ($soap_test->headers as $header) { - # if (get_class($header) != 'soap_header') { - # // assume it's an array - # $header = new SOAP_Header($header[0], NULL, $header[1], $header[2], $header[3], $header[4]); - # } - # $expect = $soap_test->headers_expect[$header->name]; - # $header_result[$header->name] = array(); - # // XXX need to fix need_result to identify the actor correctly - # $need_result = $hresult || - # ($header->attributes['SOAP-ENV:actor'] == 'http://schemas.xmlsoap.org/soap/actor/next' - # && $header->attributes['SOAP-ENV:mustUnderstand']); - # if ($expect) { - # $hresult = $soap->headers[key($expect)]; - # $ok = !$need_result || $this->compareResult($hresult ,$expect[key($expect)]); - # } else { - # $hresult = $soap->headers[$header->name]; - # $expect = $this->decodeSoapval($header); - # $ok = !$need_result || $this->compareResult($hresult ,$expect); - # } - # $header_result[$header->name]['ok'] = $ok; - # if (!$ok) $headers_ok = FALSE; - # } - #} - - # we need to decode what we sent so we can compare! - $sent_d = $this->decodeSoapval($sent); - - $soap_test->result['sent'] = $sent; - $soap_test->result['return'] = $return; - - // compare the results with what we sent - - if ($soap_test->cmp_func !== NULL) { - $cmp_func = $soap_test->cmp_func; - $ok = $cmp_func($sent_d,$return); - } else { - $ok = $this->compareResult($sent_d,$return, $sent->type); - if (!$ok && $soap_test->expect) { - $ok = $this->compareResult($soap_test->expect,$return); - } - } - - // save the wire - $wire = "REQUEST:\n".str_replace('" ',"\" \n",str_replace('>',">\n",$soap->__getlastrequest()))."\n\n". - "RESPONSE:\n".str_replace('" ',"\" \n",str_replace('>',">\n",$soap->__getlastresponse()))."\n\n". - "EXPECTED:\n".var_dump_str($sent_d)."\n". - "RESULTL:\n".var_dump_str($return); - #print "Wire:".htmlentities($wire); - - if($ok){ - if (!$headers_ok) { - $fault = new SoapFault('HEADER','The returned result did not match what we expected to receive'); - $soap_test->setResult(0,$fault->faultcode, - $wire, - $fault->faultstring, - $fault - ); - } else { - $soap_test->setResult(1,'OK',$wire); - $success = TRUE; - } - } else { - $fault = new SoapFault('RESULT','The returned result did not match what we expected to receive'); - $soap_test->setResult(0,$fault->faultcode, - $wire, - $fault->faultstring, - $fault - ); - } - } else { - $fault = $soap->__getfault(); - if ($soap_test->expect_fault) { - $ok = 1; - $res = 'OK'; - } else { - $ok = 0; - $res =$fault->faultcode; - } - // save the wire - $wire = "REQUEST:\n".str_replace('" ',"\" \n",str_replace('>',">\n",$soap->__getlastrequest()))."\n\n". - "RESPONSE:\n".str_replace('" ',"\" \n",str_replace('>',">\n",$soap->__getlastresponse())); - #print "Wire:".htmlentities($wire); - - $soap_test->setResult($ok,$res, $wire,$fault->faultstring, $fault); - - } - return $ok; - } - - - /** - * doTest - * run a single round of tests - * - * @access public - */ - function doTest() { - global $soap_tests; - // get endpoints for this test - $this->getEndpoints($this->currentTest); - #clear totals - $this->totals = array(); - - $i = 0; - foreach($this->endpoints as $endpoint => $endpoint_info){ - - // if we specify an endpoint, skip until we find it - if ($this->specificEndpoint && $endpoint != $this->specificEndpoint) continue; - if ($this->useWSDL && !$endpoint_info['endpointURL']) continue; - - $skipendpoint = FALSE; - $this->totals['servers']++; - #$endpoint_info['tests'] = array(); - - if ($this->show) print "Processing $endpoint at {$endpoint_info['endpointURL']}<br>\n"; - - foreach($soap_tests[$this->currentTest] as $soap_test) { - //foreach(array_keys($method_params[$this->currentTest][$this->paramType]) as $method) - - // only run the type of test we're looking for (php or soapval) - if ($soap_test->type != $this->paramType) continue; - - // if we haven't reached our startpoint, skip - if ($this->startAt && $this->startAt != $endpoint_info['endpointName']) continue; - $this->startAt = ''; - - // if this is in our skip list, skip it - if (in_array($endpoint, $this->skipEndpointList)) { - $skipendpoint = TRUE; - $skipfault = new SoapFault('SKIP','endpoint skipped'); - $soap_test->setResult(0,$fault->faultcode, '', - $skipfault->faultstring, - $skipfault - ); - #$endpoint_info['tests'][] = &$soap_test; - #$soap_test->showTestResult($this->debug); - #$this->_saveResults($endpoint_info['id'], $soap_test->method_name); - $soap_test->result = NULL; - continue; - } - - // if we're looking for a specific method, skip unless we have it - if ($this->testMethod && strcmp($this->testMethod,$soap_test->test_name) != 0) continue; - if ($this->testMethod && $this->currentTest == 'GroupC') { - // we have to figure things out now - if (!preg_match('/(.*):(.*),(\d),(\d)/',$this->testMethod, $m)) continue; - - // is the header in the headers list? - $gotit = FALSE; - foreach ($soap_test->headers as $header) { - if (get_class($header) == 'soap_header') { - if ($header->name == $m[2]) { - $gotit = $header->attributes['SOAP-ENV:actor'] == ($m[3]?SOAP_TEST_ACTOR_NEXT:SOAP_TEST_ACTOR_OTHER); - $gotit = $gotit && $header->attributes['SOAP-ENV:mustUnderstand'] == $m[4]; - } - } else { - if ($header[0] == $m[2]) { - $gotit = $gotit && $header[3] == ($m[3]?SOAP_TEST_ACTOR_NEXT:SOAP_TEST_ACTOR_OTHER); - $gotit = $gotit && $header[4] == $m[4]; - } - } - } - if (!$gotit) continue; - } - - // if we are skipping the rest of the tests (due to error) note a fault - if ($skipendpoint) { - $soap_test->setResult(0,$fault->faultcode, '', - $skipfault->faultstring, - $skipfault - ); - #$endpoint_info['tests'][] = &$soap_test; - $this->totals['fail']++; - } else { - // run the endpoint test - if ($this->doEndpointMethod($endpoint_info, $soap_test)) { - $this->totals['success']++; - } else { - $skipendpoint = $soap_test->result['fault']->faultcode=='HTTP' - && strstr($soap_test->result['fault']->faultstring,'Connect Error'); - $skipfault = $soap_test->result['fault']; - $this->totals['fail']++; - } - #$endpoint_info['tests'][] = &$soap_test; - } - $soap_test->showTestResult($this->debug); - $this->_saveResults($endpoint_info['id'], $soap_test); - $soap_test->result = NULL; - $this->totals['calls']++; - } - if ($this->numservers && ++$i >= $this->numservers) break; - } - } - - function doGroupTests() { - $dowsdl = array(0,1); - foreach($dowsdl as $usewsdl) { - $this->useWSDL = $usewsdl; - foreach($this->paramTypes as $ptype) { - // skip a pointless test - if ($usewsdl && $ptype == 'soapval') break; - $this->paramType = $ptype; - $this->doTest(); - } - } - } - - /** - * doTests - * go all out. This takes time. - * - * @access public - */ - function doTests() { - // the mother of all interop tests - $dowsdl = array(0,1); - foreach($this->tests as $test) { - $this->currentTest = $test; - foreach($dowsdl as $usewsdl) { - $this->useWSDL = $usewsdl; - foreach($this->paramTypes as $ptype) { - // skip a pointless test - if ($usewsdl && $ptype == 'soapval') break; - $this->paramType = $ptype; - $this->doTest(); - } - } - } - } - - // *********************************************************** - // output functions - - /** - * getResults - * retreive results from the database, stuff them into the endpoint array - * - * @access private - */ - function getMethodList($test = 'base') { - // retreive the results and put them into the endpoint info - $sql = "select distinct(function) from results where class='$test' order by function"; - $results = $this->dbc->getAll($sql); - $ar = array(); - foreach($results as $result) { - $ar[] = $result[0]; - } - return $ar; - } - - function outputTable() - { - $methods = $this->getMethodList($this->currentTest); - if (!$methods) return; - $this->getResults($this->currentTest,$this->paramType,$this->useWSDL); - - echo "<b>Testing $this->currentTest "; - if ($this->useWSDL) echo "using WSDL "; - else echo "using Direct calls "; - echo "with $this->paramType values</b><br>\n"; - - // calculate totals for this table - $this->totals['success'] = 0; - $this->totals['fail'] = 0; - $this->totals['servers'] = 0; #count($this->endpoints); - foreach ($this->endpoints as $endpoint => $endpoint_info) { - if (count($endpoint_info['methods']) > 0) { - $this->totals['servers']++; - foreach ($methods as $method) { - $r = $endpoint_info['methods'][$method]['result']; - if ($r == 'OK') $this->totals['success']++; - else $this->totals['fail']++; - } - } else { - unset($this->endpoints[$endpoint]); - } - } - $this->totals['calls'] = count($methods) * $this->totals['servers']; - -# if ($this->totals['fail'] == $this->totals['calls']) { -# // assume tests have not run, skip outputing table -# print "No Data Available<br>\n"; -# return; -# } - - echo "\n\n<b>Servers: {$this->totals['servers']} Calls: {$this->totals['calls']} Success: {$this->totals['success']} Fail: {$this->totals['fail']}</b><br>\n"; - - echo "<table border=\"1\" cellspacing=\"0\" cellpadding=\"2\">\n"; - echo "<tr><td class=\"BLANK\">Endpoint</td>\n"; - foreach ($methods as $method) { - $info = split(':', $method); - echo "<td class='BLANK' valign='top'>"; - foreach ($info as $m) { - $hi = split(',',$m); - echo '<b>'.$hi[0]."</b><br>\n"; - if (count($hi) > 1) { - echo " Actor=".($hi[1]?'Target':'Not Target')."<br>\n"; - echo " MustUnderstand=$hi[2]<br>\n"; - } - } - echo "</td>\n"; - } - echo "</tr>\n"; - $faults = array(); - $fi = 0; - foreach ($this->endpoints as $endpoint => $endpoint_info) { - if (array_key_exists('wsdlURL',$endpoint_info)) { - echo "<tr><td class=\"BLANK\"><a href=\"{$endpoint_info['wsdlURL']}\">$endpoint</a></td>\n"; - } else { - echo "<tr><td class=\"BLANK\">$endpoint</td>\n"; - } - foreach ($methods as $method) { - $id = $endpoint_info['methods'][$method]['id']; - $r = $endpoint_info['methods'][$method]['result']; - $e = $endpoint_info['methods'][$method]['error']; - if ($e) { - $faults[$fi++] = $e; - } - if ($r) { - echo "<td class='$r'><a href='$PHP_SELF?wire=$id'>$r</a></td>\n"; - } else { - echo "<td class='untested'>untested</td>\n"; - } - } - echo "</tr>\n"; - } - echo "</table><br>\n"; - if ($this->showFaults && count($faults) > 0) { - echo "<b>ERROR Details:</b><br>\n<ul>\n"; - # output more error detail - foreach ($faults as $fault) { - echo '<li>'.HTMLSpecialChars($fault)."</li>\n"; - } - } - echo "</ul><br><br>\n"; - } - - function outputTables() { - // the mother of all interop tests - $dowsdl = array(0,1); - foreach($this->tests as $test) { - $this->currentTest = $test; - foreach($dowsdl as $usewsdl) { - $this->useWSDL = $usewsdl; - foreach($this->paramTypes as $ptype) { - // skip a pointless test - if ($usewsdl && $ptype == 'soapval') break; - $this->paramType = $ptype; - $this->outputTable(); - } - } - } - } - - function showWire($id) { - $results = $this->dbc->getAll("select * from results where id=$id",NULL, DB_FETCHMODE_ASSOC ); - #$wire = preg_replace("/>/",">\n",$results[0]['wire']); - $wire = $results[0]['wire']; - echo "<pre>\n".HTMLSpecialChars($wire)."</pre>\n"; - } - -} - -?>
\ No newline at end of file diff --git a/ext/soap/interop/client_round2_params.php b/ext/soap/interop/client_round2_params.php deleted file mode 100644 index 0cadd979a7..0000000000 --- a/ext/soap/interop/client_round2_params.php +++ /dev/null @@ -1,653 +0,0 @@ -<?php -// -// +----------------------------------------------------------------------+ -// | PHP Version 4 | -// +----------------------------------------------------------------------+ -// | Copyright (c) 1997-2003 The PHP Group | -// +----------------------------------------------------------------------+ -// | This source file is subject to version 2.02 of the PHP license, | -// | that is bundled with this package in the file LICENSE, and is | -// | available at through the world-wide-web at | -// | http://www.php.net/license/2_02.txt. | -// | If you did not receive a copy of the PHP license and are unable to | -// | obtain it through the world-wide-web, please send a note to | -// | license@php.net so we can mail you a copy immediately. | -// +----------------------------------------------------------------------+ -// | Authors: Shane Caraveo <Shane@Caraveo.com> | -// +----------------------------------------------------------------------+ -// -// $Id$ -// - -define('SOAP_TEST_ACTOR_NEXT','http://schemas.xmlsoap.org/soap/actor/next'); -define('SOAP_TEST_ACTOR_OTHER','http://some/other/actor'); - -class SOAP_Test { - var $type = 'php'; - var $test_name = NULL; - var $method_name = NULL; - var $method_params = NULL; - var $cmp_func = NULL; - var $expect = NULL; - var $expect_fault = FALSE; - var $headers = NULL; - var $headers_expect = NULL; - var $result = array(); - var $show = 1; - var $debug = 0; - var $encoding = 'UTF-8'; - - function SOAP_Test($methodname, $params, $expect = NULL, $cmp_func = NULL) { - # XXX we have to do this to make php-soap happy with NULL params - if (!$params) $params = array(); - - if (strchr($methodname,'(')) { - preg_match('/(.*)\((.*)\)/',$methodname,$matches); - $this->test_name = $methodname; - $this->method_name = $matches[1]; - } else { - $this->test_name = $this->method_name = $methodname; - } - $this->method_params = $params; - if ($expect !== NULL) { - $this->expect = $expect; - } - if ($cmp_func !== NULL) { - $this->cmp_func = $cmp_func; - } - - // determine test type - if ($params) { - $v = array_values($params); - if (gettype($v[0]) == 'object' && - (get_class($v[0]) == 'soapvar' || get_class($v[0]) == 'soapparam')) - $this->type = 'soapval'; - } - } - - function setResult($ok, $result, $wire, $error = '', $fault = NULL) - { - $this->result['success'] = $ok; - $this->result['result'] = $result; - $this->result['error'] = $error; - $this->result['wire'] = $wire; - $this->result['fault'] = $fault; - } - - /** - * showMethodResult - * print simple output about a methods result - * - * @param array endpoint_info - * @param string method - * @access public - */ - function showTestResult($debug = 0) { - // debug output - if ($debug) $this->show = 1; - if ($debug) { - echo str_repeat("-",50)."<br>\n"; - } - - echo "testing $this->test_name : "; - if ($this->headers) { - foreach ($this->headers as $h) { - if (get_class($h) == 'soap_header') { - - echo "\n {$h->name},{$h->attributes['SOAP-ENV:actor']},{$h->attributes['SOAP-ENV:mustUnderstand']} : "; - } else { - if (!$h[4]) $h[4] = SOAP_TEST_ACTOR_NEXT; - if (!$h[3]) $h[3] = 0; - echo "\n $h[0],$h[4],$h[3] : "; - } - } - } - - if ($debug) { - print "method params: "; - print_r($this->params); - print "\n"; - } - - $ok = $this->result['success']; - if ($ok) { - print "<font color=\"#00cc00\">SUCCESS</font>\n"; - } else { - $fault = $this->result['fault']; - if ($fault) { - print "<font color=\"#ff0000\">FAILED: {$fault->faultcode} {$fault->faultstring}</font>\n"; - } else { - print "<font color=\"#ff0000\">FAILED: ".$this->result['result']."</font>\n"; - } - } - if ($debug) { - echo "<pre>\n".htmlentities($this->result['wire'])."</pre>\n"; - } - } -} - -# XXX I know this isn't quite right, need to deal with this better -function make_2d($x, $y) -{ - for ($_x = 0; $_x < $x; $_x++) { - for ($_y = 0; $_y < $y; $_y++) { - $a[$_x][$_y] = "x{$_x}y{$_y}"; - } - } - return $a; -} - -function soap_value($name, $value, $type) { - return new soapparam(new soapvar($value,$type),$name); -} - -class SOAPStruct { - var $varString; - var $varInt; - var $varFloat; - function SOAPStruct($s, $i, $f) { - $this->varString = $s; - $this->varInt = $i; - $this->varFloat = $f; - } -} - -//*********************************************************** -// Base echoString - -$soap_tests['base'][] = new SOAP_Test('echoString', array('inputString' => 'hello world!')); -$soap_tests['base'][] = new SOAP_Test('echoString', array('inputString' => soap_value('inputString','hello world',XSD_STRING))); -$soap_tests['base'][] = new SOAP_Test('echoString(empty)', array('inputString' => '')); -$soap_tests['base'][] = new SOAP_Test('echoString(empty)', array('inputString' => soap_value('inputString','',XSD_STRING))); -$soap_tests['base'][] = new SOAP_Test('echoString(null)', array('inputString' => NULL)); -$soap_tests['base'][] = new SOAP_Test('echoString(null)', array('inputString' => soap_value('inputString',NULL,XSD_STRING))); -//$soap_tests['base'][] = new SOAP_Test('echoString(entities)', array('inputString' => ">,<,&,\",',0:\x00",1:\x01,2:\x02,3:\x03,4:\x04,5:\x05,6:\x06,7:\x07,8:\x08,9:\x09,10:\x0a,11:\x0b,12:\x0c,13:\x0d,14:\x0e,15:\x0f,16:\x10,17:\x11,18:\x12,19:\x13,20:\x14,21:\x15,22:\x16,23:\x17,24:\x18,25:\x19,26:\x1a,27:\x1b,28:\x1c,29:\x1d,30:\x1e,31:\x1f")); -//$soap_tests['base'][] = new SOAP_Test('echoString(entities)', array('inputString' => soap_value('inputString',">,<,&,\",',0:\x00",1:\x01,2:\x02,3:\x03,4:\x04,5:\x05,6:\x06,7:\x07,8:\x08,9:\x09,10:\x0a,11:\x0b,12:\x0c,13:\x0d,14:\x0e,15:\x0f,16:\x10,17:\x11,18:\x12,19:\x13,20:\x14,21:\x15,22:\x16,23:\x17,24:\x18,25:\x19,26:\x1a,27:\x1b,28:\x1c,29:\x1d,30:\x1e,31:\x1f",XSD_STRING))); -$soap_tests['base'][] = new SOAP_Test('echoString(entities)', array('inputString' => ">,<,&,\",',\\,\n")); -$soap_tests['base'][] = new SOAP_Test('echoString(entities)', array('inputString' => soap_value('inputString',">,<,&,\",',\\,\n",XSD_STRING))); -$test = new SOAP_Test('echoString(utf-8)', array('inputString' => utf8_encode('ỗÈéóÒ₧⅜ỗỸ'))); -$test->encoding = 'UTF-8'; -$soap_tests['base'][] = $test; -$test = new SOAP_Test('echoString(utf-8)', array('inputString' => soap_value('inputString',utf8_encode('ỗÈéóÒ₧⅜ỗỸ'),XSD_STRING))); -$test->encoding = 'UTF-8'; -$soap_tests['base'][] = $test; - -//*********************************************************** -// Base echoStringArray - -$soap_tests['base'][] = new SOAP_Test('echoStringArray', - array('inputStringArray' => array('good','bad'))); -$soap_tests['base'][] = new SOAP_Test('echoStringArray', - array('inputStringArray' => - soap_value('inputStringArray',array('good','bad'),SOAP_ENC_ARRAY))); - -$soap_tests['base'][] = new SOAP_Test('echoStringArray(one)', - array('inputStringArray' => array('good'))); -$soap_tests['base'][] = new SOAP_Test('echoStringArray(one)', - array('inputStringArray' => - soap_value('inputStringArray',array('good'),SOAP_ENC_ARRAY))); - -// empty array test -$soap_tests['base'][] = new SOAP_Test('echoStringArray(empty)', array('inputStringArray' => array())); -$soap_tests['base'][] = new SOAP_Test('echoStringArray(empty)', array('inputStringArray' => soap_value('inputStringArray',array(),SOAP_ENC_ARRAY))); - -# XXX NULL Arrays not supported -// null array test -$soap_tests['base'][] = new SOAP_Test('echoStringArray(null)', array('inputStringArray' => NULL)); -$soap_tests['base'][] = new SOAP_Test('echoStringArray(null)', array('inputStringArray' => soap_value('inputStringArray',NULL,SOAP_ENC_ARRAY))); - -//*********************************************************** -// Base echoInteger -$x = new SOAP_Test('echoInteger', array('inputInteger' => 34345)); -$soap_tests['base'][] = new SOAP_Test('echoInteger', array('inputInteger' => 34345)); -$soap_tests['base'][] = new SOAP_Test('echoInteger', array('inputInteger' => soap_value('inputInteger',12345,XSD_INT))); - -//*********************************************************** -// Base echoIntegerArray - -$soap_tests['base'][] = new SOAP_Test('echoIntegerArray', array('inputIntegerArray' => array(1,234324324,2))); -$soap_tests['base'][] = new SOAP_Test('echoIntegerArray', - array('inputIntegerArray' => - soap_value('inputIntegerArray', - array(new soapvar(12345,XSD_INT),new soapvar(654321,XSD_INT)), - SOAP_ENC_ARRAY))); - -//*********************************************************** -// Base echoFloat - -$soap_tests['base'][] = new SOAP_Test('echoFloat', array('inputFloat' => 342.23)); -$soap_tests['base'][] = new SOAP_Test('echoFloat', array('inputFloat' => soap_value('inputFloat',123.45,XSD_FLOAT))); - -//*********************************************************** -// Base echoFloatArray - -$soap_tests['base'][] = new SOAP_Test('echoFloatArray', array('inputFloatArray' => array(1.3223,34.2,325.325))); -$soap_tests['base'][] = new SOAP_Test('echoFloatArray', - array('inputFloatArray' => - soap_value('inputFloatArray', - array(new soapvar(123.45,XSD_FLOAT),new soapvar(654.321,XSD_FLOAT)), - SOAP_ENC_ARRAY))); -//*********************************************************** -// Base echoStruct - -$soapstruct = new SOAPStruct('arg',34,325.325); -# XXX no way to set a namespace!!! -$soapsoapstruct = soap_value('inputStruct',$soapstruct,SOAP_ENC_OBJECT); -$soap_tests['base'][] = new SOAP_Test('echoStruct', array('inputStruct' =>$soapstruct)); -$soap_tests['base'][] = new SOAP_Test('echoStruct', array('inputStruct' =>$soapsoapstruct)); - -//*********************************************************** -// Base echoStructArray - -$soap_tests['base'][] = new SOAP_Test('echoStructArray', array('inputStructArray' => array( - $soapstruct,$soapstruct,$soapstruct))); -$soap_tests['base'][] = new SOAP_Test('echoStructArray', array('inputStructArray' => - soap_value('inputStructArray',array($soapstruct,$soapstruct,$soapstruct),SOAP_ENC_ARRAY))); - - -//*********************************************************** -// Base echoVoid - -$soap_tests['base'][] = new SOAP_Test('echoVoid', NULL); -$test = new SOAP_Test('echoVoid', NULL); -$test->type = 'soapval'; -$soap_tests['base'][] = $test; - -//*********************************************************** -// Base echoBase64 - -$soap_tests['base'][] = new SOAP_Test('echoBase64', array('inputBase64' => 'TmVicmFza2E=')); -$soap_tests['base'][] = new SOAP_Test('echoBase64', array('inputBase64' => - soap_value('inputBase64','TmVicmFza2E=',XSD_BASE64BINARY))); - -//*********************************************************** -// Base echoHexBinary - -$soap_tests['base'][] = new SOAP_Test('echoHexBinary', array('inputHexBinary' => '736F61707834'),'736F61707834','hex_compare'); -$soap_tests['base'][] = new SOAP_Test('echoHexBinary', array('inputHexBinary' => - soap_value('inputHexBinary','736F61707834',XSD_HEXBINARY)),'736F61707834','hex_compare'); - -//*********************************************************** -// Base echoDecimal - -# XXX test fails because php-soap incorrectly sets decimal to long rather than float -$soap_tests['base'][] = new SOAP_Test('echoDecimal', array('inputDecimal' => '12345.67890')); -$soap_tests['base'][] = new SOAP_Test('echoDecimal', array('inputDecimal' => - soap_value('inputDecimal','12345.67890',XSD_DECIMAL))); - -//*********************************************************** -// Base echoDate - -# php-soap doesn't handle datetime types properly yet -$soap_tests['base'][] = new SOAP_Test('echoDate', array('inputDate' => '2001-05-24T17:31:41Z'), null, 'date_compare'); -$soap_tests['base'][] = new SOAP_Test('echoDate', array('inputDate' => - soap_value('inputDate','2001-05-24T17:31:41Z',XSD_DATETIME)), null, 'date_compare'); - -//*********************************************************** -// Base echoBoolean - -# php-soap sends boolean as zero or one, which is ok, but to be explicit, send true or false. -$soap_tests['base'][] = new SOAP_Test('echoBoolean(true)', array('inputBoolean' => TRUE)); -$soap_tests['base'][] = new SOAP_Test('echoBoolean(true)', array('inputBoolean' => - soap_value('inputBoolean',TRUE,XSD_BOOLEAN))); -$soap_tests['base'][] = new SOAP_Test('echoBoolean(false)', array('inputBoolean' => FALSE)); -$soap_tests['base'][] = new SOAP_Test('echoBoolean(false)', array('inputBoolean' => - soap_value('inputBoolean',FALSE,XSD_BOOLEAN))); -$soap_tests['base'][] = new SOAP_Test('echoBoolean(1)', array('inputBoolean' => 1),true); -$soap_tests['base'][] = new SOAP_Test('echoBoolean(1)', array('inputBoolean' => - soap_value('inputBoolean',1,XSD_BOOLEAN)),true); -$soap_tests['base'][] = new SOAP_Test('echoBoolean(0)', array('inputBoolean' => 0),false); -$soap_tests['base'][] = new SOAP_Test('echoBoolean(0)', array('inputBoolean' => - soap_value('inputBoolean',0,XSD_BOOLEAN)),false); - - - -//*********************************************************** -// GROUP B - - -//*********************************************************** -// GroupB echoStructAsSimpleTypes - -$expect = array( - 'outputString'=>'arg', - 'outputInteger'=>34, - 'outputFloat'=>325.325 - ); -$soap_tests['GroupB'][] = new SOAP_Test('echoStructAsSimpleTypes', - array('inputStruct' => (object)array( - 'varString'=>'arg', - 'varInt'=>34, - 'varFloat'=>325.325 - )), $expect); -$soap_tests['GroupB'][] = new SOAP_Test('echoStructAsSimpleTypes', - array('inputStruct' => - soap_value('inputStruct', - (object)array('varString' => 'arg', - 'varInt' => 34, - 'varFloat' => 325.325 - ), SOAP_ENC_OBJECT)), $expect); - -//*********************************************************** -// GroupB echoSimpleTypesAsStruct - -$expect = - (object)array( - 'varString'=>'arg', - 'varInt'=>34, - 'varFloat'=>325.325 - ); -$soap_tests['GroupB'][] = new SOAP_Test('echoSimpleTypesAsStruct', - array( - 'inputString'=>'arg', - 'inputInteger'=>34, - 'inputFloat'=>325.325 - ), $expect); -$soap_tests['GroupB'][] = new SOAP_Test('echoSimpleTypesAsStruct', - array( - soap_value('inputString','arg', XSD_STRING), - soap_value('inputInteger',34, XSD_INT), - soap_value('inputFloat',325.325, XSD_FLOAT) - ), $expect); - -//*********************************************************** -// GroupB echo2DStringArray - -$soap_tests['GroupB'][] = new SOAP_Test('echo2DStringArray', - array('input2DStringArray' => make_2d(3,3))); - -$multidimarray = - soap_value('input2DStringArray', - array( - array('row0col0', 'row0col1', 'row0col2'), - array('row1col0', 'row1col1', 'row1col2') - ), SOAP_ENC_ARRAY - ); -//$multidimarray->options['flatten'] = TRUE; -$soap_tests['GroupB'][] = new SOAP_Test('echo2DStringArray', - array('input2DStringArray' => $multidimarray)); - -//*********************************************************** -// GroupB echoNestedStruct - -$soap_tests['GroupB'][] = new SOAP_Test('echoNestedStruct', - array('inputStruct' => (object)array( - 'varString'=>'arg', - 'varInt'=>34, - 'varFloat'=>325.325, - 'varStruct' => (object)array( - 'varString'=>'arg', - 'varInt'=>34, - 'varFloat'=>325.325 - ) - ))); -$soap_tests['GroupB'][] = new SOAP_Test('echoNestedStruct', - array('inputStruct' => - soap_value('inputStruct', - (object)array( - 'varString'=>'arg', - 'varInt'=>34, - 'varFloat'=>325.325, - 'varStruct' => (object)array( - 'varString'=>'arg', - 'varInt'=>34, - 'varFloat'=>325.325 - ) -// array( #push struct elements into one soap value -// soap_value('varString','arg', XSD_STRING), -// soap_value('varInt',34, XSD_INT), -// soap_value('varFloat',325.325,XSD_FLOAT), -// soap_value('varStruct', -// (object)array('varString' => 'arg', -// 'varInt' => 34, -// 'varFloat' => 325.325 -// ), SOAP_ENC_OBJECT - ), SOAP_ENC_OBJECT - ))); - -//*********************************************************** -// GroupB echoNestedArray - -$soap_tests['GroupB'][] = new SOAP_Test('echoNestedArray', - array('inputStruct' => (object)array( - 'varString'=>'arg', - 'varInt'=>34, - 'varFloat'=>325.325, - 'varArray' => array('red','blue','green') - ))); -$soap_tests['GroupB'][] = new SOAP_Test('echoNestedArray', - array('inputStruct' => - soap_value('inputStruct', - (object)array('varString' => 'arg', - 'varInt' => 34, - 'varFloat' => 325.325, - 'varArray' => - array("red", "blue", "green") -// soap_value('item','red', XSD_STRING), -// soap_value('item','blue', XSD_STRING), -// soap_value('item','green', XSD_STRING) -// ) - ), SOAP_ENC_OBJECT - ))); - - -#//*********************************************************** -#// GROUP C header tests -# -#//*********************************************************** -#// echoMeStringRequest php val tests -# -#// echoMeStringRequest with endpoint as header destination, doesn't have to understand -#$test = new SOAP_Test('echoVoid', NULL); -#$test->headers[] = array('{http://soapinterop.org/echoheader/}echoMeStringRequest', 'hello world', 0,SOAP_TEST_ACTOR_NEXT); -#$test->headers_expect['echoMeStringRequest'] = array('echoMeStringResponse'=>'hello world'); -#$soap_tests['GroupC'][] = $test; -# -#// echoMeStringRequest with endpoint as header destination, must understand -#$test = new SOAP_Test('echoVoid', NULL); -#$test->headers[] = array('{http://soapinterop.org/echoheader/}echoMeStringRequest', 'hello world', 1,SOAP_TEST_ACTOR_NEXT); -#$this->type = 'soapval'; // force a soapval version of this test -#$test->headers_expect['echoMeStringRequest'] = array('echoMeStringResponse'=>'hello world'); -#$soap_tests['GroupC'][] = $test; -# -#// echoMeStringRequest with endpoint NOT header destination, doesn't have to understand -#$test = new SOAP_Test('echoVoid', NULL); -#$test->headers[] = array('{http://soapinterop.org/echoheader/}echoMeStringRequest', 'hello world', 0, SOAP_TEST_ACTOR_OTHER); -#$test->headers_expect['echoMeStringRequest'] = array(); -#$soap_tests['GroupC'][] = $test; -# -#// echoMeStringRequest with endpoint NOT header destination, must understand -#$test = new SOAP_Test('echoVoid', NULL); -#$test->headers[] = array('{http://soapinterop.org/echoheader/}echoMeStringRequest', 'hello world', 1, SOAP_TEST_ACTOR_OTHER); -#$test->headers_expect['echoMeStringRequest'] = array(); -#$soap_tests['GroupC'][] = $test; -# -#//*********************************************************** -#// echoMeStringRequest soapval tests -# -#// echoMeStringRequest with endpoint as header destination, doesn't have to understand -#$test = new SOAP_Test('echoVoid', NULL); -#$test->type = 'soapval'; -#$test->headers[] = new SOAP_Header('{http://soapinterop.org/echoheader/}echoMeStringRequest', 'string', 'hello world'); -#$test->headers_expect['echoMeStringRequest'] = array('echoMeStringResponse'=>'hello world'); -#$soap_tests['GroupC'][] = $test; -# -#// echoMeStringRequest with endpoint as header destination, must understand -#$test = new SOAP_Test('echoVoid', NULL); -#$test->type = 'soapval'; -#$test->headers[] = new SOAP_Header('{http://soapinterop.org/echoheader/}echoMeStringRequest', 'string', 'hello world', 1); -#$this->type = 'soapval'; // force a soapval version of this test -#$test->headers_expect['echoMeStringRequest'] = array('echoMeStringResponse'=>'hello world'); -#$soap_tests['GroupC'][] = $test; -# -#// echoMeStringRequest with endpoint NOT header destination, doesn't have to understand -#$test = new SOAP_Test('echoVoid', NULL); -#$test->type = 'soapval'; -#$test->headers[] = new SOAP_Header('{http://soapinterop.org/echoheader/}echoMeStringRequest', 'string', 'hello world', 0, SOAP_TEST_ACTOR_OTHER); -#$test->headers_expect['echoMeStringRequest'] = array(); -#$soap_tests['GroupC'][] = $test; -# -#// echoMeStringRequest with endpoint NOT header destination, must understand -#$test = new SOAP_Test('echoVoid', NULL); -#$test->type = 'soapval'; -#$test->headers[] = new SOAP_Header('{http://soapinterop.org/echoheader/}echoMeStringRequest', 'string', 'hello world', 1, SOAP_TEST_ACTOR_OTHER); -#$test->headers_expect['echoMeStringRequest'] = array(); -#$soap_tests['GroupC'][] = $test; -# -#// echoMeStringRequest with endpoint header destination, must understand, -#// invalid namespace, should recieve a fault -##$test = new SOAP_Test('echoVoid', NULL); -##$test->type = 'soapval'; -##$test->headers[] = new SOAP_Header('{http://unknown.org/echoheader/}echoMeStringRequest', 'string', 'hello world', 1); -##$test->headers_expect['echoMeStringRequest'] = array(); -##$test->expect_fault = TRUE; -##$soap_tests['GroupC'][] = $test; -# -#//*********************************************************** -#// php val tests -#// echoMeStructRequest with endpoint as header destination, doesn't have to understand -#$test = new SOAP_Test('echoVoid', NULL); -#$test->headers[] = array('{http://soapinterop.org/echoheader/}echoMeStructRequest', -# array('varString'=>'arg', 'varInt'=>34, 'varFloat'=>325.325), -# 0,SOAP_TEST_ACTOR_NEXT); -#$test->headers_expect['echoMeStructRequest'] = -# array('echoMeStructResponse'=> array('varString'=>'arg','varInt'=>34,'varFloat'=>325.325)); -#$soap_tests['GroupC'][] = $test; -# -#// echoMeStructRequest with endpoint as header destination, must understand -#$test = new SOAP_Test('echoVoid', NULL); -#$test->headers[] = array('{http://soapinterop.org/echoheader/}echoMeStructRequest', -# array('varString'=>'arg', 'varInt'=>34, 'varFloat'=>325.325), -# 1,SOAP_TEST_ACTOR_NEXT); -#$test->headers_expect['echoMeStructRequest'] = -# array('echoMeStructResponse'=> array('varString'=>'arg','varInt'=>34,'varFloat'=>325.325)); -#$soap_tests['GroupC'][] = $test; -# -#// echoMeStructRequest with endpoint NOT header destination, doesn't have to understand -#$test = new SOAP_Test('echoVoid', NULL); -#$test->headers[] = array('{http://soapinterop.org/echoheader/}echoMeStructRequest', -# array('varString'=>'arg', 'varInt'=>34, 'varFloat'=>325.325), -# 0, SOAP_TEST_ACTOR_OTHER); -#$test->headers_expect['echoMeStructRequest'] = array(); -#$soap_tests['GroupC'][] = $test; -# -#// echoMeStructRequest with endpoint NOT header destination, must understand -#$test = new SOAP_Test('echoVoid', NULL); -#$test->headers[] = array('{http://soapinterop.org/echoheader/}echoMeStructRequest', -# array('varString'=>'arg', 'varInt'=>34, 'varFloat'=>325.325), -# 1, SOAP_TEST_ACTOR_OTHER); -#$test->headers_expect['echoMeStructRequest'] = array(); -#$soap_tests['GroupC'][] = $test; -# -#//*********************************************************** -#// soapval tests -#// echoMeStructRequest with endpoint as header destination, doesn't have to understand -#$test = new SOAP_Test('echoVoid', NULL); -#$test->type = 'soapval'; -#$test->headers[] = new SOAP_Header('{http://soapinterop.org/echoheader/}echoMeStructRequest',NULL, -# array( #push struct elements into one soap value -# new SOAP_Value('varString','string','arg'), -# new SOAP_Value('varInt','int',34), -# new SOAP_Value('varFloat','float',325.325) -# )); -#$test->headers_expect['echoMeStructRequest'] = -# array('echoMeStructResponse'=> array('varString'=>'arg','varInt'=>34,'varFloat'=>325.325)); -#$soap_tests['GroupC'][] = $test; -# -#// echoMeStructRequest with endpoint as header destination, must understand -#$test = new SOAP_Test('echoVoid', NULL); -#$test->type = 'soapval'; -#$test->headers[] = new SOAP_Header('{http://soapinterop.org/echoheader/}echoMeStructRequest',NULL, -# array( #push struct elements into one soap value -# new SOAP_Value('varString','string','arg'), -# new SOAP_Value('varInt','int',34), -# new SOAP_Value('varFloat','float',325.325) -# ), 1); -#$test->headers_expect['echoMeStructRequest'] = -# array('echoMeStructResponse'=> array('varString'=>'arg','varInt'=>34,'varFloat'=>325.325)); -#$soap_tests['GroupC'][] = $test; -# -#// echoMeStructRequest with endpoint NOT header destination, doesn't have to understand -#$test = new SOAP_Test('echoVoid', NULL); -#$test->type = 'soapval'; -#$test->headers[] = new SOAP_Header('{http://soapinterop.org/echoheader/}echoMeStructRequest',NULL, -# array( #push struct elements into one soap value -# new SOAP_Value('varString','string','arg'), -# new SOAP_Value('varInt','int',34), -# new SOAP_Value('varFloat','float',325.325) -# ), 0, SOAP_TEST_ACTOR_OTHER); -#$test->headers_expect['echoMeStructRequest'] = array(); -#$soap_tests['GroupC'][] = $test; -# -#// echoMeStructRequest with endpoint NOT header destination, must understand -#$test = new SOAP_Test('echoVoid', NULL); -#$test->type = 'soapval'; -#$test->headers[] = new SOAP_Header('{http://soapinterop.org/echoheader/}echoMeStructRequest',NULL, -# array( #push struct elements into one soap value -# new SOAP_Value('varString','string','arg'), -# new SOAP_Value('varInt','int',34), -# new SOAP_Value('varFloat','float',325.325) -# ), 1, SOAP_TEST_ACTOR_OTHER); -#$test->headers_expect['echoMeStructRequest'] = array(); -#$soap_tests['GroupC'][] = $test; -# -#//*********************************************************** -#// echoMeUnknown php val tests -#// echoMeUnknown with endpoint as header destination, doesn't have to understand -#$test = new SOAP_Test('echoVoid', NULL); -#$test->headers[] = array('{http://soapinterop.org/echoheader/}echoMeUnknown', 'nobody understands me!',0,SOAP_TEST_ACTOR_NEXT); -#$test->headers_expect['echoMeUnknown'] = array(); -#$soap_tests['GroupC'][] = $test; -# -#// echoMeUnknown with endpoint as header destination, must understand -#$test = new SOAP_Test('echoVoid', NULL); -#$test->headers[] = array('{http://soapinterop.org/echoheader/}echoMeUnknown', 'nobody understands me!',1,SOAP_TEST_ACTOR_NEXT); -#$test->headers_expect['echoMeUnknown'] = array(); -#$test->expect_fault = TRUE; -#$soap_tests['GroupC'][] = $test; -# -#// echoMeUnknown with endpoint NOT header destination, doesn't have to understand -#$test = new SOAP_Test('echoVoid', NULL); -#$test->headers[] = array('{http://soapinterop.org/echoheader/}echoMeUnknown', 'nobody understands me!',0, SOAP_TEST_ACTOR_OTHER); -#$test->headers_expect['echoMeUnknown'] = array(); -#$soap_tests['GroupC'][] = $test; -# -#// echoMeUnknown with endpoint NOT header destination, must understand -#$test = new SOAP_Test('echoVoid', NULL); -#$test->headers[] = array('{http://soapinterop.org/echoheader/}echoMeUnknown', 'nobody understands me!', 1, SOAP_TEST_ACTOR_OTHER); -#$test->headers_expect['echoMeUnknown'] = array(); -#$soap_tests['GroupC'][] = $test; -# -#//*********************************************************** -#// echoMeUnknown soapval tests -#// echoMeUnknown with endpoint as header destination, doesn't have to understand -#$test = new SOAP_Test('echoVoid', NULL); -#$test->type = 'soapval'; -#$test->headers[] = new SOAP_Header('{http://soapinterop.org/echoheader/}echoMeUnknown','string','nobody understands me!'); -#$test->headers_expect['echoMeUnknown'] = array(); -#$soap_tests['GroupC'][] = $test; -# -#// echoMeUnknown with endpoint as header destination, must understand -#$test = new SOAP_Test('echoVoid', NULL); -#$test->type = 'soapval'; -#$test->headers[] = new SOAP_Header('{http://soapinterop.org/echoheader/}echoMeUnknown','string','nobody understands me!',1); -#$test->headers_expect['echoMeUnknown'] = array(); -#$test->expect_fault = TRUE; -#$soap_tests['GroupC'][] = $test; -# -#// echoMeUnknown with endpoint NOT header destination, doesn't have to understand -#$test = new SOAP_Test('echoVoid', NULL); -#$test->type = 'soapval'; -#$test->headers[] = new SOAP_Header('{http://soapinterop.org/echoheader/}echoMeUnknown','string','nobody understands me!', 0, SOAP_TEST_ACTOR_OTHER); -#$test->headers_expect['echoMeUnknown'] = array(); -#$soap_tests['GroupC'][] = $test; -# -#// echoMeUnknown with endpoint NOT header destination, must understand -#$test = new SOAP_Test('echoVoid', NULL); -#$test->type = 'soapval'; -#$test->headers[] = new SOAP_Header('{http://soapinterop.org/echoheader/}echoMeUnknown','string','nobody understands me!', 1, SOAP_TEST_ACTOR_OTHER); -#$test->headers_expect['echoMeUnknown'] = array(); -#$soap_tests['GroupC'][] = $test; - - -?>
\ No newline at end of file diff --git a/ext/soap/interop/client_round2_results.php b/ext/soap/interop/client_round2_results.php deleted file mode 100644 index 42c49e2b39..0000000000 --- a/ext/soap/interop/client_round2_results.php +++ /dev/null @@ -1,75 +0,0 @@ -<?php -// NOTE: do not run this directly under a web server, as it will take a very long -// time to execute. Run from a command line or something, and redirect output -// to an html file. -// -// +----------------------------------------------------------------------+ -// | PHP Version 4 | -// +----------------------------------------------------------------------+ -// | Copyright (c) 1997-2003 The PHP Group | -// +----------------------------------------------------------------------+ -// | This source file is subject to version 2.02 of the PHP license, | -// | that is bundled with this package in the file LICENSE, and is | -// | available at through the world-wide-web at | -// | http://www.php.net/license/2_02.txt. | -// | If you did not receive a copy of the PHP license and are unable to | -// | obtain it through the world-wide-web, please send a note to | -// | license@php.net so we can mail you a copy immediately. | -// +----------------------------------------------------------------------+ -// | Authors: Shane Caraveo <Shane@Caraveo.com> | -// +----------------------------------------------------------------------+ -// -// $Id$ -// -require_once 'client_round2_interop.php'; -?> -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> - -<html> -<head> -<style> -TD { background-color: Red; } -TD.BLANK { background-color: White; } -TD.OK { background-color: Lime; } -TD.RESULT { background-color: Green; } -TD.untested { background-color: White; } -TD.CONNECT { background-color: Yellow; } -TD.TRANSPORT { background-color: Yellow; } -TD.WSDL { background-color: Yellow; } -TD.WSDLCACHE { background-color: Yellow; } -TD.WSDLPARSER { background-color: Yellow; } -TD.HTTP { background-color: Yellow; } -TD.SMTP { background-color: Yellow; } -</style> - <title>PEAR-PHP SOAP Interop Tests</title> -</head> - -<body bgcolor="White" text="Black"> -<h2 align="center">SOAP Client Interop Test Results: Round2</h2> - -<a href="index.php">Back to Interop Index</a><br> -<p> </p> - -<?php -$iop = new Interop_Client(); - -if ($_GET['detail'] == 1) $iop->showFaults = 1; - -if ($_GET['wire']) { - $iop->showWire($_GET['wire']); -} else { - $iop->getEndpoints(); - $iop->getResults(); - - if ($_GET['test']) { - $iop->currentTest = $_GET['test']; - $iop->useWSDL = $_GET['wsdl']?$_GET['wsdl']:0; - $iop->paramType = $_GET['type']?$_GET['type']:'php'; - $iop->outputTable(); - } else { - $iop->outputTables(); - } -} -?> -</body> -</html> diff --git a/ext/soap/interop/client_round2_run.php b/ext/soap/interop/client_round2_run.php deleted file mode 100644 index d879353694..0000000000 --- a/ext/soap/interop/client_round2_run.php +++ /dev/null @@ -1,54 +0,0 @@ -<?php -// this script is usefull for quickly testing stuff, use the 'pretty' file for html output -// -// +----------------------------------------------------------------------+ -// | PHP Version 4 | -// +----------------------------------------------------------------------+ -// | Copyright (c) 1997-2003 The PHP Group | -// +----------------------------------------------------------------------+ -// | This source file is subject to version 2.02 of the PHP license, | -// | that is bundled with this package in the file LICENSE, and is | -// | available at through the world-wide-web at | -// | http://www.php.net/license/2_02.txt. | -// | If you did not receive a copy of the PHP license and are unable to | -// | obtain it through the world-wide-web, please send a note to | -// | license@php.net so we can mail you a copy immediately. | -// +----------------------------------------------------------------------+ -// | Authors: Shane Caraveo <Shane@Caraveo.com> | -// +----------------------------------------------------------------------+ -// -// $Id$ -// -set_time_limit(0); -require_once 'client_round2_interop.php'; - -$iop = new Interop_Client(); -// force a fetch of endpoints, this happens irregardless if no endpoints in database -#$iop->fetchEndpoints(); - -// set some options -$iop->currentTest = 'base'; // see $tests above -$iop->paramType = 'php'; // 'php' or 'soapval' -$iop->useWSDL = 0; // 1= do wsdl tests -$iop->numServers = 0; // 0 = all -//$iop->specificEndpoint = '4s4c'; // test only this endpoint -//$iop->testMethod = 'echoString'; // test only this method - -#XXX MS SOAP ToolKit 2.0/3.0 crashes php-soap in __getfault! - -// endpoints to skip -$iop->skipEndpointList = array('Apache Axis','IONA XMLBus','IONA XMLBus (CORBA)','MS SOAP ToolKit 2.0','MS SOAP ToolKit 3.0','Spheon JSOAP','SQLData SOAP Server','WASP Advanced 3.0'); -$iop->startAt=''; -$iop->nosave = 0; // 1= disable saving results to database -// debug output -$iop->show = 1; -$iop->debug = 0; -$iop->showFaults = 0; // used in result table output - -$iop->doTest(); // run a single set of tests using above options -#$iop->doGroupTests(); // run a group of tests set in $currentTest -#$iop->doTests(); // run all tests, ignore above options -#$iop->outputTables(); -echo "done"; - -?> diff --git a/ext/soap/interop/config.php.dist b/ext/soap/interop/config.php.dist deleted file mode 100644 index 3e9549cdfe..0000000000 --- a/ext/soap/interop/config.php.dist +++ /dev/null @@ -1,4 +0,0 @@ -<?php -// configuration items -$interopConfig['DSN'] = 'mysql://root@localhost/soapinterop'; -?>
\ No newline at end of file diff --git a/ext/soap/interop/database_round2.sql b/ext/soap/interop/database_round2.sql deleted file mode 100644 index 6834b0eeae..0000000000 --- a/ext/soap/interop/database_round2.sql +++ /dev/null @@ -1,44 +0,0 @@ -# phpMyAdmin MySQL-Dump -# version 2.2.5 -# http://phpwizard.net/phpMyAdmin/ -# http://phpmyadmin.sourceforge.net/ (download page) -# -# Host: localhost -# Generation Time: Apr 08, 2002 at 08:32 PM -# Server version: 3.23.49 -# PHP Version: 4.1.1 -# Database : `interop` -# -------------------------------------------------------- - -# -# Table structure for table `endpoints` -# - -CREATE TABLE endpoints ( - id int(11) NOT NULL auto_increment, - endpointName varchar(50) NOT NULL default '', - endpointURL varchar(255) NOT NULL default '', - wsdlURL varchar(255) NOT NULL default '', - class varchar(20) NOT NULL default '', - status int(11) NOT NULL default '1', - PRIMARY KEY (id) -) TYPE=MyISAM; -# -------------------------------------------------------- - -# -# Table structure for table `results` -# - -CREATE TABLE results ( - id int(11) NOT NULL auto_increment, - endpoint int(11) NOT NULL default '0', - stamp int(11) NOT NULL default '0', - class varchar(10) NOT NULL default '', - type varchar(10) default NULL, - wsdl int(11) NOT NULL default '0', - function varchar(255) NOT NULL default '', - result varchar(25) NOT NULL default '', - error text, - wire text NOT NULL, - PRIMARY KEY (id) -) TYPE=MyISAM; diff --git a/ext/soap/interop/echoheadersvc.wsdl.php b/ext/soap/interop/echoheadersvc.wsdl.php deleted file mode 100644 index b310960657..0000000000 --- a/ext/soap/interop/echoheadersvc.wsdl.php +++ /dev/null @@ -1,20 +0,0 @@ -<?php -header("Content-Type: text/xml"); -echo '<?xml version="1.0"?>'; -echo "\n"; -?> -<definitions name="InteropTest" targetNamespace="http://soapinterop.org/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://soapinterop.org/" xmlns:s="http://soapinterop.org/xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> - - <import location="http://www.whitemesa.com/interop/InteropTest.wsdl" namespace="http://soapinterop.org/"/> - <import location="http://www.whitemesa.com/interop/InteropTest.wsdl" namespace="http://soapinterop.org/xsd"/> - <import location="http://www.whitemesa.com/interop/InteropTestC.wsdl" namespace="http://soapinterop.org/"/> - - <service name="interopLabEchoHeader"> - - <port name="interopPortEchoHdr" binding="tns:InteropEchoHeaderBinding"> - <soap:address location="<?php echo ((isset($_SERVER['HTTPS'])?"https://":"http://").$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']));?>/server_round2.php"/> - </port> - - </service> - -</definitions> diff --git a/ext/soap/interop/index.php b/ext/soap/interop/index.php deleted file mode 100644 index 999cd47efa..0000000000 --- a/ext/soap/interop/index.php +++ /dev/null @@ -1,68 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> - -<html> -<head> - <title>PEAR SOAP Interop</title> -</head> -<?php -// get our endpoint -$server = $_SERVER['HTTP_HOST'].':'.$_SERVER['SERVER_PORT']; -$base = (isset($_SERVER['HTTPS'])?"https://":"http://").$server.dirname($_SERVER['PHP_SELF'])."/interop.wsdl.php"; -$groupb = (isset($_SERVER['HTTPS'])?"https://":"http://").$server.dirname($_SERVER['PHP_SELF'])."/interopB.wsdl.php"; -$groupc = (isset($_SERVER['HTTPS'])?"https://":"http://").$server.dirname($_SERVER['PHP_SELF'])."/echoheadersvc.wsdl.php"; -?> -<body> - -<h2 align='center'>PEAR SOAP Interop</h2> -<p>Welcome to the PEAR SOAP Interop pages. These pages are set up for -SOAP Builder interop tests. You can find out more about the interop tests -at <a href="http://www.whitemesa.com/interop.htm">White Mesa</a>.</p> -<p>Currently Round 2 base, Group B and Group C interop tests are enabled.</p> - -<h3>Round 2 Interop Server</h3> -Base WSDL: <a href="<?php echo $base ?>"><?php echo $base ?></a><br> -Group B WSDL: <a href="<?php echo $groupb ?>"><?php echo $groupb ?></a><br> -Group C WSDL: <a href="<?php echo $groupc ?>"><?php echo $groupc ?></a><br> - -<h3>Interop Client</h3> - -<p> -Notes: -Tests are done both "Direct" and with "WSDL". WSDL tests use the supplied interop WSDL -to run the tests against. The Direct method uses an internal prebuilt list of methods and parameters -for the test.</p> -<p> -Tests are also run against two methods of generating method parameters. The first, 'php', attempts -to directly serialize PHP variables into soap values. The second method, 'soapval', uses a SOAP_Value -class to define what the type of the value is. The second method is more interopable than the first -by nature. -</p> - -<h3>Client Test Interface</h3> -<p>The <a href="client_round2.php">client interface</a> allows you to run the PEAR SOAP -Client against a choosen interop server. Each run updates the results database below.</p> - -<h3>Interop Client Test Results</h3> -<p>This is a database of the current test results using PEAR SOAP Clients against interop servers.</p> -<p> -More detail (wire) about errors (marked yellow or red) can be obtained by clicking on the -link in the result box. If we have an HTTP error -attempting to connect to the endpoint, we will mark all consecutive attempts as errors, and skip -testing that endpoint. This reduces the time it takes to run the tests if a server is unavailable. -WSDLCACHE errors mean we cannot retreive the WSDL file specified for the endpoint. -</p> - -<ul> -<li><a href="client_round2_results.php?test=base&type=php&wsdl=0">Base results using PHP native types</a></li> -<li><a href="client_round2_results.php?test=base&type=soapval&wsdl=0">Base results using SOAP types</a></li> -<li><a href="client_round2_results.php?test=base&type=php&wsdl=1">Base results using PHP native types with WSDL</a></li> -<li><a href="client_round2_results.php?test=GroupB&type=php&wsdl=0">Group B results using PHP native types</a></li> -<li><a href="client_round2_results.php?test=GroupB&type=soapval&wsdl=0">Group B results using SOAP types</a></li> -<li><a href="client_round2_results.php?test=GroupB&type=php&wsdl=1">Group B results using PHP native types with WSDL</a></li> -<li><a href="client_round2_results.php?test=GroupC&type=php&wsdl=0">Group C results using PHP native types</a></li> -<li><a href="client_round2_results.php?test=GroupC&type=soapval&wsdl=0">Group C results using SOAP types</a></li> -<li><a href="client_round2_results.php?test=GroupC&type=php&wsdl=1">Group C results using PHP native types with WSDL</a></li> -<li><a href="client_round2_results.php">Show All Results</a></li> -</ul> -</body> -</html> diff --git a/ext/soap/interop/interop.wsdl.php b/ext/soap/interop/interop.wsdl.php deleted file mode 100644 index b257c56b66..0000000000 --- a/ext/soap/interop/interop.wsdl.php +++ /dev/null @@ -1,335 +0,0 @@ -<?php -header("Content-Type: text/xml"); -echo '<?xml version="1.0"?>'; -echo "\n"; -?> -<definitions name="InteropTest" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" - xmlns:tns="http://soapinterop.org/" - xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" - xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" - xmlns="http://schemas.xmlsoap.org/wsdl/" - targetNamespace="http://soapinterop.org/"> - - <types> - <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapinterop.org/"> - <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" /> - <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" /> - <xsd:complexType name="ArrayOfstring"> - <xsd:complexContent> - <xsd:restriction base="SOAP-ENC:Array"> - <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/> - </xsd:restriction> - </xsd:complexContent> - </xsd:complexType> - <xsd:complexType name="ArrayOfint"> - <xsd:complexContent> - <xsd:restriction base="SOAP-ENC:Array"> - <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/> - </xsd:restriction> - </xsd:complexContent> - </xsd:complexType> - <xsd:complexType name="ArrayOffloat"> - <xsd:complexContent> - <xsd:restriction base="SOAP-ENC:Array"> - <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/> - </xsd:restriction> - </xsd:complexContent> - </xsd:complexType> - <xsd:complexType name="SOAPStruct"> - <xsd:all> - <xsd:element name="varString" type="string"/> - <xsd:element name="varInt" type="int"/> - <xsd:element name="varFloat" type="float"/> - </xsd:all> - </xsd:complexType> - <xsd:complexType name="ArrayOfSOAPStruct"> - <xsd:complexContent> - <xsd:restriction base="SOAP-ENC:Array"> - <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:SOAPStruct[]"/> - </xsd:restriction> - </xsd:complexContent> - </xsd:complexType> - </schema> - </types> - - <message name="echoStringRequest"> - <part name="inputString" type="xsd:string" /> - </message> - <message name="echoStringResponse"> - <part name="outputString" type="xsd:string" /> - </message> - <message name="echoStringArrayRequest"> - <part name="inputStringArray" type="tns:ArrayOfstring" /> - </message> - <message name="echoStringArrayResponse"> - <part name="outputStringArray" type="tns:ArrayOfstring" /> - </message> - <message name="echoIntegerRequest"> - <part name="inputInteger" type="xsd:int" /> - </message> - <message name="echoIntegerResponse"> - <part name="outputInteger" type="xsd:int" /> - </message> - <message name="echoIntegerArrayRequest"> - <part name="inputIntegerArray" type="tns:ArrayOfint" /> - </message> - <message name="echoIntegerArrayResponse"> - <part name="outputIntegerArray" type="tns:ArrayOfint" /> - </message> - <message name="echoFloatRequest"> - <part name="inputFloat" type="xsd:float" /> - </message> - <message name="echoFloatResponse"> - <part name="outputFloat" type="xsd:float" /> - </message> - <message name="echoFloatArrayRequest"> - <part name="inputFloatArray" type="tns:ArrayOffloat" /> - </message> - <message name="echoFloatArrayResponse"> - <part name="outputFloatArray" type="tns:ArrayOffloat" /> - </message> - <message name="echoStructRequest"> - <part name="inputStruct" type="tns:SOAPStruct" /> - </message> - <message name="echoStructResponse"> - <part name="outputStruct" type="tns:SOAPStruct" /> - </message> - <message name="echoStructArrayRequest"> - <part name="inputStructArray" type="tns:ArrayOfSOAPStruct" /> - </message> - <message name="echoStructArrayResponse"> - <part name="outputStructArray" type="tns:ArrayOfSOAPStruct" /> - </message> - <message name="echoVoidRequest"> - </message> - <message name="echoVoidResponse"> - </message> - <message name="echoBase64Request"> - <part name="inputBase64" type="xsd:base64Binary" /> - </message> - <message name="echoBase64Response"> - <part name="outputBase64" type="xsd:base64Binary" /> - </message> - <message name="echoDateRequest"> - <part name="inputDate" type="xsd:dateTime" /> - </message> - <message name="echoDateResponse"> - <part name="outputDate" type="xsd:dateTime" /> - </message> - <message name="echoHexBinaryRequest"> - <part name="inputHexBinary" type="xsd:hexBinary" /> - </message> - <message name="echoHexBinaryResponse"> - <part name="outputHexBinary" type="xsd:hexBinary" /> - </message> - <message name="echoDecimalRequest"> - <part name="inputDecimal" type="xsd:decimal" /> - </message> - <message name="echoDecimalResponse"> - <part name="outputDecimal" type="xsd:decimal" /> - </message> - <message name="echoBooleanRequest"> - <part name="inputBoolean" type="xsd:boolean" /> - </message> - <message name="echoBooleanResponse"> - <part name="outputBoolean" type="xsd:boolean" /> - </message> - - <portType name="InteropTestPortType"> - <operation name="echoString"> - <input message="tns:echoStringRequest"/> - <output message="tns:echoStringResponse"/> - </operation> - <operation name="echoStringArray"> - <input message="tns:echoStringArrayRequest"/> - <output message="tns:echoStringArrayResponse"/> - </operation> - <operation name="echoInteger"> - <input message="tns:echoIntegerRequest"/> - <output message="tns:echoIntegerResponse"/> - </operation> - <operation name="echoIntegerArray"> - <input message="tns:echoIntegerArrayRequest"/> - <output message="tns:echoIntegerArrayResponse"/> - </operation> - <operation name="echoFloat"> - <input message="tns:echoFloatRequest"/> - <output message="tns:echoFloatResponse"/> - </operation> - <operation name="echoFloatArray"> - <input message="tns:echoFloatArrayRequest"/> - <output message="tns:echoFloatArrayResponse"/> - </operation> - <operation name="echoStruct"> - <input message="tns:echoStructRequest"/> - <output message="tns:echoStructResponse"/> - </operation> - <operation name="echoStructArray"> - <input message="tns:echoStructArrayRequest"/> - <output message="tns:echoStructArrayResponse"/> - </operation> - <operation name="echoVoid"> - <input message="tns:echoVoidRequest"/> - <output message="tns:echoVoidResponse"/> - </operation> - <operation name="echoBase64"> - <input message="tns:echoBase64Request"/> - <output message="tns:echoBase64Response"/> - </operation> - <operation name="echoDate"> - <input message="tns:echoDateRequest"/> - <output message="tns:echoDateResponse"/> - </operation> - <operation name="echoHexBinary"> - <input message="tns:echoHexBinaryRequest"/> - <output message="tns:echoHexBinaryResponse"/> - </operation> - <operation name="echoDecimal"> - <input message="tns:echoDecimalRequest"/> - <output message="tns:echoDecimalResponse"/> - </operation> - <operation name="echoBoolean"> - <input message="tns:echoBooleanRequest"/> - <output message="tns:echoBooleanResponse"/> - </operation> - </portType> - - <binding name="InteropTestBinding" type="tns:InteropTestPortType"> - <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> - <operation name="echoString"> - <soap:operation soapAction="http://" style="rpc"/> - <input> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </input> - <output> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </output> - </operation> - <operation name="echoStringArray"> - <soap:operation soapAction="http://" style="rpc"/> - <input> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </input> - <output> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </output> - </operation> - <operation name="echoInteger"> - <soap:operation soapAction="http://" style="rpc"/> - <input> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </input> - <output> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </output> - </operation> - <operation name="echoIntegerArray"> - <soap:operation soapAction="http://" style="rpc"/> - <input> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </input> - <output> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </output> - </operation> - <operation name="echoFloat"> - <soap:operation soapAction="http://" style="rpc"/> - <input> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </input> - <output> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </output> - </operation> - <operation name="echoFloatArray"> - <soap:operation soapAction="http://" style="rpc"/> - <input> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </input> - <output> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </output> - </operation> - <operation name="echoStruct"> - <soap:operation soapAction="http://" style="rpc"/> - <input> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </input> - <output> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </output> - </operation> - <operation name="echoStructArray"> - <soap:operation soapAction="http://" style="rpc"/> - <input> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </input> - <output> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </output> - </operation> - <operation name="echoVoid"> - <soap:operation soapAction="http://" style="rpc"/> - <input> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </input> - <output> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </output> - </operation> - <operation name="echoBase64"> - <soap:operation soapAction="http://" style="rpc"/> - <input> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </input> - <output> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </output> - </operation> - <operation name="echoDate"> - <soap:operation soapAction="http://" style="rpc"/> - <input> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </input> - <output> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </output> - </operation> - <operation name="echoHexBinary"> - <soap:operation soapAction="http://" style="rpc"/> - <input> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </input> - <output> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </output> - </operation> - <operation name="echoDecimal"> - <soap:operation soapAction="http://" style="rpc"/> - <input> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </input> - <output> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </output> - </operation> - <operation name="echoBoolean"> - <soap:operation soapAction="http://" style="rpc"/> - <input> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </input> - <output> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </output> - </operation> - </binding> - - <service name="InteropTest"> - <port name="InteropTestPort" binding="tns:InteropTestBinding"> - <soap:address location="<?php echo ((isset($_SERVER['HTTPS'])?"https://":"http://").$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']));?>/server_round2_base.php"/> - </port> - </service> - -</definitions> diff --git a/ext/soap/interop/interopB.wsdl.php b/ext/soap/interop/interopB.wsdl.php deleted file mode 100644 index 3113b1c2fe..0000000000 --- a/ext/soap/interop/interopB.wsdl.php +++ /dev/null @@ -1,196 +0,0 @@ -<?php -header("Content-Type: text/xml"); -echo '<?xml version="1.0"?>'; -echo "\n"; -?> -<definitions name="InteropTest" - targetNamespace="http://soapinterop.org/" - xmlns="http://schemas.xmlsoap.org/wsdl/" - xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" - xmlns:tns="http://soapinterop.org/" - xmlns:s="http://soapinterop.org/xsd" - xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> - - <types> - <schema xmlns="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://soapinterop.org/xsd"> - - <import namespace="http://schemas.xmlsoap.org/soap/encoding/" /> - - <complexType name="ArrayOfstring"> - <complexContent> - <restriction base="SOAP-ENC:Array"> - <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[]"/> - </restriction> - </complexContent> - </complexType> - <complexType name="ArrayOfint"> - <complexContent> - <restriction base="SOAP-ENC:Array"> - <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="int[]"/> - </restriction> - </complexContent> - </complexType> - <complexType name="ArrayOffloat"> - <complexContent> - <restriction base="SOAP-ENC:Array"> - <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="float[]"/> - </restriction> - </complexContent> - </complexType> - <complexType name="ArrayOfSOAPStruct"> - <complexContent> - <restriction base="SOAP-ENC:Array"> - <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="s:SOAPStruct[]"/> - </restriction> - </complexContent> - </complexType> - <complexType name="SOAPStruct"> - <all> - <element name="varString" type="string" nillable="true"/> - <element name="varInt" type="int" nillable="true"/> - <element name="varFloat" type="float" nillable="true"/> - </all> - </complexType> - <complexType name="SOAPStructStruct"> - <all> - <element name="varString" type="string" nillable="true"/> - <element name="varInt" type="int" nillable="true"/> - <element name="varFloat" type="float" nillable="true"/> - <element name="varStruct" type="s:SOAPStruct"/> - </all> - </complexType> - <complexType name="SOAPArrayStruct"> - <all> - <element name="varString" type="string" nillable="true"/> - <element name="varInt" type="int" nillable="true"/> - <element name="varFloat" type="float" nillable="true"/> - <element name="varArray" type="s:ArrayOfstring"/> - </all> - </complexType> - <complexType name="ArrayOfString2D"> - <complexContent> - <restriction base="SOAP-ENC:Array"> - <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="string[,]"/> - </restriction> - </complexContent> - </complexType> - </schema> - </types> - - <message name="echoStructAsSimpleTypesRequest"> - <part name="inputStruct" type="s:SOAPStruct"/> - </message> - <message name="echoStructAsSimpleTypesResponse"> - <part name="outputString" type="xsd:string"/> - <part name="outputInteger" type="xsd:int"/> - <part name="outputFloat" type="xsd:float"/> - </message> - <message name="echoSimpleTypesAsStructRequest"> - <part name="inputString" type="xsd:string"/> - <part name="inputInteger" type="xsd:int"/> - <part name="inputFloat" type="xsd:float"/> - </message> - <message name="echoSimpleTypesAsStructResponse"> - <part name="return" type="s:SOAPStruct"/> - </message> - <message name="echo2DStringArrayRequest"> - <part name="input2DStringArray" type="s:ArrayOfString2D"/> - </message> - <message name="echo2DStringArrayResponse"> - <part name="return" type="s:ArrayOfString2D"/> - </message> - <message name="echoNestedStructRequest"> - <part name="inputStruct" type="s:SOAPStructStruct"/> - </message> - <message name="echoNestedStructResponse"> - <part name="return" type="s:SOAPStructStruct"/> - </message> - <message name="echoNestedArrayRequest"> - <part name="inputStruct" type="s:SOAPArrayStruct"/> - </message> - <message name="echoNestedArrayResponse"> - <part name="return" type="s:SOAPArrayStruct"/> - </message> - - <portType name="InteropTestPortTypeB"> - <operation name="echoStructAsSimpleTypes" parameterOrder="inputStruct outputString outputInteger outputFloat"> - <input message="tns:echoStructAsSimpleTypesRequest" name="echoStructAsSimpleTypes"/> - <output message="tns:echoStructAsSimpleTypesResponse" name="echoStructAsSimpleTypesResponse"/> - </operation> - <operation name="echoSimpleTypesAsStruct" parameterOrder="inputString inputInteger inputFloat"> - <input message="tns:echoSimpleTypesAsStructRequest" name="echoSimpleTypesAsStruct"/> - <output message="tns:echoSimpleTypesAsStructResponse" name="echoSimpleTypesAsStructResponse"/> - </operation> - <operation name="echo2DStringArray" parameterOrder="input2DStringArray"> - <input message="tns:echo2DStringArrayRequest" name="echo2DStringArray"/> - <output message="tns:echo2DStringArrayResponse" name="echo2DStringArrayResponse"/> - </operation> - <operation name="echoNestedStruct" parameterOrder="inputStruct"> - <input message="tns:echoNestedStructRequest" name="echoNestedStruct"/> - <output message="tns:echoNestedStructResponse" name="echoNestedStructResponse"/> - </operation> - <operation name="echoNestedArray" parameterOrder="inputStruct"> - <input message="tns:echoNestedArrayRequest" name="echoNestedArray"/> - <output message="tns:echoNestedArrayResponse" name="echoNestedArrayResponse"/> - </operation> - </portType> - - <binding name="InteropTestSoapBindingB" type="tns:InteropTestPortTypeB"> - <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> - <operation name="echoStructAsSimpleTypes"> - <soap:operation soapAction="http://soapinterop.org/"/> - <input> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </input> - <output> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </output> - </operation> - <operation name="echoSimpleTypesAsStruct"> - <soap:operation soapAction="http://soapinterop.org/"/> - <input> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </input> - <output> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </output> - </operation> - <operation name="echo2DStringArray"> - <soap:operation soapAction="http://soapinterop.org/"/> - <input> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </input> - <output> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </output> - </operation> - <operation name="echoNestedStruct"> - <soap:operation soapAction="http://soapinterop.org/"/> - <input> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </input> - <output> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </output> - </operation> - <operation name="echoNestedArray"> - <soap:operation soapAction="http://soapinterop.org/"/> - <input> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </input> - <output> - <soap:body use="encoded" namespace="http://soapinterop.org/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> - </output> - </operation> - </binding> - - <service name="interopLabB"> - <port name="interopTestPortB" binding="tns:InteropTestSoapBindingB"> - <soap:address location="<?php echo ((isset($_SERVER['HTTPS'])?"https://":"http://").$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']));?>/server_round2_groupB.php"/> - </port> - </service> - -</definitions> diff --git a/ext/soap/interop/server_round2_base.php b/ext/soap/interop/server_round2_base.php deleted file mode 100644 index 0c6771d88e..0000000000 --- a/ext/soap/interop/server_round2_base.php +++ /dev/null @@ -1,145 +0,0 @@ -<? -// -// +----------------------------------------------------------------------+ -// | PHP Version 4 | -// +----------------------------------------------------------------------+ -// | Copyright (c) 1997-2003 The PHP Group | -// +----------------------------------------------------------------------+ -// | This source file is subject to version 2.02 of the PHP license, | -// | that is bundled with this package in the file LICENSE, and is | -// | available at through the world-wide-web at | -// | http://www.php.net/license/2_02.txt. | -// | If you did not receive a copy of the PHP license and are unable to | -// | obtain it through the world-wide-web, please send a note to | -// | license@php.net so we can mail you a copy immediately. | -// +----------------------------------------------------------------------+ -// | Authors: Shane Caraveo <Shane@Caraveo.com> Port to PEAR and more | -// | Authors: Dietrich Ayala <dietrich@ganx4.com> Original Author | -// +----------------------------------------------------------------------+ -// -// $Id$ -// - -function generateFault($short, $long) -{ - $params = array( - "faultcode" => "Server", - "faultstring" => $short, - "detail" => $long - ); - - $faultmsg = new SOAP_Message("Fault",$params,"http://schemas.xmlsoap.org/soap/envelope/"); - return $faultmsg; -} - -function hex2bin($data) -{ - $len = strlen($data); - return pack("H" . $len, $data); -} - - -class SOAP_Interop_Base { - var $method_namespace = 'http://soapinterop.org/'; - - function SOAP_Interop_Base() { - #if ($server) { - # $server->addToMap("echoString",array("string"),array("string")); - # $server->addToMap("echoStringArray",array(),array()); - # $server->addToMap("echoInteger",array("int"),array("int")); - # $server->addToMap("echoIntegerArray",array(),array()); - # $server->addToMap("echoFloat",array("float"),array("float")); - # $server->addToMap("echoFloatArray",array(),array()); - # $server->addToMap("echoStruct",array(),array()); - # $server->addToMap("echoStructArray",array(),array()); - # $server->addToMap("echoVoid",array(),array()); - # $server->addToMap("echoBase64",array("base64Binary"),array("base64Binary")); - # $server->addToMap("echoDate",array("dateTime"),array("dateTime")); - # $server->addToMap("echoHexBinary",array("hexBinary"),array("hexBinary")); - # $server->addToMap("echoDecimal",array("decimal"),array("decimal")); - # $server->addToMap("echoBoolean",array("boolean"),array("boolean")); - #} - } - - function echoString($inputString) - { - return $inputString; - } - - function echoStringArray($inputStringArray) - { - return $inputStringArray; - } - - - function echoInteger($inputInteger) - { - return $inputInteger; - } - - function echoIntegerArray($inputIntegerArray) - { - return $inputIntegerArray; - } - - function echoFloat($inputFloat) - { - return $inputFloat; - } - - function echoFloatArray($inputFloatArray) - { - return $inputFloatArray; - } - - function echoStruct($inputStruct) - { - return $inputStruct; - } - - function echoStructArray($inputStructArray) - { - return $inputStructArray; - } - - function echoVoid() - { - return NULL; - } - - function echoBase64($b_encoded) - { - return $b_encoded; - } - - function echoDate($timeInstant) - { - return $timeInstant; - } - - function echoHexBinary($hb) - { - return $hb; - } - - function echoDecimal($dec) - { - return $dec; - } - - function echoBoolean($boolean) - { - return $boolean; - } - - function echoMimeAttachment($stuff) - { - return new SOAP_Attachment('return','application/octet-stream',NULL,$stuff); - } -} - -$server = new SoapServer("http://test-uri"); -$server->bind((isset($_SERVER['HTTPS'])?"https://":"http://").$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/interop.wsdl.php"); -$server->setClass("SOAP_Interop_Base"); -$server->handle(); -?>
\ No newline at end of file diff --git a/ext/soap/interop/server_round2_groupB.php b/ext/soap/interop/server_round2_groupB.php deleted file mode 100644 index eaae5ba89b..0000000000 --- a/ext/soap/interop/server_round2_groupB.php +++ /dev/null @@ -1,70 +0,0 @@ -<? -// -// +----------------------------------------------------------------------+ -// | PHP Version 4 | -// +----------------------------------------------------------------------+ -// | Copyright (c) 1997-2003 The PHP Group | -// +----------------------------------------------------------------------+ -// | This source file is subject to version 2.02 of the PHP license, | -// | that is bundled with this package in the file LICENSE, and is | -// | available at through the world-wide-web at | -// | http://www.php.net/license/2_02.txt. | -// | If you did not receive a copy of the PHP license and are unable to | -// | obtain it through the world-wide-web, please send a note to | -// | license@php.net so we can mail you a copy immediately. | -// +----------------------------------------------------------------------+ -// | Authors: Shane Caraveo <Shane@Caraveo.com> Port to PEAR and more | -// | Authors: Dietrich Ayala <dietrich@ganx4.com> Original Author | -// +----------------------------------------------------------------------+ -// -// $Id$ -// - -class SOAP_Interop_GroupB { - var $method_namespace = 'http://soapinterop.org/'; - var $dispatch_map = array(); - - function SOAP_Interop_GroupB() { - $this->dispatch_map['echoStructAsSimpleTypes'] = - array('in' => array('inputStruct' => 'SOAPStruct'), - 'out' => array('outputString' => 'string', 'outputInteger' => 'int', 'outputFloat' => 'float') - ); - - } - - function echoStructAsSimpleTypes ($struct) - { - return array('outputString' => $struct->varString, - 'outputInteger' => $struct->varInt, - 'outputFloat' => $struct->varFloat); - } - - function echoSimpleTypesAsStruct($string, $int, $float) - { - return (object)array("varString" => $string, - "varInt" => $int, - "varFloat" => $float); - } - - function echoNestedStruct($struct) - { - return $struct; - } - - function echo2DStringArray($ary) - { -// $ret->options['flatten'] = TRUE; - return $ary; - } - - function echoNestedArray($ary) - { - return $ary; - } -} - -$server = new SoapServer("http://test-uri"); -$server->bind((isset($_SERVER['HTTPS'])?"https://":"http://").$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/interopB.wsdl.php"); -$server->setClass("SOAP_Interop_GroupB"); -$server->handle(); -?>
\ No newline at end of file diff --git a/ext/soap/interop/server_round2_groupC.php b/ext/soap/interop/server_round2_groupC.php deleted file mode 100644 index 0c5492cda8..0000000000 --- a/ext/soap/interop/server_round2_groupC.php +++ /dev/null @@ -1,39 +0,0 @@ -<? -// -// +----------------------------------------------------------------------+ -// | PHP Version 4 | -// +----------------------------------------------------------------------+ -// | Copyright (c) 1997-2003 The PHP Group | -// +----------------------------------------------------------------------+ -// | This source file is subject to version 2.02 of the PHP license, | -// | that is bundled with this package in the file LICENSE, and is | -// | available at through the world-wide-web at | -// | http://www.php.net/license/2_02.txt. | -// | If you did not receive a copy of the PHP license and are unable to | -// | obtain it through the world-wide-web, please send a note to | -// | license@php.net so we can mail you a copy immediately. | -// +----------------------------------------------------------------------+ -// | Authors: Shane Caraveo <Shane@Caraveo.com> | -// +----------------------------------------------------------------------+ -// -// $Id$ -// - -class SOAP_Interop_GroupC { - var $method_namespace = 'http://soapinterop.org/echoheader/'; - - function echoMeStringRequest($string) - { - return new SOAP_Value('{'.$this->method_namespace.'}echoMeStringResponse','string',$string); - } - - function echoMeStructRequest($struct) - { - return new SOAP_Value('{'.$this->method_namespace.'}echoMeStructResponse','SOAPStruct',$struct); - } -} - -$server = new SoapServer("http://test-uri"); -$server->setClass("SOAP_Interop_GroupC"); -$server->handle(); -?>
\ No newline at end of file diff --git a/ext/soap/interop/test.utility.php b/ext/soap/interop/test.utility.php deleted file mode 100644 index 5b1f699c9b..0000000000 --- a/ext/soap/interop/test.utility.php +++ /dev/null @@ -1,143 +0,0 @@ -<?php - -function timestamp_to_soap_datetime($t) { - return date('Y-m-d\TH:i:sO',$t); -} - -function soap_datetime_to_timestamp($t) { - /* Ignore Microsecconds */ - $iso8601 = '(-?[0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})(\.[0-9]*)?(Z|[+\-][0-9]{4}|[+\-][0-9]{2}:[0-9]{2})?'; - if (!is_int($t)) { - if (!ereg($iso8601,$t,$r)) { - return false; - } - $t = gmmktime($r[4],$r[5],$r[6],$r[2],$r[3],$r[1]); - if (!empty($r[8]) && $r[8] != 'Z') { - $op = substr($r[8],0,1); - $h = substr($r[8],1,2); - if (strstr($r[8],':')) { - $m = substr($r[8],4,2); - } else { - $m = substr($r[8],3,2); - } - $t += (($op == "-"?1:-1) * $h * 60 + $m) * 60; - } - } - return $t; -} - -function date_compare($f1,$f2) -{ - return soap_datetime_to_timestamp($f1) == soap_datetime_to_timestamp($f2); -} - -function hex_compare($f1, $f2) -{ - return strcasecmp($f1,$f2) == 0; -} - -function number_compare($f1, $f2) -{ - # figure out which has the least fractional digits - preg_match('/.*?\.(.*)/',$f1,$m1); - preg_match('/.*?\.(.*)/',$f2,$m2); - #print_r($m1); - # always use at least 2 digits of precision - $d = max(min(strlen(count($m1)?$m1[1]:'0'),strlen(count($m2)?$m2[1]:'0')),2); - $f1 = round($f1, $d); - $f2 = round($f2, $d); - return $f1 == $f2; -// return bccomp($f1, $f2, $d) == 0; -} - -function boolean_compare($f1, $f2) -{ - if (($f1 == 'true' || $f1 === TRUE || $f1 != 0) && - ($f2 == 'true' || $f2 === TRUE || $f2 != 0)) return TRUE; - if (($f1 == 'false' || $f1 === FALSE || $f1 == 0) && - ($f2 == 'false' || $f2 === FALSE || $f2 == 0)) return TRUE; - return FALSE; -} - -function string_compare($e1, $e2) -{ - if (is_numeric($e1) && is_numeric($e2)) { - return number_compare($e1, $e2); - } - # handle dateTime comparison - $e1_type = gettype($e1); - $e2_type = gettype($e2); - $ok = FALSE; - if ($e1_type == "string") { -// $dt = new SOAP_Type_dateTime(); -// $ok = $dt->compare($e1, $e2) == 0; - $oj = false; - } - return $ok || $e1 == $e2 || strcasecmp(trim($e1), trim($e2)) == 0; -} - -function array_compare(&$ar1, &$ar2) { - if (gettype($ar1) != 'array' || gettype($ar2) != 'array') return FALSE; - if (count($ar1) != count($ar2)) return FALSE; - foreach ($ar1 as $k => $v) { - if (!array_key_exists($k,$ar2)) return FALSE; - if (!compare($v,$ar2[$k])) return FALSE; - } - return TRUE; -} - -function object_compare(&$obj1, &$obj2) { - if (gettype($obj1) != 'object' || gettype($obj2) != 'object') return FALSE; -// if (class_name(obj1) != class_name(obj2)) return FALSE; - $ar1 = (array)$obj1; - $ar2 = (array)$obj2; - return array_compare($ar1,$ar2); -} - -function compare(&$x,&$y) { - $ok = 0; - $x_type = gettype($x); - $y_type = gettype($y); - if ($x_type == $y_type) { - if ($x_type == "array") { - $ok = array_compare($x, $y); - } else if ($x_type == "object") { - $ok = object_compare($x, $y); - } else if ($x_type == "double") { - $ok = number_compare($x, $y); -// } else if ($x_type == 'boolean') { -// $ok = boolean_compare($x, $y); - } else { - $ok = ($x == $y); -// $ok = string_compare($expect, $result); - } - } - return $ok; -} - - -function parseMessage($msg) -{ - # strip line endings - #$msg = preg_replace('/\r|\n/', ' ', $msg); - $response = new SOAP_Parser($msg); - if ($response->fault) { - return $response->fault->getFault(); - } - $return = $response->getResponse(); - $v = $response->decode($return); - if (gettype($v) == 'array' && count($v)==1) { - return array_shift($v); - } - return $v; -} - -function var_dump_str($var) { - ob_start(); - var_dump($var); - $res = ob_get_contents(); - ob_end_clean(); - return $res; -} - -?>
\ No newline at end of file |