123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622 |
- <?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 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_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, $html = 0) {
- // debug output
- if ($debug) $this->show = 1;
- if ($debug) {
- echo str_repeat("-",50).$html?"<br>\n":"\n";
- }
- echo "testing $this->test_name : ";
- if ($debug) {
- print "method params: ";
- print_r($this->params);
- print "\n";
- }
- $ok = $this->result['success'];
- if ($ok) {
- if ($html) {
- print "<font color=\"#00cc00\">SUCCESS</font>\n";
- } else {
- print "SUCCESS\n";
- }
- } else {
- $fault = $this->result['fault'];
- if ($fault) {
- $res = $fault->faultcode;
- $pos = strpos($res,':');
- if ($pos !== false) {
- $res = substr($res,$pos+1);
- }
- if ($html) {
- print "<font color=\"#ff0000\">FAILED: [$res] {$fault->faultstring}</font>\n";
- } else {
- print "FAILED: [$res] {$fault->faultstring}\n";
- }
- } else {
- if ($html) {
- print "<font color=\"#ff0000\">FAILED: ".$this->result['result']."</font>\n";
- } else {
- print "FAILED: ".$this->result['result']."\n";
- }
- }
- }
- if ($debug) {
- if ($html) {
- echo "<pre>\n".htmlentities($this->result['wire'])."</pre>\n";
- } else {
- echo "\n".htmlentities($this->result['wire'])."\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, $type_name=NULL, $type_ns=NULL) {
- return new SoapParam(new SoapVar($value,$type,$type_name,$type_ns),$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,"ArrayOfstring","http://soapinterop.org/xsd")));
- $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,"ArrayOfstring","http://soapinterop.org/xsd")));
- // 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,"ArrayOfstring","http://soapinterop.org/xsd")));
- # 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,"ArrayOfstring","http://soapinterop.org/xsd")));
- //***********************************************************
- // 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,"ArrayOfint","http://soapinterop.org/xsd")));
- //***********************************************************
- // 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,"ArrayOffloat","http://soapinterop.org/xsd")));
- //***********************************************************
- // Base echoStruct
- $soapstruct = new SOAPStruct('arg',34,325.325);
- # XXX no way to set a namespace!!!
- $soapsoapstruct = soap_value('inputStruct',$soapstruct,SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd");
- $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(
- new SoapVar($soapstruct,SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd"),
- new SoapVar($soapstruct,SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd"),
- new SoapVar($soapstruct,SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd")),
- SOAP_ENC_ARRAY,"ArrayOfSOAPStruct","http://soapinterop.org/xsd")));
- //***********************************************************
- // 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, "SOAPStruct","http://soapinterop.org/xsd")), $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
- $strstr = (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' => $strstr));
- $soap_tests['GroupB'][] = new SOAP_Test('echoNestedStruct',
- array('inputStruct' =>
- soap_value('inputStruct',
- (object)array(
- 'varString'=>'arg',
- 'varInt'=>34,
- 'varFloat'=>325.325,
- 'varStruct' => new SoapVar((object)array(
- 'varString'=>'arg',
- 'varInt'=>34,
- 'varFloat'=>325.325
- ), SOAP_ENC_OBJECT, "SOAPStruct","http://soapinterop.org/xsd")
- ), SOAP_ENC_OBJECT, "SOAPStructStruct","http://soapinterop.org/xsd"
- )),$strstr);
- //***********************************************************
- // GroupB echoNestedArray
- $arrstr = (object)array(
- 'varString'=>'arg',
- 'varInt'=>34,
- 'varFloat'=>325.325,
- 'varArray' => array('red','blue','green')
- );
- $soap_tests['GroupB'][] = new SOAP_Test('echoNestedArray',
- array('inputStruct' => $arrstr));
- $soap_tests['GroupB'][] = new SOAP_Test('echoNestedArray',
- array('inputStruct' =>
- soap_value('inputStruct',
- (object)array('varString' => 'arg',
- 'varInt' => 34,
- 'varFloat' => 325.325,
- 'varArray' =>
- new SoapVar(array("red", "blue", "green"), SOAP_ENC_ARRAY, "ArrayOfstring","http://soapinterop.org/xsd")
- ), SOAP_ENC_OBJECT, "SOAPArrayStruct","http://soapinterop.org/xsd"
- )),$arrstr);
- //***********************************************************
- // GROUP C header tests
- //***********************************************************
- // echoMeStringRequest
- // echoMeStringRequest with endpoint as header destination, doesn't have to understand
- $test = new SOAP_Test('echoVoid(echoMeStringRequest mustUnderstand=0 actor=next)', NULL);
- $test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStringRequest', 'hello world', 0, SOAP_ACTOR_NEXT);
- $test->headers_expect = array('echoMeStringResponse'=>'hello world');
- $soap_tests['GroupC'][] = $test;
- $test = new SOAP_Test('echoVoid(echoMeStringRequest mustUnderstand=0 actor=next)', NULL);
- $test->type = 'soapval';
- $test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStringRequest', new SoapVar('hello world',XSD_STRING), 0, SOAP_ACTOR_NEXT);
- $test->headers_expect = array('echoMeStringResponse'=>'hello world');
- $soap_tests['GroupC'][] = $test;
- // echoMeStringRequest with endpoint as header destination, must understand
- $test = new SOAP_Test('echoVoid(echoMeStringRequest mustUnderstand=1 actor=next)', NULL);
- $test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStringRequest', 'hello world', 1, SOAP_ACTOR_NEXT);
- $test->headers_expect = array('echoMeStringResponse'=>'hello world');
- $soap_tests['GroupC'][] = $test;
- $test = new SOAP_Test('echoVoid(echoMeStringRequest mustUnderstand=1 actor=next)', NULL);
- $test->type = 'soapval';
- $test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStringRequest', new SoapVar('hello world',XSD_STRING), 1, SOAP_ACTOR_NEXT);
- $test->headers_expect = array('echoMeStringResponse'=>'hello world');
- $soap_tests['GroupC'][] = $test;
- // echoMeStringRequest with endpoint NOT header destination, doesn't have to understand
- $test = new SOAP_Test('echoVoid(echoMeStringRequest mustUnderstand=0 actor=other)', NULL);
- $test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStringRequest', 'hello world', 0, SOAP_TEST_ACTOR_OTHER);
- $test->headers_expect = array();
- $soap_tests['GroupC'][] = $test;
- $test = new SOAP_Test('echoVoid(echoMeStringRequest mustUnderstand=0 actor=other)', NULL);
- $test->type = 'soapval';
- $test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStringRequest', new SoapVar('hello world',XSD_STRING), 0, SOAP_TEST_ACTOR_OTHER);
- $test->headers_expect = array();
- $soap_tests['GroupC'][] = $test;
- // echoMeStringRequest with endpoint NOT header destination, must understand
- $test = new SOAP_Test('echoVoid(echoMeStringRequest mustUnderstand=1 actor=other)', NULL);
- $test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStringRequest', 'hello world', 1, SOAP_TEST_ACTOR_OTHER);
- $test->headers_expect = array();
- $soap_tests['GroupC'][] = $test;
- $test = new SOAP_Test('echoVoid(echoMeStringRequest mustUnderstand=1 actor=other)', NULL);
- $test->type = 'soapval';
- $test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStringRequest', new SoapVar('hello world', XSD_STRING), 1, SOAP_TEST_ACTOR_OTHER);
- $test->headers_expect = array();
- $soap_tests['GroupC'][] = $test;
- // echoMeStringRequest with endpoint header destination, must understand,
- // invalid namespace, should receive a fault
- $test = new SOAP_Test('echoVoid(echoMeStringRequest invalid namespace)', NULL);
- $test->headers[] = new SoapHeader('http://unknown.org/echoheader/','echoMeStringRequest', 'hello world', 1, SOAP_ACTOR_NEXT);
- $test->headers_expect = array();
- $test->expect_fault = TRUE;
- $soap_tests['GroupC'][] = $test;
- $test = new SOAP_Test('echoVoid(echoMeStringRequest invalid namespace)', NULL);
- $test->type = 'soapval';
- $test->headers[] = new SoapHeader('http://unknown.org/echoheader/','echoMeStringRequest', new SoapVar('hello world', XSD_STRING), 1, SOAP_ACTOR_NEXT);
- $test->headers_expect = array();
- $test->expect_fault = TRUE;
- $soap_tests['GroupC'][] = $test;
- //***********************************************************
- // echoMeStructRequest
- // echoMeStructRequest with endpoint as header destination, doesn't have to understand
- $test = new SOAP_Test('echoVoid(echoMeStructRequest mustUnderstand=0 actor=next)', NULL);
- $test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStructRequest',
- new SOAPStruct('arg',34,325.325), 0, SOAP_ACTOR_NEXT);
- $test->headers_expect =
- array('echoMeStructResponse'=> (object)array('varString'=>'arg','varInt'=>34,'varFloat'=>325.325));
- $soap_tests['GroupC'][] = $test;
- $test = new SOAP_Test('echoVoid(echoMeStructRequest mustUnderstand=0 actor=next)', NULL);
- $test->type = 'soapval';
- $test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStructRequest',
- new SoapVar(new SOAPStruct('arg',34,325.325),SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd"),
- 0, SOAP_ACTOR_NEXT);
- $test->headers_expect =
- array('echoMeStructResponse'=> (object)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(echoMeStructRequest mustUnderstand=1 actor=next)', NULL);
- $test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStructRequest',
- new SOAPStruct('arg',34,325.325), 1, SOAP_ACTOR_NEXT);
- $test->headers_expect =
- array('echoMeStructResponse'=> (object)array('varString'=>'arg','varInt'=>34,'varFloat'=>325.325));
- $soap_tests['GroupC'][] = $test;
- $test = new SOAP_Test('echoVoid(echoMeStructRequest mustUnderstand=1 actor=next)', NULL);
- $test->type = 'soapval';
- $test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStructRequest',
- new SoapVar(new SOAPStruct('arg',34,325.325),SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd"),
- 1, SOAP_ACTOR_NEXT);
- $test->headers_expect =
- array('echoMeStructResponse'=> (object)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(echoMeStructRequest mustUnderstand=0 actor=other)', NULL);
- $test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStructRequest',
- new SOAPStruct('arg',34,325.325), 0, SOAP_TEST_ACTOR_OTHER);
- $test->headers_expect = array();
- $soap_tests['GroupC'][] = $test;
- $test = new SOAP_Test('echoVoid(echoMeStructRequest mustUnderstand=0 actor=other)', NULL);
- $test->type = 'soapval';
- $test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStructRequest',
- new SoapVar(new SOAPStruct('arg',34,325.325),SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd"),
- 0, SOAP_TEST_ACTOR_OTHER);
- $test->headers_expect = array();
- $soap_tests['GroupC'][] = $test;
- // echoMeStructRequest with endpoint NOT header destination, must understand
- $test = new SOAP_Test('echoVoid(echoMeStructRequest mustUnderstand=1 actor=other)', NULL);
- $test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStructRequest',
- new SOAPStruct('arg',34,325.325), 1, SOAP_TEST_ACTOR_OTHER);
- $test->headers_expect = array();
- $soap_tests['GroupC'][] = $test;
- $test = new SOAP_Test('echoVoid(echoMeStructRequest mustUnderstand=1 actor=other)', NULL);
- $test->type = 'soapval';
- $test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeStructRequest',
- new SoapVar(new SOAPStruct('arg',34,325.325),SOAP_ENC_OBJECT,"SOAPStruct","http://soapinterop.org/xsd"),
- 1, SOAP_TEST_ACTOR_OTHER);
- $test->headers_expect = array();
- $soap_tests['GroupC'][] = $test;
- //***********************************************************
- // echoMeUnknown
- // echoMeUnknown with endpoint as header destination, doesn't have to understand
- $test = new SOAP_Test('echoVoid(echoMeUnknown mustUnderstand=0 actor=next)', NULL);
- $test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeUnknown', 'nobody understands me!',0,SOAP_ACTOR_NEXT);
- $test->headers_expect = array();
- $soap_tests['GroupC'][] = $test;
- $test = new SOAP_Test('echoVoid(echoMeUnknown mustUnderstand=0 actor=next)', NULL);
- $test->type = 'soapval';
- $test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeUnknown', new SoapVar('nobody understands me!',XSD_STRING),0,SOAP_ACTOR_NEXT);
- $test->headers_expect = array();
- $soap_tests['GroupC'][] = $test;
- // echoMeUnknown with endpoint as header destination, must understand
- $test = new SOAP_Test('echoVoid(echoMeUnknown mustUnderstand=1 actor=next)', NULL);
- $test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeUnknown', 'nobody understands me!',1,SOAP_ACTOR_NEXT);
- $test->headers_expect = array();
- $test->expect_fault = TRUE;
- $soap_tests['GroupC'][] = $test;
- $test = new SOAP_Test('echoVoid(echoMeUnknown mustUnderstand=1 actor=next)', NULL);
- $test->type = 'soapval';
- $test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeUnknown', new SoapVar('nobody understands me!',XSD_STRING),1,SOAP_ACTOR_NEXT);
- $test->headers_expect = 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(echoMeUnknown mustUnderstand=0 actor=other)', NULL);
- $test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeUnknown', 'nobody understands me!',0,SOAP_TEST_ACTOR_OTHER);
- $test->headers_expect = array();
- $soap_tests['GroupC'][] = $test;
- $test = new SOAP_Test('echoVoid(echoMeUnknown mustUnderstand=0 actor=other)', NULL);
- $test->type = 'soapval';
- $test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeUnknown', new SoapVar('nobody understands me!',XSD_STRING),0,SOAP_TEST_ACTOR_OTHER);
- $test->headers_expect = array();
- $soap_tests['GroupC'][] = $test;
- // echoMeUnknown with endpoint NOT header destination, must understand
- $test = new SOAP_Test('echoVoid(echoMeUnknown mustUnderstand=1 actor=other)', NULL);
- $test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeUnknown', 'nobody understands me!',1,SOAP_TEST_ACTOR_OTHER);
- $test->headers_expect = array();
- $soap_tests['GroupC'][] = $test;
- $test = new SOAP_Test('echoVoid(echoMeUnknown mustUnderstand=1 actor=other)', NULL);
- $test->type = 'soapval';
- $test->headers[] = new SoapHeader('http://soapinterop.org/echoheader/','echoMeUnknown', new SoapVar('nobody understands me!',XSD_STRING),1,SOAP_TEST_ACTOR_OTHER);
- $test->headers_expect = array();
- $soap_tests['GroupC'][] = $test;
- ?>
|