如何在php

时间:2016-09-02 11:52:31

标签: php soap server wsdl client

我在不同的服务器上有一个soap服务器和一个soap客户端。我的问题是我的肥皂服务器的互联网链接非常频繁,因此我决定为肥皂服务器采取另一个互联网链接,所以如果主要链接下来我将移动备份链接,反之亦然。但是我如何在我的php soap客户端解决这个问题,当IP更改时,wsdl的地址会自动更改,而不是每次都手动更改。 例如,我有两个不同的IPS

的WSDL链接
<?php
$url1 = "http://x.x.x.x/api?wsdl"; //primary link IP
$url2 = "http://a.a.a.a/api?wsdl"; //back up link IP

$client = new SoapClient($url1 or $url2,array("trace"=>1,"exceptions"=>0));   //Now defining a client with url which is currently active.

?>

如何在检查soap服务器上的活动互联网链接后定义客户端?

1 个答案:

答案 0 :(得分:0)

对于一个简单的解决方案,您可以检查是否可以访问主wsdl,如果它不能,则使用辅助wsdl:

$url1 = "http://x.x.x.x/api?wsdl";
$url2 = "http://a.a.a.a/api?wsdl";

try {
  $headers = @get_headers($url1);
  if(!empty($headers)) {
    $wsdl = $url1;
  } else {
    $wsdl = $url2;
  }
  $client = new SoapClient($wsdl, array("trace"=>1,"exceptions"=>0));
} catch (Exception $e) {

}