我有一个由java中的webservice生成的WSDL,我需要在php应用程序中复制这个相同的Web服务。
我看了,我找到的大多数脚本只生成客户端。 我需要服务器端将被消费。
答案 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/
如果有人知道生成服务器端的脚本,我仍然感兴趣:)