⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 any.phpt

📁 PHP v6.0 For Linux 运行环境:Win9X/ WinME/ WinNT/ Win2K/ WinXP
💻 PHPT
字号:
--TEST--
SOAP handling of <any>
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
class SOAPComplexType {
    function SOAPComplexType($s, $i, $f) {
        $this->varString = $s;
        $this->varInt = $i;
        $this->varFloat = $f;
    }
}
$struct = new SOAPComplexType('arg',34,325.325);

function echoAnyElement($x) {
	global $g;

	$g = $x;
	$struct = $x->inputAny->any;
	if ($struct instanceof SOAPComplexType) {
		return array("return" => array("any" => new SoapVar($struct, SOAP_ENC_OBJECT, "SOAPComplexType", "http://soapinterop.org/xsd", "SOAPComplexType", "http://soapinterop.org/")));
	} else {
		return "?";
	}
}

class TestSoapClient extends SoapClient {
  function __construct($wsdl, $options) {
    parent::__construct($wsdl, $options);
    $this->server = new SoapServer($wsdl, $options);
    $this->server->addFunction('echoAnyElement');
  }

  function __doRequest($request, $location, $action, $version) {
    ob_start();
    $this->server->handle($request);
    $response = ob_get_contents();
    ob_end_clean();
    return $response;
  }
}

$client = new TestSoapClient(dirname(__FILE__)."/interop/Round4/GroupI/round4_groupI_xsd.wsdl",
                             array("trace"=>1,"exceptions"=>0,
                             'classmap' => array('SOAPComplexType'=>'SOAPComplexType')));
$ret = $client->echoAnyElement(
  array(
    "inputAny"=>array(
       "any"=>new SoapVar($struct, SOAP_ENC_OBJECT, "SOAPComplexType", "http://soapinterop.org/xsd", "SOAPComplexType", "http://soapinterop.org/")
     )));
var_dump($g);
var_dump($ret);
?>
--EXPECT--
object(stdClass)#5 (1) {
  ["inputAny"]=>
  object(stdClass)#6 (1) {
    ["any"]=>
    object(SOAPComplexType)#7 (3) {
      ["varInt"]=>
      int(34)
      ["varString"]=>
      string(3) "arg"
      ["varFloat"]=>
      float(325.325)
    }
  }
}
object(stdClass)#8 (1) {
  ["return"]=>
  object(stdClass)#9 (1) {
    ["any"]=>
    object(SOAPComplexType)#10 (3) {
      ["varInt"]=>
      int(34)
      ["varString"]=>
      string(3) "arg"
      ["varFloat"]=>
      float(325.325)
    }
  }
}
--UEXPECT--
object(stdClass)#5 (1) {
  [u"inputAny"]=>
  object(stdClass)#6 (1) {
    [u"any"]=>
    object(SOAPComplexType)#7 (3) {
      [u"varInt"]=>
      int(34)
      [u"varString"]=>
      unicode(3) "arg"
      [u"varFloat"]=>
      float(325.325)
    }
  }
}
object(stdClass)#8 (1) {
  [u"return"]=>
  object(stdClass)#9 (1) {
    [u"any"]=>
    object(SOAPComplexType)#10 (3) {
      [u"varInt"]=>
      int(34)
      [u"varString"]=>
      unicode(3) "arg"
      [u"varFloat"]=>
      float(325.325)
    }
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -