Вы можете использовать режим WSDL и по-прежнему устанавливать местоположение, как с помощью опции «location» в конструкторе, так и с помощью функции __setLocation (). Вы также можете создать класс-оболочку для SoapClient для выполнения более сложных задач, таких как извлечение всех конечных точек из WSDL, а затем применение к ним логики, чтобы определить, какую конечную точку для чего использовать:
class SoapClientCompatibility extends SoapClient{
public function __construct($wsdl, $options){
parent::__construct($wsdl, $options);
//determine which location you want to use here
parent::__setLocation($chosenLocation);
}
public function __doRequest($request, $location, $action, $version){
// --Or, perhaps you want to dynamically switch location in here
}
}