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>