Я работал над сценарием с PHP4, который опирается на NuSOAP. Теперь я пытаюсь переместить это в PHP5 и использовать там встроенную поддержку SOAP.
$wsdlPath = ""; // I have obviously set these variables to something meaningful, just hidden for the sake of security
$apiPath = "";
$username = "";
$password = "";
// PHP5 style
$client = new soapclient($wsdlPath, array('login'=>username,
'password'=> $password,
'soap_version'=> SOAP_1_2,
'location'=> $apiPath,
'trace'=> 1));
// PHP4/NuSOAP style
$client = new soapclient($wsdlPath, true);
client->setEndpoint($apiPath);
$client->setCredentials($username, $password);
$client ->loadWSD);
PHP5-версия генерирует следующую трассировку стека:
EXCEPTION=SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://external-nbb.napi.norwegian.no.stage.osl.basefarm.net/api/napi1300?wsdl' in /home/eisebfog/public_html/database/norwegian.php:31
Stack trace:
#0 /home/eisebfog/public_html/database/norwegian.php(31): SoapClient->SoapClient('http://external...', Array)
#1 /home/eisebfog/public_html/database/index.php(53): require_once('/home/eisebfog/...')
#2 {main}
Теперь, поскольку версия NuSOAP работает, а чистый PHP5 - нет - не нужно мозговому хирургу, чтобы понять, что я делаю что-то не так. У меня есть доступ к файлу .htaccess, и с помощью phpinfo () я убедился, что я правильно запускаю NuSOAP и PHP5, когда мне нужно, и PHP4 / Nusoap, когда мне нужно.
По сути, я не очень хорошо разбираюсь в веб-сервисах и мыле, но если у кого-то есть какие-либо идеи, я был бы признателен за любые сведения о том, что я делаю неправильно, и о том, как я могу перейти на родное мыло в PHP5. Кстати, резонанс, который я хочу, чтобы этот шаг, во-первых, предполагаемая экономия ресурсов в родном мыле. Буду признателен за любые ссылки на тесты между этими двумя решениями.