Вопрос

Я работаю с API Pingdom API в приложении Flex 4 Air и использую строитель данных/сервис, встроенный в Flash Builder 4. API Pingddom построен на SOAP (по крайней мере, на данный момент), и Flash Builder 4 смог импортировать WSDL Файл просто отлично, но когда я пытаюсь отправить запрос auth_login в мой токен, переменная результата равна нуле. Я не уверен, смотрю ли я не в том месте или как. Точно, я смотрю на auth_loginresult.token.result для значения.

Токен. Обратите внимание правильное место для поиска? Если результат является нулевым в любом случае, чтобы выяснить, почему он нулевой, что означает проверку, доступен ли WSDL или нет, и если это действительный запрос?

Я использую сетевой монитор в приложении, чтобы убедиться, что оно онлайн.

Мой код выглядит следующим образом для процесса входа в систему

<?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>
Это было полезно?

Решение 2

После того, как я позволил этому вопросу сесть, я собираюсь закрыть его, так как он будет оборудовать, есть ошибка с API Pingdom API. Я сообщу об ошибке и надеюсь увидеть ее в будущем с их предстоящим API REST.

Другие советы

Согласно с это, вы должны искать сеанс -элемент Auth_loginResponse.

Несмотря на то, что этот вопрос был заброшен, кто -то может пройти мимо того же вопроса.

Причина, по которой результат является нулевым, заключается в том, что вызов асинхронно. Ответ еще не прибыл, когда Дейв попытался проследить его.

Вместо этого следите за результатом и/или обработчиком ошибок Auth_loginResult callresponder, например:

<s:CallResponder id="Auth_loginResult" result="trace(event.result)" error="trace(event)"/>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top