1--TEST-- 2SOAP Server 9: setclass and setpersistence(SOAP_PERSISTENCE_SESSION) 3--EXTENSIONS-- 4soap 5session 6--INI-- 7session.auto_start=1 8session.save_handler=files 9--FILE-- 10<?php 11class foo { 12 private $sum = 0; 13 14 function Sum($num) { 15 return $this->sum += $num; 16 } 17} 18 19$server = new soapserver(null,array('uri'=>"http://testuri.org")); 20$server->setclass("foo"); 21$server->setpersistence(SOAP_PERSISTENCE_SESSION); 22 23ob_start(); 24$HTTP_RAW_POST_DATA = <<<EOF 25<?xml version="1.0" encoding="ISO-8859-1"?> 26<SOAP-ENV:Envelope 27 SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 28 xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 29 xmlns:xsd="http://www.w3.org/2001/XMLSchema" 30 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 31 xmlns:si="http://soapinterop.org/xsd"> 32 <SOAP-ENV:Body> 33 <ns1:Sum xmlns:ns1="http://testuri.org"> 34 <num xsi:type="xsd:int">5</num> 35 </ns1:Sum> 36 </SOAP-ENV:Body> 37</SOAP-ENV:Envelope> 38EOF; 39$server->handle($HTTP_RAW_POST_DATA); 40ob_clean(); 41 42$HTTP_RAW_POST_DATA = <<<EOF 43<?xml version="1.0" encoding="ISO-8859-1"?> 44<SOAP-ENV:Envelope 45 SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 46 xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 47 xmlns:xsd="http://www.w3.org/2001/XMLSchema" 48 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 49 xmlns:si="http://soapinterop.org/xsd"> 50 <SOAP-ENV:Body> 51 <ns1:Sum xmlns:ns1="http://testuri.org"> 52 <num xsi:type="xsd:int">3</num> 53 </ns1:Sum> 54 </SOAP-ENV:Body> 55</SOAP-ENV:Envelope> 56EOF; 57$server->handle($HTTP_RAW_POST_DATA); 58ob_end_flush(); 59 60echo "ok\n"; 61?> 62--EXPECT-- 63<?xml version="1.0" encoding="UTF-8"?> 64<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://testuri.org" 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:SumResponse><return xsi:type="xsd:int">8</return></ns1:SumResponse></SOAP-ENV:Body></SOAP-ENV:Envelope> 65ok 66