我正在开发一个Web应用程序,我需要使用外部Web服务。我看了WSClient模块,但有些我无法使用它。在Drupal 7中是否还有其他方法可以使用外部Web服务?
谢谢, 维沙尔
答案 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版本即将推出。