我可以在Azure Logic App

时间:2015-09-12 19:45:12

标签: php api azure soap-client azure-logic-apps

我是一位经验丰富的数据分析师,主要是SQL和R经验,很少有Python,很遗憾,很少有.NET和PHP曝光。我已经广泛搜索过有类似问题的人,但不幸的是我找不到我正在寻找的东西。

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

问题:我在何处以及如何提取此数据?我认为Azure中的Logic App将是一个合适的地方。但是,我在调用此API方面并不成功。 我有一个正常的API脚本与适当的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);

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

问题:

  1. 我是否可以通过Azure Logic App中的某个现有连接器直接调用此特定SOAP API
  2. 如果(1)不可能,我可以使用现有的PHP脚本吗?怎么样和在哪里?
  3. 我可以通过此SOAP API使用其他任何路径来使用数据吗?例如:在Spark / HDInsight群集中使用pyspark?
  4. 我非常感谢你的帮助和指示。

3 个答案:

答案 0 :(得分:1)

Azure Logic App中没有通过现有连接器调用的SOAP API。

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

所有服务& Azure上的apis几乎基于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中,您可以从Storage Service和Service Bus中提取一些数据。如果您想使用Azure Logic App,现有的连接器是Blob Connector和ServiceBus Connector,甚至是Dropbox Connector。

您可以参考以下参考资料,使用PHP脚本访问Azure存储和存储。 ServiceBus服务链接为HDInsight资源,用于存储/获取或发送/接收一些数据。 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/

最诚挚的问候。

答案 1 :(得分:0)

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

可以从以下网址访问:

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

Create from WSDL

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

答案 2 :(得分:0)

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

1-首先设置你的Http触发器方法发布并发送你的xml Body。 HTTP Trigger

2-用你的肥皂结束的网址做一个Http动作 abc.asmx xyz.svc Http Call To Soap End 不要忘记将方法发布内容类型设置为text / xml 作为标题。

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

4-最后在HttP操作之后配置运行After for响应组件为sun即使Faild,Cancled或超时只是为每个调用传递状态代码如右图所示右键单击Response并配置在conf Run After For response Action之后运行。

以下是完整视图Full Flow

喜欢响应如果这有帮助。