Annotation of embedaddon/php/ext/soap/tests/schema/test_schema.inc, revision 1.1.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>