Annotation of embedaddon/php/ext/soap/tests/bugs/bug41566.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Bug #41566 (SOAP Server not properly generating href attributes)
                      3: --SKIPIF--
                      4: <?php require_once('skipif.inc'); ?>
                      5: --FILE--
                      6: <?php
                      7: function test() {
                      8:   $aUser = new User();
                      9:   $aUser->sName = 'newUser';
                     10: 
                     11:   $aUsers = Array();
                     12:   $aUsers[] = $aUser;
                     13:   $aUsers[] = $aUser;
                     14:   $aUsers[] = $aUser;
                     15:   $aUsers[] = $aUser;
                     16:   return $aUsers;
                     17: }
                     18: 
                     19: /* Simple User definition */
                     20: Class User {
                     21:   /** @var string */
                     22:   public $sName;
                     23: }
                     24: 
                     25: $server = new soapserver(null,array('uri'=>"http://testuri.org", 'soap_version'=>SOAP_1_2));
                     26: $server->addfunction("test");
                     27: 
                     28: $HTTP_RAW_POST_DATA = <<<EOF
                     29: <?xml version="1.0" encoding="ISO-8859-1"?>
                     30: <SOAP-ENV:Envelope
                     31:   SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                     32:   xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
                     33:   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                     34:   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                     35:   xmlns:si="http://soapinterop.org/xsd">
                     36:   <SOAP-ENV:Body>
                     37:     <ns1:test xmlns:ns1="http://testuri.org" />
                     38:   </SOAP-ENV:Body>
                     39: </SOAP-ENV:Envelope>
                     40: EOF;
                     41: ob_start();
                     42: $server->handle($HTTP_RAW_POST_DATA);
                     43: echo "ok\n";
                     44: 
                     45: $HTTP_RAW_POST_DATA = <<<EOF
                     46: <?xml version="1.0" encoding="UTF-8"?>
                     47: <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" 
                     48:   xmlns:ns1="http://testuri.org" 
                     49:   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                     50:   xmlns:enc="http://www.w3.org/2003/05/soap-encoding">
                     51:   <env:Body>
                     52:     <ns1:test env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"/>
                     53:   </env:Body>
                     54: </env:Envelope>
                     55: EOF;
                     56: $server->handle($HTTP_RAW_POST_DATA);
                     57: echo "ok\n";
                     58: ob_flush();
                     59: --EXPECT--
                     60: <?xml version="1.0" encoding="UTF-8"?>
                     61: <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:testResponse><return SOAP-ENC:arrayType="SOAP-ENC:Struct[4]" xsi:type="SOAP-ENC:Array"><item xsi:type="SOAP-ENC:Struct" id="ref1"><sName xsi:type="xsd:string">newUser</sName></item><item href="#ref1"/><item href="#ref1"/><item href="#ref1"/></return></ns1:testResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
                     62: ok
                     63: <?xml version="1.0" encoding="UTF-8"?>
                     64: <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://testuri.org" xmlns:enc="http://www.w3.org/2003/05/soap-encoding" 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"><env:Body xmlns:rpc="http://www.w3.org/2003/05/soap-rpc"><ns1:testResponse env:encodingStyle="http://www.w3.org/2003/05/soap-encoding"><rpc:result>return</rpc:result><return enc:itemType="enc:Struct" enc:arraySize="4" xsi:type="enc:Array"><item xsi:type="enc:Struct" enc:id="ref1"><sName xsi:type="xsd:string">newUser</sName></item><item enc:ref="#ref1"/><item enc:ref="#ref1"/><item enc:ref="#ref1"/></return></ns1:testResponse></env:Body></env:Envelope>
                     65: ok

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>