在Drupal 7中使用SOAP Web服务

时间:2012-05-14 08:50:32

标签: php soap drupal-7 soap-client

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

谢谢, 维沙尔

2 个答案:

答案 0 :(得分: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文档

答案 1 :(得分:1)

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