Я опытный аналитик данных с большим опытом работы с SQL и R, немного Python и, к сожалению, мало знаком с .NET и PHP. Я много раз искал людей с похожими вопросами, но, к сожалению, я не нашел того, что искал.
Ситуация: я настраиваю кластер HDInsight в Azure (с Apache Spark), и мне нужно извлечь некоторые данные из API-интерфейса SOAP (без успокоительного 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);
Как видите, мне сначала нужно получить идентификатор сеанса, а затем использовать этот идентификатор сеанса в последующих вызовах. Насколько я понимаю, я не могу получить эти данные с помощью простого HTTP-запроса.
Вопросы:
Я очень ценю вашу помощь и указатели.
API-интерфейсы SOAP, вызываемые через существующие коннекторы в приложении логики Azure, отсутствуют.
Это список Коннекторов и Справочника по API-приложениям: https://msdn.microsoft.com/en-us/library/azure/dn948518.aspx.
Их поддерживаемые функции основаны на REST API через Http / Https.
Все услуги & apis на Azure почти полностью основан на API REST для совместимости с кроссоверной платформой & языковые сцены.
Но даже в этом случае вы можете создавать собственные API-интерфейсы SOAP через службу приложений Azure или облачную службу. 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, то существующими соединителями являются 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/.
С уважением.
Теперь можно создать REST API из файла SOAP WSDL с помощью управления API Azure, используя функцию SOAP to Rest.
Это может быть доступно из:
Портал Azure -> Службы управления API -> <Ваша служба управления API> -> API -> Добавить API -> WSDL
После настройки этого API можно легко получить доступ из других продуктов Azure.
Вы можете сделать звонок через обычный HTTP-коннектор.
1- Сначала установите свой метод триггера Http, чтобы опубликовать и отправить его в ваше XML-тело.
HTTP Trigger
2- Сделайте Http-действие с URL-адресом к Вашему концу мыла, как
abc.asmx
xyz.svc Http Call To Soap End
Не забудьте установить Способ публикации а также Content-Type to text / xml в качестве заголовка.
3- Наконец, Привязать ваш Http Response к ответному действию, установите код состояния и тело. HTTP-статус и тело действия Динамически не забудьте установить тип содержимого Здесь также текст / xml Обратный ответ Действие
4- Наконец, сконфигурируйте прогон After для компонента ответа на sun после HttP Action Даже если Faild, Cancled или time out просто, чтобы передать код состояния для каждого вызова. conf Run After для ответа Действие .
Вот полный вид Полный поток.
Нравится ответ, если это поможет.