我可以在 Azure 逻辑应用程序中进行 SOAP API 调用吗

Can I make a SOAP API call in Azure Logic App

我是一位经验丰富的数据分析师,主要有 SQL 和 R 经验,很少有 Python,不幸的是很少接触 .NET 和 PHP。我已经广泛搜索了任何有类似问题的人,但不幸的是我没有找到我要找的东西。

情况:我正在 Azure 上设置 HDInsight 集群(使用 Apache Spark),我需要从 SOAP API(没有 restful API 中提取一些数据).

问题:我在哪里以及如何提取这些数据?我认为 Azure 中的逻辑应用程序是一个合适的地方。然而,我并没有完全成功地调用这个 API。 我确实有一个有效的 PHP 脚本,带有适当的 API 调用。这是语法的(部分)。

$client = new SoapClient('http://someURL?wsdl');
$webservice = new SoapClient('http://someotherURL?wsdl');
$session = $client->someOperationToLogin($var1, $var2, $var3);
$operation = $webservice->someOperationToGetData($session, $var4, $var5);
$session = $client->logout($session);

如您所见,我首先需要获取一个session id,然后在后续的调用中使用这个session id。据我了解,我无法通过简单的 HTTP 请求获取此数据。

问题:

  1. 我可以直接通过 Azure 逻辑应用程序中的现有连接器之一调用这个特定的 SOAP API
  2. 如果 (1) 不可能,我可以利用现有的 PHP 脚本吗?如何以及在哪里?
  3. 我是否可以遵循任何其他途径来通过此 SOAP API 使用数据?例如:在 Spark/HDInsight 集群中使用 pyspark?

非常感谢您的帮助和指点。

没有通过 Azure 逻辑应用程序中的现有连接器调用的 SOAP API。

这是连接器列表和 API 应用程序参考:https://msdn.microsoft.com/en-us/library/azure/dn948518.aspx。 他们支持的功能都是基于 REST APIs via Http/Https.

Azure上的所有服务&api几乎都是基于RESTAPI来兼容跨平台&语言场景

但即使如此,您也可以通过 Azure App Service 或 Cloud Service.Please 创建自己的 SOAP API 参考 http://azure.microsoft.com/en-us/documentation/services/app-service/api/ and https://azure.microsoft.com/en-us/documentation/articles/app-service-logic-arm-with-api-app-provision/

在 Azure HDInsight 中,您可以从存储服务和服务总线中提取一些数据。如果要使用Azure Logic App,现有的连接器有Blob Connector和ServiceBus Connector,甚至还有Dropbox Connector。

您可以参考下面的参考资料,使用PHP脚本访问作为HDInsight资源链接到store/get或send/receive一些数据的Azure存储和ServiceBus服务。 1.https://azure.microsoft.com/en-us/documentation/articles/storage-php-how-to-use-blobs/ 2.https://azure.microsoft.com/en-us/documentation/articles/service-bus-php-how-to-use-queues/.

此致。

现在可以通过 Azure API 使用 SOAP to Rest 功能从 SOAP WSDL 文件创建 REST API 管理。

可以从以下位置访问:

A​​zure 门户 -> API 管理服务 -> <你的 API 管理服务> -> APIs -> 添加 API -> WSDL

设置完成后,可以很容易地从其他 Azure 产品访问此 API。

您可以通过普通 HTTP 连接器进行调用。

1- 首先将您的 Http 触发方法设置为 post 并将其发送给您的 xml Body。 HTTP Trigger

2- 使用 url 对您的 Soap End 进行 Http 操作,例如 abc.asmx xyz.svc Http Call To Soap End 不要忘记将 Method 设置为 Post 并将 Content-Type 设置为 text/xml 作为 header。

3- 最后将您的 Http 响应绑定到响应操作设置状态代码和 body 到 HTTP 操作状态和 Body 动态不忘记将内容类型设置为 text/xml 以及 Return Response Action

4- 最后配置 运行 在 HttP 操作之后将响应组件配置为 sun 即使失败、取消或超时只是为每个调用传递状态代码,就像那样右键单击响应并配置 运行 在 conf Run After For response Action 之后。

这是完整视图 Full Flow

如果有帮助请点赞。