我試圖從AS3 Flash應用程序調用寫在nuSoap中的webservice;我讀過,從AS3開始,web服務支持已經在Flash中刪除(真的不明白爲什麼...);我已經嘗試了一些派對解決方案(be.wellconsidered,carlo alducente),但他們不適用於nusoap產生的wsdl。 我真的很擔心,我必須使用Flash而不是Flex,任何人都可以幫助我嗎?如何從Flash中使用nusoap web服務
在此先感謝 c。
我試圖從AS3 Flash應用程序調用寫在nuSoap中的webservice;我讀過,從AS3開始,web服務支持已經在Flash中刪除(真的不明白爲什麼...);我已經嘗試了一些派對解決方案(be.wellconsidered,carlo alducente),但他們不適用於nusoap產生的wsdl。 我真的很擔心,我必須使用Flash而不是Flex,任何人都可以幫助我嗎?如何從Flash中使用nusoap web服務
在此先感謝 c。
它不是輕量級的(它爲swf添加了類似130 Kb的內容),但是您可以在Actionscript項目中使用Flex的Webservice api,而不需要任何黑魔法,除了手動添加必要的swc。
我自己做過這件事,並沒有任何問題。我已經添加了flex.swc,framework.swc,rpc.swc和utilities.swc(加上locale文件夾中的所有swc)。雖然我沒有付出太多的努力,但實際上,只是添加了我在SDK中找到的所有swc,直到編譯完成。由於編譯器只會添加引用的類,因此它不應該有太大的區別,而且它很快捷。
我粘貼一些代碼,也許它的幫助(大部分的例子我發現使用mxlm):
private function setupWebService():void {
_ws = new WebService();
_ws.addEventListener(LoadEvent.LOAD,handleWsdlLoad);
_ws.getFeeds.addEventListener(InvokeEvent.INVOKE,handleGetFeedsInvoke);
_ws.getFeeds.addEventListener(ResultEvent.RESULT,handleGetFeedsResult);
_ws.getFeeds.addEventListener(FaultEvent.FAULT,handleGetFeedsFault);
_ws.loadWSDL(_wsdlUrl);
}
// at some point, call this method; not sure if you have to wait until wsdl is loaded
// I think it's not necessary; if I recall correctly, all calls are enqueued
private function testGetFeeds():void {
_ws.getFeeds("some_param");
}
希望它能幫助。
PS。這是我在代碼中提到的WebService類:
import mx.rpc.soap.WebService;
非常感謝! – Cris 2010-07-20 13:14:44
當然,沒問題! – 2010-07-20 13:23:57