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”的原则,可以设置一个顶层的异常处理器来处理漏掉的错误。

  • 相关阅读:
    二叉树前序中序遍历求后序遍历
    二叉树的遍历
    Codeforces Round #381 (Div. 2)
    Codeforces Round #380 (Div. 2, Rated, Based on Technocup 2017
    Codeforces Round #379 (Div. 2)
    HDU 2896 ac自动机裸题
    RabbitMQ镜像模式双节点部署时故障转移过程中队列中消息的状态
    Maven搭建Spring MVC时使用jstl无效
    在使用HttpClient做客户端调用一个API时 模拟并发调用时发生“死锁"?
    使用mongodb提供的dotnet core sdk进行地理位置运算
  • 原文地址:https://www.cnblogs.com/anyefrozen/p/4305130.html
Copyright © 2011-2022 走看看