2011-01-24 22 views
0

私はFlex 4 AIRアプリケーションのPingdom APIを使用し、Flash Builder 4に組み込まれているData/Services Builderを使用しています。PingdomのAPIはSOAP(現在は少なくとも)、Flash Builder 4はWSDLファイルを正常にインポートできましたが、トークンでAuth_loginリクエストを送信しようとすると、結果変数はnullになります。私が間違った場所で探しているのかどうか分からない。正確には、値のAuth_loginResult.token.resultを見ています。Flex 4のSOAP応答4

token.resultは見た目が正しいですか? resultがnullの場合は、どうしてWSDLが使用可能かどうかをチェックし、有効なリクエストであるかどうかを調べることを意味します。

私はアプリでネットモニタを実行して、オンラインであることを確認しています。

私のコードはthisによると、あなたはAuth_LoginResponseのセッションID要素を探している必要がありますログインプロセス

<?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="[email protected]"/> 
    <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> 
+0

そして、あなたの質問は何ですか?具体的にする。 – weltraumpirat

+0

申し訳ありません実際の質問を追加しました。 –

+0

あなたが助けてくれるいくつかのコードを示した場合。 ServiceCaptureやFlash Builderネットワークモニタなどのツールを試して、実際にWebServiceに送信しているものと戻ってきたものを確認することができます。 – JeffryHouser

答えて

0

この問題を解決した後、私はPingdom API WSDLにエラーがありますので、これを閉じます。エラーを報告し、今後のREST APIで将来修正されることを期待します。

0

ために、次のようです。

+0

sessionid要素はありません。また、ステータス要素もありません。 nullを返すだけです。 SOAP-UIにWSDLをインポートしようとしましたが、null例外が返されました。 –

0

この質問は放棄されていますが、誰かが同じ質問で合格する可能性があります。

結果がnullの理由は、呼び出しが非同期であることです。 Daveがそれを追跡しようとしたとき、応答はまだ到着していなかった。

代わりに、このような結果および/またはAuth_loginResult CallResponderのエラーハンドラ、トレース:

<s:CallResponder id="Auth_loginResult" result="trace(event.result)" error="trace(event)"/>