PHP SOAP服务器无法正常工作

Chr*_*haw 0 php c# soap

我使用http://code.google.com/p/php-wsdl-creator/downloads/list在PHP中编写了一个SOAP服务器 我的客户端在用C#编写的Dynamics CRM Online插件中,在我的测试网站上一切正常,但是当我将SOAP服务器发送到客户端Web主机时,他们已经上传了文件,但是我收到了以下错误:

SoapServer::SoapServer(): 'soap_version' option must be SOAP_1_1 or SOAP_1_2
Run Code Online (Sandbox Code Playgroud)

我相信这是他们服务器上的配置问题(他们必须为此安装一个SOAP模块),但我不知道在哪里寻找/建议对此进行排序.

作为参考,我的C#类引用Web引用中的SOAP服务器.我添加了以下行,尝试11和12,但无济于事:

soap.SoapVersion = System.Web.Services.Protocols.SoapProtocolVersion.Soap11;
Run Code Online (Sandbox Code Playgroud)

当我查看phpinfo页面时,我的测试服务器'--enable-soap' '--with-xsl=/usr在Configure Command部分中有一行,其中web主机版本没有,但它确实/etc/php.d/soap.ini解析了附加.ini文件中的行- 这会导致任何问题吗?我对配置php服务器一无所知.

小智 5

我在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
    );
Run Code Online (Sandbox Code Playgroud)

    // 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
    )
Run Code Online (Sandbox Code Playgroud)

希望它能帮助任何人