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 SOAP服务器不工作

我在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));