Я вызываю Python script из flex с помощью HTTP-сервиса. Как я могу отправить некоторые значения из приложения python в flex?
Спасибо
Используя HTTPService
, многие люди отправят обратно XML. Иногда они отправляют обратно обычный текст. В обработчике результатов вы должны получить текст, возвращенный из вызова службы, как event.result.
Ваш обработчик результатов может выглядеть примерно так, если вы хотите вернуть XML:
public function onHTTPServiceResult(event:ResultEvent):void{
var myResult : XML = event.result as XML
// process XML in some manner
}
Если вы хотите вернуть обычный текст, это может выглядеть примерно так:
public function onHTTPServiceResult(event:ResultEvent):void{
var myResult : String = event.result as String
// do something with the String value here
}
Единственный раз, когда я использовал последний подход, является то, что возвращаемое значение действительно просто, например, логическое значение (true или false). Единственный раз, когда я использую XML, - это когда я не могу контролировать, что возвращает удаленный сервис. Если это вообще возможно, я пытаюсь использовать AMF Gateway; который автоматически переводит серверные объекты в объекты ActionScript.
Я могу предположить, что вы знаете, как создать службу на Python для вывода XML или текстовых данных.
Это действительно зависит от того, как делается бэкэнд Python, т.е. какой код HTTP-сервера обрабатывает запрос, отправленный из Flex. Вот ссылка на документы Python http.server
, но если веб-сервис выполнен с использованием чего-то другого, например Django, то посмотрите на их docs, или посмотрите предложение PyAMF от George Profenza. Я сам использовал библиотеку PHPAMF, и это делает общение довольно простым, возможно, PyAMF тоже это сделает.
Это не слишком сложно, вы можете попробовать вывести xml из Python, а затем проанализировать это из Flex.
Если вы имеете дело с большим количеством данных, которые могут генерировать большой XML файл, попробуйте PyAMF.
НТН