PHP Soap 封装类 [ [ Soap.class ] ]

<?php
/**
 * PHP Soap Client
 * @author ueaner <ueaner@gmail.com> www.aboutc.net
 */

class Soap {

    private $mode = 'wsdl';

    private $trace = true;  // 开启调试

    private $soapVersion = SOAP_1_2;  // SOAP 版本

    private $encoding = 'UTF-8'; // 编码

    private $compression = 0;

    private $options = array();

    private $serverIP = '127.0.0.1';

    private $serverPort = '80';

    private $serverDir = 'soap';

    private $serviceUri = '';

    private $serviceName = '';

    private $wsdlCacheEnabled = 0; // WSDL 缓存:1开启,0关闭

    public function __construct($params = array()) {
        if (count($params) > 0) {
            foreach ($params as $key => $val) {
                if (isset($this->$key)) {
                    $this->$key = $val;
                }
            }
        }

        $this->options = array(
            'trace' => $this->trace,
            'soap_version' => $this->soapVersion,
            'encoding' => $this->encoding,
            'compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP
        );

        if (!$this->wsdlCacheEnabled) {
            $this->options['cache_wsdl'] = WSDL_CACHE_NONE;
        }

        if ($this->serviceUri == '') {
            // $this->serverDir = '/' . trim('/' . $this->serverDir . '/', '/') . '/';
            $this->serverDir = '/' . pathinfo(dirname($_SERVER['SCRIPT_NAME']), PATHINFO_FILENAME) . '/';
            $this->serviceUri = 'http://' . $this->serverIP . ':' . $this->serverPort . $this->serverDir
                . $this->mode. '/' . $this->serviceName . 'Service.php';
        }

        if ($this->mode == 'wsdl') {
            $this->serviceUri .= '?wsdl';
        } else {
            $this->options['uri'] = 'http://' . $_SERVER['SERVER_NAME']; // non-WSDL 模式参数
            $this->options['location'] = $this->serviceUri;	// non-WSDL 模式参数,server 端具体路径
            $this->serviceUri = null;
        }

    }

    public function getClient() {
//        try {
//            return new SoapClient($this->serviceUri, $this->options);
//        }
//        catch (SoapFault $fault){
//            echo 'Error Message: ' . $fault->getMessage();
//        }

//        var_dump($this->serviceUri, $this->options);exit;

        return new SoapClient($this->serviceUri, $this->options);
    }

    public function getServiceUri() {
        return $this->serviceUri;
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值