Annotation of embedaddon/php/ext/soap/tests/schema/test_schema.inc, revision 1.1
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: ?>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>