NuSOAP に依存する PHP4 のスクリプトに取り組んでいます。今、私はこれを 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 を実行していることを確認しました。
基本的に、私は Web サービスと SOAP があまり得意ではありませんが、アイデアがあれば、私が間違っていることと、PHP5 のネイティブ SOAP に移行する方法について意見をいただければ幸いです。ところで、私がこの動きを最初に望んでいる理由は、ネイティブ ソープで想定されるリソースの節約です。これら2つのソリューション間のベンチマークへのリンクもいただければ幸いです。