从PHP中的WSDL生成SoapServer

时间:2012-10-18 03:44:07

标签: php soap soap-client

我有一个由java中的webservice生成的WSDL,我需要在php应用程序中复制这个相同的Web服务。

我看了,我找到的大多数脚本只生成客户端。 我需要服务器端将被消费。

2 个答案:

答案 0 :(得分:4)

如果你有WSDL,那么你可以简单地将它传递给PHP5中定义的SoapServer类。

$server = new SoapServer("some.wsdl");
$server->setClass('MySoapServer');
$server->handle();

当然,您需要编写MySoapServer类来处理WDSL中定义的方法,以使此示例有效。

例如,如果WDSL定义了add($a, $b)函数,那么该类就是这样:

class MySoapServer
{
    public function add($a, $b)
    {
        return $a + $b;
    }
}

来源:http://au1.php.net/manual/en/soapserver.soapserver.php& http://au1.php.net/manual/en/soapserver.setclass.php

答案 1 :(得分:0)

我一直在寻找相同的功能,但它似乎不像服务器端那样存在。

之后,您可以使用脚本作为wsdl2php来生成客户端类,只需使用类来获取信息并响应它创建的部分......然后您将使用SoeServer声明,因为noetix建议。 / p>

本网站上有一个很好的wsdl2php演示文稿:http://www.dimuthu.org/blog/2008/09/21/wsdl2php-2-minutes-introduction/

如果有人知道生成服务器端的脚本,我仍然感兴趣:)