2009-06-11 9 views
1

Flashで新しく、AS2を使用してFlash CS3から作成した.net Webメソッドにアクセスしようとしています。問題は私がこの仕事をすることができないということです。actionscript 2.0を使用してWebサービスのメソッドを呼び出す方法

var myXml:XML = new XML(); 

public var service:WebService = new WebService(); 

service.wsdl = "http://pathToYourWsdl"; 
service.SomeWebMethod.resultFormat = "e4x"; 
service.SomeWebMethod.addEventListener("result", resultHandler); 
service.SomeWebMethod.addEventListener("fault", faultHandler); 
service.addEventListener(LoadEvent.LOAD, serviceLoadHandler); 

service.loadWSDL(); 

protected function serviceLoadHandler(event:LoadEvent):void 
{ 
    service.SomeWebMethod.send(); 
} 

protected function resultHandler(event:ResultEvent):void 
{ 
    myXML = XML(event.result); 
} 

protected function faultHandler(event:FaultEvent):void 
{ 
    // Handle a service fault here. 
} 

この:ここで私が過去に使用したコードとの一例だ、

ブライアン

答えて

1

import mx.services.*; 

var myXml:XML = new XML(); 

var ws1:WebService = new WebService("http://localhost/manyworlds/mwframework/webservices/statisticscharts.asmx?wsdl"); 

ws1.onLoad = function(wsdl:Object){ 
     trace("Load"); 
      //Web method that retrieves a XML. 
     myXml = ws1.GetTopicsForStatistics(); 
     myXml.load(); 
}; 

ありがとう:

コードは以下のとおりです。コードはすべてのサービス呼び出しを非同期的に処理し、メソッド呼び出しの結果をXMLに割り当てます。v ariable。それはかなり自己説明的です。 "SomeWebMethod"はあなたのサービスで呼び出すWebメソッドの名前になります。それはパラメータを必要とする場合、彼らはそうのように追加されます:

service.SomeWebMethod.send(param1, param2, ...); 
+0

ジャスティン、あなたの迅速な答えを 感謝を。 私はまだこの作業を行うことはできません。私はsoap webサービス(import mx.rpc.soap.WebService)のために必要なインポートを追加すると、このクラスができないというエラーが出るので、flexまたはflash cs3だけで動作するかどうかは分かりませんロードされる。 ご意見はありますか? ご協力いただきありがとうございます。 Brian –

+1

Flex 2 SDKをダウンロードし、WebServiceクラスをFlashクラスパス設定に追加する必要があります。 –

+0

これは厳密にAS3コードのようですか? – Panzercrisis