Return to bug47273.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / soap / tests / bugs |
1.1 misho 1: --TEST-- 2: Bug #47273 (Encoding bug in SoapServer->fault) 3: --SKIPIF-- 4: <?php require_once('skipif.inc'); ?> 5: --INI-- 6: unicode.script_encoding=ISO-8859-1 7: unicode.output_encoding=ISO-8859-1 8: --FILE-- 9: <?php 10: $request1 = <<<EOF 11: <?xml version="1.0" encoding="UTF-8"?> 12: <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://127.0.0.1:8080/test/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:test1/></SOAP-ENV:Body></SOAP-ENV:Envelope> 13: EOF; 14: $request2 = <<<EOF 15: <?xml version="1.0" encoding="UTF-8"?> 16: <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://127.0.0.1:8080/test/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:test2/></SOAP-ENV:Body></SOAP-ENV:Envelope> 17: EOF; 18: 19: class SoapFaultTest 20: { 21: public function test1() { 22: // Test #1 23: return 'Test #1 exception with some special chars: Äßö'; 24: } 25: public function test2() { 26: // Test #2 27: //throw new SoapFault('Server', 'Test #2 exception with some special chars: Äßö'); 28: throw new Exception('Test #2 exception with some special chars: Äßö'); 29: } 30: } 31: 32: $server = new SoapServer(null, array( 33: 'uri' => "http://127.0.0.1:8080/test/", 34: 'encoding' => 'ISO-8859-1')); 35: $server->setClass('SoapFaultTest'); 36: 37: try { 38: $server->handle($request1); 39: } catch (Exception $e) { 40: $server->fault("Sender", $e->getMessage()); 41: } 42: try { 43: $server->handle($request2); 44: } catch (Exception $e) { 45: $server->fault("Sender", $e->getMessage()); 46: } 47: ?> 48: --EXPECT-- 49: <?xml version="1.0" encoding="UTF-8"?> 50: <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://127.0.0.1:8080/test/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:test1Response><return xsi:type="xsd:string">Test #1 exception with some special chars: ÃÃö</return></ns1:test1Response></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>Sender</faultcode><faultstring>Test #2 exception with some special chars: ÃÃö</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope> 53: