3

我正在开发一个需要使用外部 Web 服务的 Web 应用程序。我查看了 WSClient 模块,但有些我无法使用它。在 Drupal 7 中是否有其他方法可以使用外部 Web 服务?

谢谢, 维沙尔

4

2 回答 2

2

在 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文档

于 2012-06-05T10:00:05.887 回答
1

是的。您可以编写自己的模块或等待该模块具有 Drupal 7 版本http://drupal.org/project/feeds_soap。他们说 Drupal 7 版本即将推出。

于 2012-05-15T10:03:38.887 回答