Return to bug36629.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / soap / tests / bugs |
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