Annotation of embedaddon/php/ext/soap/tests/server031.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: SOAP Server 31: Handling classes which implements Iterator
3: --SKIPIF--
4: <?php require_once('skipif.inc'); ?>
5: --INI--
6: soap.wsdl_cache_enabled=0
7: --FILE--
8: <?php
9: class ItemArray implements Iterator {
10: private $a = array();
11:
12: public function __construct(array $a) {
13: $this->a = $a;
14: }
15:
16: public function rewind() { return reset($this->a); }
17: public function current() { return current($this->a); }
18: public function key() { return key($this->a); }
19: public function next() { return next($this->a); }
20: public function valid() { return (current($this->a) !== false); }
21: }
22:
23: class Item {
24: public $text;
25:
26: public function __construct($n) {
27: $this->text = 'text'.$n;
28: }
29: }
30:
31: class handlerClass {
32: public function getItems()
33: {
34: return new ItemArray(array(
35: new Item(0),
36: new Item(1),
37: new Item(2),
38: new Item(3),
39: new Item(4),
40: new Item(5),
41: new Item(6),
42: new Item(7),
43: new Item(8),
44: new Item(9)
45: ));
46: }
47: }
48:
49: $server = new SoapServer(dirname(__FILE__)."/server030.wsdl");
50: $server->setClass('handlerClass');
51:
52: $HTTP_RAW_POST_DATA = <<<EOF
53: <?xml version="1.0" encoding="ISO-8859-1"?>
54: <SOAP-ENV:Envelope
55: SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
56: xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
57: <SOAP-ENV:Body>
58: <getItems/>
59: </SOAP-ENV:Body>
60: </SOAP-ENV:Envelope>
61: EOF;
62:
63: $server->handle($HTTP_RAW_POST_DATA);
64: echo "ok\n";
65: ?>
66: --EXPECT--
67: <?xml version="1.0" encoding="UTF-8"?>
68: <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://testuri.org" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:getItemsResponse><getItemsReturn SOAP-ENC:arrayType="ns1:Item[10]" xsi:type="ns1:ItemArray"><item xsi:type="ns1:Item"><text xsi:type="xsd:string">text0</text></item><item xsi:type="ns1:Item"><text xsi:type="xsd:string">text1</text></item><item xsi:type="ns1:Item"><text xsi:type="xsd:string">text2</text></item><item xsi:type="ns1:Item"><text xsi:type="xsd:string">text3</text></item><item xsi:type="ns1:Item"><text xsi:type="xsd:string">text4</text></item><item xsi:type="ns1:Item"><text xsi:type="xsd:string">text5</text></item><item xsi:type="ns1:Item"><text xsi:type="xsd:string">text6</text></item><item xsi:type="ns1:Item"><text xsi:type="xsd:string">text7</text></item><item xsi:type="ns1:Item"><text xsi:type="xsd:string">text8</text></item><item xsi:type="ns1:Item"><text xsi:type="xsd:string">text9</text></item></getItemsReturn></ns1:getItemsResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
69: ok
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>