SOAP di risposta in Flex 4
-
23-10-2019 - |
Domanda
Sto lavorando con l'API Pingdom in Flex 4 AIR Applicazione, e l'utilizzo dei dati / servizi di costruttore integrato nella API di Flash Builder 4. Pingdom è costruito su SOAP (per ora almeno), e Flash Builder 4 stato in grado di importare il file WSDL bene, ma quando provo a trasmettere la richiesta Auth_login nel mio gettone variabile di risultato è nullo. Non sono sicuro se sto cercando nel posto sbagliato, o che cosa. Per essere esatti sto guardando Auth_loginResult.token.result per il valore.
E 'token.result il posto giusto per guardare? Se il risultato è nullo è la loro in ogni modo di capire il motivo per cui è nullo, il che significa verificare se il WSDL è disponibile o no, e se si tratta di una richiesta valida?
Sono in esecuzione di un monitor netta l'applicazione per assicurarsi che sia in linea.
Il mio codice è il seguente per il processo di login
<?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>
Soluzione 2
Dopo aver fatto questa domanda sedersi ho intenzione di chiuderlo, come cuciture c'è un errore con la Pingdom API WSDL. Io segnalare l'errore e la speranza di vederlo risolto in futuro con il loro prossimo API REST.
Altri suggerimenti
questo , si dovrebbe essere alla ricerca per l'elemento della sessionId Auth_LoginResponse.
Anche se questa domanda è stata abbandonata, qualcuno potrebbe passare con la stessa domanda.
La ragione per cui il risultato è nullo, è che la chiamata è asincrona. La risposta non era ancora arrivato, quando Dave ha cercato di rintracciarlo.
Invece, tracce nel risultato e / o gestore degli errori del Auth_loginResult CallResponder, in questo modo:
<s:CallResponder id="Auth_loginResult" result="trace(event.result)" error="trace(event)"/>