>  기사  >  php教程  >  php调用web service接口(.net开发的接口)

php调用web service接口(.net开发的接口)

WBOY
WBOY원래의
2016-06-06 19:43:371152검색

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

';<br>var_dump($client->__getFunctions());//获取服务器上提供的方法<br>echo "<hr>";
<p><br>echo 'SOAP服务器提供的Type:';<br>print_r($client->__getTypes());//获取服务器上数据类型<br>echo "</p><hr>";
<p><br>echo '执行GetGUIDNode的结果:';<br>//查询中国北京的天气,返回的是一个结构体<br>$result=$client->getWeather(array('CityName'=>'beijing','CountryName'=>'china'));<br>echo $result->GetWeatherResult;//显示结果</p>
<p>?></p>
<p>运行结果:<img  src="/inc/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" alt="php调用web service接口(.net开发的接口)" ></p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p>对try和catch进行实例说明</p>
<p>eg:</p>
<p><?php </p>
</p><p>//创建可抛出一个异常的函数 <br>function checkNum($number)  {  <br>	if($number>1)   {   <br>		throw new Exception("Value must be 1 or below");   <br>	}  <br>	return true;  <br>}  </p>
<p><br>//在 "try" 代码块中触发异常 <br>try  {  <br>	//If the exception is thrown, this text will not be shown  echo 'If you see this, the number is 1 or below';  <br>	checkNum(2);  <br>	<br>}catch(Exception $e){  <br>	//捕获异常<br>	echo 'Message: ' .$e->getMessage();  <br>} </p>
<p>?></p>
<p>上面代码将获得类似这样一个错误:</p>
<pre class="brush:php;toolbar:false">Message: Value must be 1 or below 

例子解释:

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

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

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.