用php去调用web服务接口,php调用web service接口(.net开发的接口)

本文介绍了PHP中使用SOAP客户端连接Web服务的代码示例,包括初始化连接、处理异常及获取服务方法和数据类型。通过一个具体的try-catch异常处理例子,展示了如何捕获和显示异常信息。此外,还详细解释了异常处理的流程和规则。
摘要由CSDN通过智能技术生成

实例代码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 ( "

实例代码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:

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 '

';

var_dump($client->__getFunctions());//获取服务器上提供的方法

echo "


";

echo 'SOAP服务器提供的Type:';

print_r($client->__getTypes());//获取服务器上数据类型

echo "


";

echo '执行GetGUIDNode的结果:';

//查询中国北京的天气,返回的是一个结构体

$result=$client->getWeather(array('CityName'=>'beijing','CountryName'=>'china'));

echo $result->GetWeatherResult;//显示结果

?>

运行结果:

test.jsp?url=http%3A%2F%2Fimages.cnitblog.com%2Fblog%2F711963%2F201502%2F281156005025568.png&refer=http%3A%2F%2Fwww.cnblogs.com%2Fpigengcai%2Fp%2F4305130.html

对try和catch进行实例说明

eg:

//创建可抛出一个异常的函数

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

例子解释:

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

创建 checkNum() 函数。它检测数字是否大于 1。如果是,则抛出一个异常。

在 "try" 代码块中调用 checkNum() 函数。

checkNum() 函数中的异常被抛出

"catch" 代码块接收到该异常,并创建一个包含异常信息的对象 ($e)。

通过从这个 exception 对象调用 $e->getMessage(),输出来自该异常的错误消息

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值