PHP WSDL生成尚不支持

时间:2014-08-16 07:31:25

标签: php soap wsdl

我是SoapServer中的新手,这是我发现的简单文档和示例代码。在生成SoapServer之后我得到了这个结果:

<SOAP-ENV:Envelope>
    <SOAP-ENV:Body>
        <SOAP-ENV:Fault>
            <faultcode>SOAP-ENV:Server</faultcode>
            <faultstring>WSDL generation is not supported yet</faultstring>
        </SOAP-ENV:Fault>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

这是我简单的WSDL源代码:

说明:我在本地主机中的文件名是:wsdl_sample1.php

<?php
class MyAPI {

    function hello() {
        return "Hello";
    }

}
$options=array('uri'=>'http://localhost/wsdl_sample1.php?wsdl');
$server = new SoapServer(NULL,$options);
$server->setClass('MyAPI');
$server->handle();
echo "SOAP Server started";
?>

如何更改此代码以解决问题。感谢。

1 个答案:

答案 0 :(得分:0)

您提供的url(http://localhost/wsdl_sample1.php?wsdl)应指向有效的WSDL文件(可以找到有关WSDL的教程here

PHP本身不支持WSDL生成。但是,Zend Framework的类可以:请参阅Zend Framework's Zend_Soap_Autodiscover

否则,您将无法创建自己的wsdl。您可能会使用Online WSDL Generator之类的在线WSDL生成器来帮助您解决问题。

古德勒克!