Annotation of embedaddon/php/ext/soap/tests/any.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: SOAP handling of <any>
! 3: --SKIPIF--
! 4: <?php require_once('skipif.inc'); ?>
! 5: --INI--
! 6: precision=14
! 7: soap.wsdl_cache_enabled=0
! 8: --FILE--
! 9: <?php
! 10: class SOAPComplexType {
! 11: function SOAPComplexType($s, $i, $f) {
! 12: $this->varString = $s;
! 13: $this->varInt = $i;
! 14: $this->varFloat = $f;
! 15: }
! 16: }
! 17: $struct = new SOAPComplexType('arg',34,325.325);
! 18:
! 19: function echoAnyElement($x) {
! 20: global $g;
! 21:
! 22: $g = $x;
! 23: $struct = $x->inputAny->any["SOAPComplexType"];
! 24: if ($struct instanceof SOAPComplexType) {
! 25: return array("return" => array("any" => array("SOAPComplexType"=>new SoapVar($struct, SOAP_ENC_OBJECT, "SOAPComplexType", "http://soapinterop.org/xsd", "SOAPComplexType", "http://soapinterop.org/"))));
! 26: } else {
! 27: return "?";
! 28: }
! 29: }
! 30:
! 31: class TestSoapClient extends SoapClient {
! 32: function __construct($wsdl, $options) {
! 33: parent::__construct($wsdl, $options);
! 34: $this->server = new SoapServer($wsdl, $options);
! 35: $this->server->addFunction('echoAnyElement');
! 36: }
! 37:
! 38: function __doRequest($request, $location, $action, $version, $one_way = 0) {
! 39: ob_start();
! 40: $this->server->handle($request);
! 41: $response = ob_get_contents();
! 42: ob_end_clean();
! 43: return $response;
! 44: }
! 45: }
! 46:
! 47: $client = new TestSoapClient(dirname(__FILE__)."/interop/Round4/GroupI/round4_groupI_xsd.wsdl",
! 48: array("trace"=>1,"exceptions"=>0,
! 49: 'classmap' => array('SOAPComplexType'=>'SOAPComplexType')));
! 50: $ret = $client->echoAnyElement(
! 51: array(
! 52: "inputAny"=>array(
! 53: "any"=>new SoapVar($struct, SOAP_ENC_OBJECT, "SOAPComplexType", "http://soapinterop.org/xsd", "SOAPComplexType", "http://soapinterop.org/")
! 54: )));
! 55: var_dump($g);
! 56: var_dump($ret);
! 57: ?>
! 58: --EXPECT--
! 59: object(stdClass)#5 (1) {
! 60: ["inputAny"]=>
! 61: object(stdClass)#6 (1) {
! 62: ["any"]=>
! 63: array(1) {
! 64: ["SOAPComplexType"]=>
! 65: object(SOAPComplexType)#7 (3) {
! 66: ["varInt"]=>
! 67: int(34)
! 68: ["varString"]=>
! 69: string(3) "arg"
! 70: ["varFloat"]=>
! 71: float(325.325)
! 72: }
! 73: }
! 74: }
! 75: }
! 76: object(stdClass)#8 (1) {
! 77: ["return"]=>
! 78: object(stdClass)#9 (1) {
! 79: ["any"]=>
! 80: array(1) {
! 81: ["SOAPComplexType"]=>
! 82: object(SOAPComplexType)#10 (3) {
! 83: ["varInt"]=>
! 84: int(34)
! 85: ["varString"]=>
! 86: string(3) "arg"
! 87: ["varFloat"]=>
! 88: float(325.325)
! 89: }
! 90: }
! 91: }
! 92: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>