AndiffCMS里面中央模型库的定义

WebService服务端的定义

<?php
use PDO;
class Module {
	private $nombre = '';
	protected $itemid1 = '';

	/**
	 * Module::__construct() 企业信息类的构造函数.
	 *
	 * @param string $nombre
	 * @return string
	 **/
	public function __construct($itemid = '') {
		$this->itemid1 = $itemid;
	}

	/**
	 * 得到某一个模型的版本
	 *
	 * @param string $itemid  模型编号
	 * @return string
	 **/
	public function versions($moduleid = ''){
		/*return $itemid;*/

		$pdo = new PDO("mysql:host=localhost;port=3306", 'andiffgw', 'Andiff123.', array(
        PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
        PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
    ));
    $pdo->query("USE `andiffguanwang`;");
    $arr = array();
    $result = $pdo->query("select * from fa_modulestock where 1 and moduleid = '".$moduleid."'");
    while($row = $result->fetch()){
        $arr[] = $row;
    }
    return json_encode($arr);

	}
	/**
	 * 得到模型的列表
	 *
	 * @param string $name  模型名称
	 * @return string
	 **/
	public function getModuleList($name = ''){
      $pdo = new PDO("mysql:host=localhost;port=3306", 'andiffgw', 'Andiff123.', array(
            PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
            PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
      ));
      $pdo->query("USE `andiffguanwang`;");
      $arr = array();
      $result = $pdo->query("select * from fa_module where name like '%".$name."%'");
      while($row = $result->fetch()){
        $arr[] = $row;
      }
      return json_encode($arr);
	}

	/**
	 * Enterprise::update() Returns server timestamp.
	 *
	 * @return string
	 **/
	public function serverTimestamp() {
		return time();
	}
}

?>
<?php
require_once 'Module.class.php';

// Enciende el servidor o despliega WSDL
if (isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD']=='POST') {
	$servidorSoap = new SoapServer('http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER['SERVER_PORT'].$_SERVER['PHP_SELF'].'?wsdl');
	$servidorSoap->setClass('Module');
	$servidorSoap->handle();
}
else {
	require_once 'SoapDiscovery.class.php';

	// Crea el servidor de descubrimiento
	$disco = new SoapDiscovery('Module','mm');
    header("Content-type: text/xml");
	if (isset($_SERVER['QUERY_STRING']) && strcasecmp($_SERVER['QUERY_STRING'],'wsdl')==0) {
		echo $disco->getWSDL();
	}
	else {
		echo $disco->getDiscovery();
	}
}

?>
客户端调用:
try{
					$soap = new \SoapClient(null,array('location'=>'http://www.andiff.net/module.php','uri'=>'mm'));
					$ids = $this->request->get('ids');
					$name = $this->request->get('name');
					$enname = $this->request->get('enname');
					$this->view->assign("itemid",$ids);
					$this->view->assign("name",$name);
					$this->view->assign("enname",$enname);

					$result2 = $soap->versions($ids);
					$arr = array();
					$arr = json_decode($result2,true);
					$this->view->assign("s2",$arr);
					return $this->view->fetch();
				}catch(Exction $e){
				 		echo print_r($e->getMessage(),true);
				}



猜你喜欢

转载自blog.csdn.net/u010261924/article/details/80680455