我已经工作一个脚本用。PHP4依赖NuSOAP.现在,我想将这PHP5,并使用夜总会的支持肥皂。

$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不-它并不需要一个脑外科医生图找出我在做的事情是错误的。我已经访问。就文件,并通过phpinfo()我已确保我NuSOAP正常运行PHP5的时候我应该和。PHP4/Nusoap当我应该。

基本上,我不是非常好的网络服务和肥皂-但是,如果任何人有任何想法,我会很感激的任何输入上我在做什么错和如何,我可以移动到当地的肥皂在PHP5.顺便说一句,我希望这一行动首先是假设资源节约在当地的肥皂。我会很感激的任何链接的基准之间的这两种解决办法。

有帮助吗?

解决方案

确认的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”或similiar?

祝:)

BTW:你在忙什么呢?延迟的交流从试点到机场?或者一个Web服务,这将减少在OSL的等待时间上的行李交付? :P

其他提示

我们曾与PHP5非常类似的问题的内置SOAP客户端试图消耗基于.NET的Web服务。此外WSDL解析失败报告无效的架构。把模式定义成一个单一的本地文件没有帮助。

我们放弃了,并切换到的NuSOAP,其中没有工作。

然而,的NuSOAP远未完美也。现在我进入外的内存情况1MB +响应的解析过程中。删除所有讨厌的调试代码帮助一点,但没有从根本上。

因此,看起来像有在PHP此刻没有100%互操作/功能SOAP客户端实现。

没有测试它,我有两个建议:

第一,把你的error_reporting到可能的最高(前创建的SoapClient):

error_reporting( E_ALL );

如果有什么问题与认证服务器上的一面,PHP将出警告。在大多数情况下,它将告诉你了什么错误的。

第二:我不知道如果你可以指定"地点"的选项,同一个网址,一个wsdl。从理论上讲,wsdl告诉你的客户,其中端点的行动是,所以你不必要打扰。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top