php SoapClient和负载均衡服务器

时间:2013-11-28 17:44:51

标签: php soap load-balancing

我正在开发一个php SoapClient。 Soap服务器是.NET服务器。 当客户端调用http地址并且答案来自客户端调用的服务器时,一切正常。

我遇到的问题是客户端必须调用https地址,服务器使用负载均衡系统,从而获得另一台服务器的响应(客户端调用serverX并有时从serverY获取答案,有时从serverZ获取答案等) )。

这是我使用的php代码(没有https且没有负载平衡时工作正常,不适用于https和负载均衡):

$client = new SoapClient('http://www.serverA.com/serviceB.svc?wsdl');
$immat = 'yadiyadiyada';
$params = array('immat' => $immat);
$result = $client->__soapCall('setImmat', array($params));
$id_found = $result->setImmatResult;

知道我应该怎么做?任何提示将不胜感激!

由于

1 个答案:

答案 0 :(得分:0)

我终于找到了解决方法。

我没有使用服务器提供的XML文件实例化php SoapClient,而是在客户端制作了它的副本,并对其进行了一些修改。我只更改了“schemaLocation”:服务器端,值类似于“https://www.serverY.com/serviceB.svc?xsd=xsd0”,我将其替换为“https://www.serverX.com/serviceB.svc?xsd=xsd0”。 现在我用这个新文件实例化php SoapClient:

$client = new SoapClient('/local_path/wsdl.xml');

它有效!

相关问题