【发布时间】:2012-10-18 03:44:06
【问题描述】:
我有一个由 java 中的 web 服务生成的 WSDL,我需要在 php 应用程序中复制同样的 web 服务。
我查看了,我发现的大多数脚本只是生成客户端。 而且我需要将被消耗的服务器端。
【问题讨论】:
标签: php soap soap-client
我有一个由 java 中的 web 服务生成的 WSDL,我需要在 php 应用程序中复制同样的 web 服务。
我查看了,我发现的大多数脚本只是生成客户端。 而且我需要将被消耗的服务器端。
【问题讨论】:
标签: php soap soap-client
如果您有 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
【讨论】:
我一直在寻找相同的功能,但对于服务器端来说似乎不存在这样的功能。
之后,您可以只使用脚本作为 wsdl2php 来生成客户端类,并且只使用类作为信息并响应它创建的部分......然后您将使用 noetix 建议的 SoapServer 声明。
这个网站上有很好的wsdl2php介绍:http://www.dimuthu.org/blog/2008/09/21/wsdl2php-2-minutes-introduction/
如果有人知道生成服务器端的脚本,我仍然感兴趣:)
【讨论】: