Return to bug38005.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / soap / tests / bugs |
1.1 misho 1: --TEST-- 2: Bug #38005 (SoapFault faultstring doesn't follow encoding rules) 3: --SKIPIF-- 4: <?php require_once('skipif.inc'); ?> 5: --INI-- 6: soap.wsdl_cache_enabled=0 7: --FILE-- 8: <?php 9: function Test($param) { 10: return new SoapFault('Test', 'This is our fault: Ä'); 11: } 12: 13: class TestSoapClient extends SoapClient { 14: function __construct($wsdl, $opt) { 15: parent::__construct($wsdl, $opt); 16: $this->server = new SoapServer($wsdl, $opt); 17: $this->server->addFunction('Test'); 18: } 19: 20: function __doRequest($request, $location, $action, $version, $one_way = 0) { 21: ob_start(); 22: $this->server->handle($request); 23: $response = ob_get_contents(); 24: ob_end_clean(); 25: return $response; 26: } 27: } 28: 29: $client = new TestSoapClient(NULL, array( 30: 'encoding' => 'ISO-8859-1', 31: 'uri' => "test://", 32: 'location' => "test://", 33: 'soap_version'=>SOAP_1_2, 34: 'trace'=>1, 35: 'exceptions'=>0)); 36: $res = $client->Test(); 37: echo($res->faultstring."\n"); 38: echo($client->__getLastResponse()); 39: ?> 40: --EXPECT-- 41: This is our fault: Ä 42: <?xml version="1.0" encoding="UTF-8"?> 43: <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Body><env:Fault><env:Code><env:Value>Test</env:Value></env:Code><env:Reason><env:Text>This is our fault: Ä</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>