Annotation of embedaddon/php/ext/soap/tests/bugs/bug36629.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #36629 (SoapServer::handle() exits on SOAP faults)
! 3: --SKIPIF--
! 4: <?php require_once('skipif.inc'); ?>
! 5: --FILE--
! 6: <?php
! 7: function test1() {
! 8: throw new SoapFault("Server", "test1");
! 9: }
! 10: function test2() {
! 11: return new SoapFault("Server", "test2");
! 12: }
! 13:
! 14: $server = new soapserver(null,array('uri'=>"http://testuri.org"));
! 15: $server->addfunction(array("test1","test2"));
! 16:
! 17: $HTTP_RAW_POST_DATA = <<<EOF
! 18: <?xml version="1.0" encoding="ISO-8859-1"?>
! 19: <SOAP-ENV:Envelope
! 20: SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
! 21: xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
! 22: xmlns:xsd="http://www.w3.org/2001/XMLSchema"
! 23: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
! 24: xmlns:si="http://soapinterop.org/xsd">
! 25: <SOAP-ENV:Body>
! 26: <ns1:test1 xmlns:ns1="http://testuri.org" />
! 27: </SOAP-ENV:Body>
! 28: </SOAP-ENV:Envelope>
! 29: EOF;
! 30: $server->handle($HTTP_RAW_POST_DATA);
! 31:
! 32: $HTTP_RAW_POST_DATA = <<<EOF
! 33: <?xml version="1.0" encoding="ISO-8859-1"?>
! 34: <SOAP-ENV:Envelope
! 35: SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
! 36: xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
! 37: xmlns:xsd="http://www.w3.org/2001/XMLSchema"
! 38: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
! 39: xmlns:si="http://soapinterop.org/xsd">
! 40: <SOAP-ENV:Body>
! 41: <ns1:test2 xmlns:ns1="http://testuri.org" />
! 42: </SOAP-ENV:Body>
! 43: </SOAP-ENV:Envelope>
! 44: EOF;
! 45: $server->handle($HTTP_RAW_POST_DATA);
! 46: echo "ok\n";
! 47: ?>
! 48: --EXPECT--
! 49: <?xml version="1.0" encoding="UTF-8"?>
! 50: <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>test1</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
! 51: <?xml version="1.0" encoding="UTF-8"?>
! 52: <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>test2</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
! 53: ok
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>