Хорошо, я устал ломать голову над этим, поэтому, надеюсь, кто-то здесь может меня просветить:
Я пытаюсь получить доступ к службе SOAP, используя PHP и nuSOAP. Хотя я успешно получил доступ к сервису с помощью встроенного в PHP5 SoapClient, я, к сожалению, ограничен PHP4 и использую nuSOAP; что приводит к ошибке WSDL, которую я не могу понять.
Код PHP5 (работает):
$wsdl= 'https://mybilling.hipointinc.com:8443/wsdl.fcgi?get=Session.xsd';
$soap_client = new SoapClient($wsdl, array('trace'=>1));
$args = array("login" => $account_id, "password" => $password, "domain" => $domain);
$session = $soap_client->login($args);
Код nuSOAP (не работает):
$wsdl= 'https://mybilling.hipointinc.com:8443/wsdl.fcgi?get=Session.xsd';
$namespace = 'https://mybilling.hipointinc.com/UM/SOAP/Session';
$soap_client = new soapclient($wsdl, true, null, $namespace);
$args = array("login" => $account_id, "password" => $password, "domain" => $domain);
$session = $soap_client->call('login', array($args));
Это возвращает следующую ошибку:
wsdl error: http://schemas.portaone.com/soap:LoginRequest (LoginRequest) is not a supported type.
Почему версия PHP5 работает, а версия nuSOAP — нет? Я уверен, что это просто какая-то глупость, которую я упустил из виду, но я был бы признателен за помощь.
Для получения дополнительной информации я использую Porta Switch, PortaBilling XML API: документация