我正在开发一个需要使用外部 Web 服务的 Web 应用程序。我查看了 WSClient 模块,但有些我无法使用它。在 Drupal 7 中是否有其他方法可以使用外部 Web 服务?
谢谢, 维沙尔
我正在开发一个需要使用外部 Web 服务的 Web 应用程序。我查看了 WSClient 模块,但有些我无法使用它。在 Drupal 7 中是否有其他方法可以使用外部 Web 服务?
谢谢, 维沙尔
在 Drupal 模块中使用“SoapClient”解决了这个问题。以下是我遵循的步骤:
1. 下载 WSDL 文件并将其保存在您的模块文件夹中。
2. 使用任何 WSDL 到 PHP 转换器,为下载的 WSDL 文件创建一个 PHP 文件
3. 将生成的 PHP 文件复制到 Drupal 模块中
4. 使用以下代码将生成的 PHP 文件包含在您的函数中(在 Drupal 模块中):
$WSDLPHPPath = drupal_get_path('module', <Module Name>) .'/< generated PHP file>.php';
require_once($WSDLPHPPath);
5.使用以下代码包含 WSDL 文件:
$WSDLPath = "http://localhost/drupal/" . drupal_get_path('module', <Module Name>) .'/<Name of WSDL file>.wsdl';
$client = new SoapClient($WSDLPath, array('location'=><Location of the WSDL file>));
此处 WSDL 文件的位置是您要连接的服务器 IP/名称(例如http://<server name or IP>/abc?wsdl
)
6.调用您的网络方法:(例如$client-><Web method name>
)
7.如果要给web方法添加参数,请参考SoapClient文档
是的。您可以编写自己的模块或等待该模块具有 Drupal 7 版本http://drupal.org/project/feeds_soap。他们说 Drupal 7 版本即将推出。