¿Por qué este Flex & # 8220; Hello World & # 8221; ¿La aplicación no recoge el resultado de mi llamada de servicio HTTPS remota?

StackOverflow https://stackoverflow.com/questions/800459

Pregunta

Cuando voy a http: // localhost: 3000 / hello / sayhello , las salidas de Rails:

hello world!

como HTML.

Pero cuando ejecuto este control remoto Flex " Hello World " En la aplicación, veo un botón y un cuadro de texto, pero no recoge la salida de la llamada HTTPService a mi URL de Rails. ¿Alguna idea de por qué?

<?xml version="1.0" encoding="utf-8"?>
<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml"
    layout="vertical"
    backgroundGradientColors="[#ffffff, #c0c0c0]"
    width="100%"
    height="100%">
    <mx:HTTPService
        id="helloSvc"
        url="http://localhost:3000/hello/sayhello"
        method="POST" resultFormat="text"/>
    <mx:Button label="call hello service"
        click="helloSvc.send()"/>
    <mx:TextInput text="{helloSvc.lastResult}"/>
</mx:Application>
¿Fue útil?

Solución

Copié y pegué su código en una nueva aplicación Flex, modificando la URL para que apunte a una secuencia de comandos que funciona con aplicaciones Flex, y funcionó bien.

También cambié mi script del lado del servidor para imprimir 'hello world' con una nueva línea, y eso también funcionó bien.

Su código Flex parece estar funcionando bien con texto plano, pero obviamente algo no se conecta entre la pantalla de datos y los datos en sí. No tengo experiencia con Rails, pero me pregunto si su servidor está generando datos que no se pueden analizar, y se están tragando cualquier excepción.

Aquí está mi sugerencia: cambie su script 'sayhello' para que simplemente imprima un encabezado de contenido y 'hello world', todo en texto plano. Asegúrese de que salga en el navegador y luego vea si también funciona en la aplicación Flex. Si lo hace, su aplicación Rails probablemente esté generando contenido que debe analizarse, en lugar de simplemente establecerse en la entrada de texto. Si no es así, tendrás que hacer más depuración.

Por cierto, probé esto con salida de texto plano y salida de XML. En ambos intentos, pude ver el contenido en el campo de entrada de texto.

Otros consejos

No soy positivo, ya que no puedo ver el XML con el que su servicio respondería, pero creo que probablemente sea una de dos cosas:

1) No tiene ningún elemento para formatear la solicitud a su servicio. Mira esto para ver una plantilla ... Ayuda Flex 3

Eso podría ocasionar que la solicitud nunca se realice correctamente o que su servicio se ahogue con la solicitud y nunca devuelva un resultado. Tendría que depurar el servicio para ver cómo maneja la solicitud.

2) Su servicio está devolviendo un resultado XML con espacios de nombres. En ese caso, deberá consultar Otra Ayuda de Flex 3 sobre cómo manejar los resultados XML en el formato e4x.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top