zoukankan      html  css  js  c++  java
  • PHP 调用web service接口(.net开发的接口)

    实例代码1:

    try {
    $this->soapClientObj = new SoapClient(self::URL . '?wsdl', array('connection_timeout' => self::CONNECTION_TIMEOUT));
    } catch (Exception $e) {
    throw new Exception($e->getMessage(), $e->getCode());
    }

    实例代码2:

    <?php
    header ( "Content-Type: text/html; charset=utf-8" );
    /*
    * 指定WebService路径并初始化一个WebService客户端
    */
    $ws = "http://www.webservicex.net/globalweather.asmx?wsdl";//webservice服务的地址
    $client = new SoapClient ($ws);
    /*
    * 获取SoapClient对象引用的服务所提供的所有方法
    */
    echo 'SOAP服务器提供的开放函数:';
    echo '<pre>';
    var_dump($client->__getFunctions());//获取服务器上提供的方法
    echo "<hr>";


    echo 'SOAP服务器提供的Type:';
    print_r($client->__getTypes());//获取服务器上数据类型
    echo "<hr>";


    echo '执行GetGUIDNode的结果:';
    //查询中国北京的天气,返回的是一个结构体
    $result=$client->getWeather(array('CityName'=>'beijing','CountryName'=>'china'));
    echo $result->GetWeatherResult;//显示结果

    ?>

    运行结果:

    对try和catch进行实例说明

    eg:

    <?php

    //创建可抛出一个异常的函数
    function checkNum($number) {
    if($number>1) {
    throw new Exception("Value must be 1 or below");
    }
    return true;
    }


    //在 "try" 代码块中触发异常
    try {
    //If the exception is thrown, this text will not be shown echo 'If you see this, the number is 1 or below';
    checkNum(2);

    }catch(Exception $e){
    //捕获异常
    echo 'Message: ' .$e->getMessage();
    }

    ?>

    上面代码将获得类似这样一个错误:

    Message: Value must be 1 or below 

    例子解释:

    上面的代码抛出了一个异常,并捕获了它:

    1. 创建 checkNum() 函数。它检测数字是否大于 1。如果是,则抛出一个异常。
    2. 在 "try" 代码块中调用 checkNum() 函数。
    3. checkNum() 函数中的异常被抛出
    4. "catch" 代码块接收到该异常,并创建一个包含异常信息的对象 ($e)。
    5. 通过从这个 exception 对象调用 $e->getMessage(),输出来自该异常的错误消息

    不过,为了遵循“每个 throw 必须对应一个 catch”的原则,可以设置一个顶层的异常处理器来处理漏掉的错误。

  • 相关阅读:
    lsof命令详解
    nmap命令详解
    ss命令详解
    netstat命令详解
    ifup,ifdown命令详解
    playbook部署nginx
    cento7忘记root密码怎么办
    正确关闭selinux
    使用ssh-agent管理私钥
    gitlab中的CI
  • 原文地址:https://www.cnblogs.com/anyefrozen/p/4305130.html
Copyright © 2011-2022 走看看