2

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

情况:我在 Azure(使用 Apache Spark)上设置了一个 HDInsight 集群,我需要从 SOAP API(无 RESTful API)中提取一些数据。

问题:我在哪里以及如何提取这些数据?我认为 Azure 中的 Logic App 会是一个合适的地方。但是,我在调用此 API 时并不十分成功。我确实有一个带有适当 API 调用的有效 PHP 脚本。这是语法的(部分)。

$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);

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

问题:

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

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

4

3 回答 3

2

您可以通过普通 HTTP 连接器进行呼叫。

1-首先设置您的 Http 触发方法以发布并发送您的 xml 正文。 HTTP 触发器

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

3-最后将您的 Http 响应绑定到响应操作,将状态代码和正文设置为HTTP 操作状态和正文动态不要忘记设置为内容类型,这里也设置为 text/xml返回响应操作

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

这是完整视图完整流程

喜欢如果这有帮助的话。

于 2018-05-14T16:14:21.313 回答
1

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

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

Azure 上的所有服务和 API 几乎都基于 REST API 来兼容跨平台和跨语言场景。

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

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

您可以参考下面的参考资料,使用 PHP 脚本访问链接为 HDInsight 资源的 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/文章/service-bus-php-how-to-use-queues/

此致。

于 2015-09-14T09:32:32.537 回答
1

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

这可以从以下位置访问:

Azure 门户 -> API 管理服务 -> <您的 API 管理服务> -> API -> 添加 API -> WSDL

从 WSDL 创建

设置完成后,就可以轻松地从其他 Azure 产品访问此 API。

于 2017-10-24T09:35:50.003 回答