SOAP-ответ в Flex 4 - PullRequest
       28

SOAP-ответ в Flex 4

0 голосов
/ 24 января 2011

Я работаю с Pingdom API в приложении Flex 4 AIR и использую построитель Data / Services, встроенный в Flash Builder 4. API Pingdom построен на SOAP (на данный момент, по крайней мере), и Flash Builder 4 смог Импортируйте файл WSDL просто отлично, но когда я пытаюсь отправить запрос Auth_login в моем токене, переменная результата равна нулю. Я не уверен, что я смотрю не в том месте, или как. Чтобы быть точным, я смотрю на Auth_loginResult.token.result для значения.

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

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

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

<?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>

Ответы [ 3 ]

0 голосов
/ 22 февраля 2011

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

0 голосов
/ 08 сентября 2012

Даже если этот вопрос был оставлен, кто-то может пройти мимо с тем же вопросом.

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

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

<s:CallResponder id="Auth_loginResult" result="trace(event.result)" error="trace(event)"/>
0 голосов
/ 24 января 2011

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

...