Pregunta

Estoy trabajando con la API de Pingdom en una aplicación Flex 4 Air, y utilizando el constructor de datos/servicios integrado en Flash Builder 4. La API de Pingdom está construida en SOAP (al menos por ahora), y Flash Builder 4 pudo importar el WSDL Archivo bien, pero cuando intento enviar la solicitud Auth_login en mi token, la variable de resultado es nula. No estoy seguro de si estoy buscando en el lugar equivocado, o qué. Para ser exactos, estoy viendo auth_loginResult.token.result para el valor.

¿Es el token.esult el lugar correcto para mirar? Si el resultado es nulo, es de todos modos descubrir por qué es nulo, lo que significa verificar si el WSDL está disponible o no, ¿y si es una solicitud válida?

Estoy ejecutando un monitor de red en la aplicación para asegurarme de que esté en línea.

Mi código es el siguiente para el proceso de inicio de sesión

<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:pingdomapi="services.pingdomapi.*"
        title="Login">
    <fx:Script>
        <![CDATA[
            import valueObjects.Auth_CredentialsData;


            protected function login(event:MouseEvent):void
            {
                var credentials:Auth_CredentialsData = new Auth_CredentialsData;
                credentials.username = txt_username.text;
                credentials.password = txt_password.text;
                Auth_loginResult.token = pingdomAPI.Auth_login('****',credentials);
                trace(Auth_loginResult.token.result);
            }
        ]]>
    </fx:Script>
    <fx:Declarations>
        <s:CallResponder id="Auth_loginResult"/>
        <pingdomapi:PingdomAPI id="pingdomAPI"/>
    </fx:Declarations>
    <s:Label x="10" y="10" text="Username"/>
    <s:TextInput id="txt_username" x="10" y="41" text="david.long@cagedata.com"/>
    <s:Label x="10" y="104" text="Password"/>
    <s:TextInput id="txt_password" x="10" y="135" displayAsPassword="true" text="Simpsons#1"/>
    <s:Button id="btn_login" y="198" right="30" label="Login" click="login(event)"/>
</s:View>
¿Fue útil?

Solución 2

Después de dejar que esta pregunta se repita, la cerraré, ya que se mueve, hay un error con el Pingdom API WSDL. Informaré el error y espero verlo arreglado en el futuro con su próxima API REST.

Otros consejos

De acuerdo a este, debería estar buscando el elemento SessionID del auth_loginResponse.

Aunque esta pregunta ha sido abandonada, alguien podría pasar con la misma pregunta.

La razón por la que el resultado es nulo es que la llamada es asíncrona. La respuesta aún no había llegado, cuando Dave intentó rastrearla.

En su lugar, rastree el manejador de resultados y/o errores del Auth_loginResult CallSponder, como este:

<s:CallResponder id="Auth_loginResult" result="trace(event.result)" error="trace(event)"/>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top