我在不同的服务器上有一个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服务器上的活动互联网链接后定义客户端?
答案 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) {
}