我已成功设置 WSO2 数据服务服务器并创建了一些以 XML 格式获取数据的程序。我可以在 DSS 管理面板中看到它们。为了做到这一点,我已经完成了 DSS 向导,它允许我添加新的数据源并创建一些程序。没关系。
我想知道的是如何将 PHP 与 DDS 连接起来?换句话说,我怎样才能发出 PHP 请求,以便从 DSS 将数据提取到我的 PHP 脚本?是否可以将数据作为 JSON 提取?如果有怎么办?
我已成功设置 WSO2 数据服务服务器并创建了一些以 XML 格式获取数据的程序。我可以在 DSS 管理面板中看到它们。为了做到这一点,我已经完成了 DSS 向导,它允许我添加新的数据源并创建一些程序。没关系。
我想知道的是如何将 PHP 与 DDS 连接起来?换句话说,我怎样才能发出 PHP 请求,以便从 DSS 将数据提取到我的 PHP 脚本?是否可以将数据作为 JSON 提取?如果有怎么办?
这个简单的脚本可能会让您了解如何连接到您的服务器:
<?php
$client = new SoapClient("http://*yourDSserver*:*yourPort*/services/yourDSservice?wsdl",array('trace' => 1));
try {
$info = $client->__soapCall("op_name",array(*--your request data goes here--*));
} catch (SoapFault $fault) {
print($fault);
}
print_r($info);
将 yourDSserver、yourDSport、yourDSservice 以及 op_name 更改为适合您安装的值。
还有几行可能对调试有用:
echo "\nRequest:\n" . $client->__getLastRequest() . "\n";
echo "\nResponse:\n" . $client->__getLastResponse() . "\n";
要从 PHP 访问数据服务,有很多方法。第一个是使用 PHP 的 SOAP 客户端来访问数据服务。服务的服务仪表板中提到了数据服务端点 URL,供您用作 SOAP 端点。此外,如果您想以 REST 方式访问它,您可以创建数据服务“资源”,您可以在其中使用配置的访问创建的 HTTP 路径。JSON 也受支持,您可以将其用作如何执行此操作的参考。此外,基本上如果该方法不适合,您可以使用 WSO2 ESB 来调解 JSON 请求以删除 XML 命名空间等,并以您想要的方式获取 JSON 有效负载。此处显示了如何执行此操作的示例。
干杯,安佳娜。