PHP SOAP服务器不工作
本文关键字:工作 服务器 SOAP PHP | 更新日期: 2023-09-27 18:11:14
我使用http://code.google.com/p/php-wsdl-creator/downloads/list用PHP编写了一个SOAP服务器我的客户端是在动态CRM在线插件写在c#在我的测试网站上一切都很好,但是当我将SOAP服务器发送到客户端的web主机时,他们已经上传了文件,但是我得到以下错误返回:
SoapServer::SoapServer(): 'soap_version' option must be SOAP_1_1 or SOAP_1_2
我相信这是他们服务器上的配置问题(他们必须为此安装一个SOAP模块),但我不知道在哪里寻找/建议解决这个问题。
作为参考,我的c#类在web引用中引用了SOAP服务器。我添加了以下行,尝试了11和12,但无济于事:soap.SoapVersion = System.Web.Services.Protocols.SoapProtocolVersion.Soap11;
当我查看phpinfo页面时,我的测试服务器在配置命令部分有'--enable-soap' '--with-xsl=/usr
行,因为web主机版本没有,但它确实在附加。ini文件中解析了/etc/php.d/soap.ini
行-这会导致任何问题吗?我对配置php服务器一窍不通
我在php-wsdl-createor-framework中遇到了同样的问题。他们对https://code.google.com/p/php-wsdl-creator/的补丁是修改class.phpwsdl.php
中的第434行从 // SOAP server options
$this->SoapServerOptions=Array(
'soap_version' => SOAP_1_1|SOAP_1_2,
'encoding' => 'UTF-8',
'compression' => SOAP_COMPRESSION_ACCEPT|SOAP_COMPRESSION_GZIP|9
);
// SOAP server options
$this->SoapServerOptions=Array(
'soap_version' => (defined('SOAP_1_2'))?SOAP_1_2:SOAP_1_1,
'encoding' => 'UTF-8',
'compression' => SOAP_COMPRESSION_ACCEPT|SOAP_COMPRESSION_GZIP|9
)
希望对大家有所帮助
尝试在SoapServer构造函数(PHP)中设置soap_version选项。例如:
$server = new SoapServer("some.wsdl", array('soap_version' => SOAP_1_2));