gpt4 book ai didi

php - 从 NuSOAP 迁移到 PHP5 SOAP

转载 作者:可可西里 更新时间:2023-11-01 13:25:30 25 4
gpt4 key购买 nike

我一直在使用依赖于 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 中的 native soap 的意见。顺便说一句,我首先想要此举的原因是假设本地 SOAP 中的资源节省。我也很感激这两个解决方案之间的任何基准测试链接。

最佳答案

确保 NuSoap 和 PHPv5-SOAP 在同一台服务器上运行。如果我没有完全错的话,两个库都使用相同的类名。如果您确保不包含任何 NuSopa 文件,也许它会工作得更好?并验证 SOAP 库是否已加载:

if(!extension_loaded('soap')){
dl('soap.so'); // Actually a deprecated method. See "notes" at http://no.php.net/dl
}

我猜您指的版本字段定义为“SOAP 1.1”或类似版本?

最良好的祝愿:)

顺便说一句:你在做什么?交换飞行员到机场的延误?或者也许是一种网络服务,可以减少 Osl 行李交付的等待时间? :p

关于php - 从 NuSOAP 迁移到 PHP5 SOAP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/322510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com