Return to test_schema.inc CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / soap / tests / schema |
1.1 misho 1: <?php 2: $val = null; 3: 4: function test($input) { 5: global $val; 6: $val = $input; 7: } 8: 9: function test_schema($schema,$type,$param,$style="rpc",$use="encoded", $attributeFormDefault='',$features=0) { 10: global $HTTP_RAW_POST_DATA, $val; 11: $wsdl = <<<EOF 12: <definitions name="InteropTest" 13: xmlns:xsd="http://www.w3.org/2001/XMLSchema" 14: xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" 15: xmlns:tns="http://test-uri/" 16: xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 17: xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 18: xmlns="http://schemas.xmlsoap.org/wsdl/" 19: targetNamespace="http://test-uri/" 20: > 21: <types> 22: <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://test-uri/" $attributeFormDefault> 23: <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" /> 24: <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" /> 25: $schema 26: </schema> 27: </types> 28: <message name="testMessage"> 29: <part name="testParam" $type/> 30: </message> 31: <portType name="testPortType"> 32: <operation name="test"> 33: <input message="testMessage"/> 34: </operation> 35: </portType> 36: <binding name="testBinding" type="testPortType"> 37: <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> 38: <operation name="test"> 39: <soap:operation soapAction="#test" style="$style"/> 40: <input> 41: <soap:body use="$use" namespace="http://test-uri/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> 42: </input> 43: </operation> 44: </binding> 45: <service name="testService"> 46: <port name="testPort" binding="tns:testBinding"> 47: <soap:address location="test://" /> 48: </port> 49: </service> 50: </definitions> 51: EOF; 52: 53: $fname = tempnam ("./", "wsdl"); 54: $f = fopen($fname,"w"); 55: fwrite($f,$wsdl); 56: fclose($f); 57: ini_set("soap.wsdl_cache_enabled",0); 58: $x = new SoapClient($fname, array("trace"=>1,"exceptions"=>0,"features"=>$features)); 59: $y = new SoapServer($fname, array("features"=>$features)); 60: $y->addfunction("test"); 61: unlink($fname); 62: 63: $x->test($param); 64: $xml = xml_parser_create(); 65: $req = $x->__getlastrequest(); 66: if ($style == "rpc") { 67: $HTTP_RAW_POST_DATA = $req; 68: ob_start(); 69: $y->handle($HTTP_RAW_POST_DATA); 70: ob_end_clean(); 71: echo $req; 72: var_dump($val); 73: } else { 74: echo $req; 75: } 76: } 77: ?>