PHP-SOAP和空值,取决于版本?

PHP-SOAP和空值,取决于版本?,php,sql-server,soap,Php,Sql Server,Soap,我们必须将一些网站从Debian服务器迁移到另一个Redhat服务器。对数据库的每次访问都通过Web服务进行,因此我们使用SOAP与它们通信(Web服务称为SQL Server存储过程) 问题是,服务器之间肯定存在一些差异(即使它们基本上是Apache2+PHP5),因此在新服务器中某些调用会失败 其中一个说得很清楚。它是一个插入数据库的函数,因此我们通过SoapClient调用webservice,只需几个参数。有时这些参数可能为空。有问题的那个实际上通常是空的 现在,当我们调用webserv

我们必须将一些网站从Debian服务器迁移到另一个Redhat服务器。对数据库的每次访问都通过Web服务进行,因此我们使用SOAP与它们通信(Web服务称为SQL Server存储过程)

问题是,服务器之间肯定存在一些差异(即使它们基本上是Apache2+PHP5),因此在新服务器中某些调用会失败

其中一个说得很清楚。它是一个插入数据库的函数,因此我们通过SoapClient调用webservice,只需几个参数。有时这些参数可能为空。有问题的那个实际上通常是空的

现在,当我们调用webservice且@parameter为空时,它会从SQL存储过程返回一个错误,其中指出未指定@parameter。事实上,如果我们将它的值设置为0或1(它只对整数失败),它就会工作。这里真正奇怪的是,它在我们的Debian设置中工作得非常完美,但在我们的新RedHat设置中却不起作用

是否有任何SoapClient配置参数会影响这一点?我已经尝试了我能想到的每一个选项,但仍然不起作用(WebService和SQL server都完全相同!只有Linux服务器发生了变化!)

多谢各位

PS:为了更清楚,打印发送的SOAP-XML请求,旧版本包含
,即使此参数为空,新版本也不包含此标记。在这两种情况下,它的调用方式都是相同的
$client->Function(数组('parameter'=>$this->parameter[…]);