在沒有使用Flex框架的情況下,從ActionScript 3調用SOAP Web服務的最佳庫/包/類是什麼?來自AS3的SOAP web服務,沒有Flex?
4
A
回答
0
是否有你不想使用flex庫的原因?根據我的理解,僅將您需要的組件用於應用程序不應導致任何性能問題。
但是看看:http://alducente.wordpress.com/2007/10/27/web-service-in-as3-release-10/
我不知道這是否是最好的,但它已被我的同事的一個建議即
3
推薦閱讀: 先進的ActionScript 3設計模式 喬伊·洛特和丹尼·帕特森 進入一個更好的和完整的解決方案第15章。
我的示例代碼:
private var xmlResults:XML = new URLLoader;
private var urlLoader:URLLoader = new URLLoader();
public function fErrorHandler(e:IOErrorEvent):void {
trace("xml failed!");
}
//when the "loader" event object finishes the loading of the xml file, run other needed functions to process the data
private function fLoaderCompleteHandler(event:Event):void {
trace("xml loaded!!"); //jwt testing
var result2:XML = new XML(urlLoader.data); // loads the xml file data into the xml object
xmlResults = result2; //have the global xml object equal the current data loaded xml object
result2 = null; // dont need current xml object any more so erase it
fParseXML(0); //process the first set of records from the xml object
trace("found xml" + xmlResults.toString());
}
public function fParseXML(intAddNum:Number):void{
//create variables to store the record info
//
var envelope:XML = xmlResults; //XML(urlLoader.data);
var soap:Namespace = envelope.namespace("soap");
var responseN:Namespace = new Namespace("http://www.domain.com/school/ServiceCollege");
var resultL:XMLList = envelope.soap::Body.responseN::HelloTestResponse.responseN::HelloTestResult;
var strTest:String;
//if only one response field will be return by the web service
strTest = resultL;
//do something like this if multiple response feilds will be returned
//strTest = resultL.response::schoolName.toString();
trace("parsing:" + strTest);
trace("done loading:");
}
public function fBeginRequest():void{
var strXMLDataRequest:String
var urlRequest:URLRequest = new URLRequest();
urlRequest.contentType = "text/xml; charset=utf-8";
urlRequest.method = "POST";
urlRequest.url = "http://www.domain.com/school/serviceCollege.asmx";
var soapAction:URLRequestHeader = new URLRequestHeader("SOAPAction","http://www.domain.com/school/ServiceCollege/HelloTest");
urlRequest.requestHeaders.push(soapAction);
strXMLDataRequest = "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">";
strXMLDataRequest = strXMLDataRequest + "<soap:Body>";
strXMLDataRequest = strXMLDataRequest + "<HelloTest xmlns=\"http://www.domain.com/school/ServiceCollege\" />";
strXMLDataRequest = strXMLDataRequest + "</soap:Body>";
strXMLDataRequest = strXMLDataRequest + "</soap:Envelope>";
urlRequest.data = new XML(strXMLDataRequest);
urlLoader.load(urlRequest);
urlLoader.addEventListener(IOErrorEvent.IO_ERROR, fErrorHandler); //add the event to the "loader" object
urlLoader.addEventListener(Event.COMPLETE, fLoaderCompleteHandler); //add the event to the "loader" object
}
SOAP請求:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<HelloTest xmlns="http://www.domain.com/school/ServiceCollege" />
</soap:Body>
</soap:Envelope>
SOAP響應:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<HelloTestResponse xmlns="http://www.domain.com/school/ServiceCollege">
<HelloTestResult>string</HelloTestResult>
</HelloTestResponse>
</soap:Body>
</soap:Envelope>
1
我發現this post非常有用的。 這是一個很好的提示:添加一個swc在Flash中啓用Flex類。
相關問題
- 1. 問題使用Flex從SOAP Web服務
- 2. Android Web服務SOAP
- 3. iPhone Soap Web服務
- 4. SOAP Web服務UI
- 5. SOAP Web服務URL
- 6. Jython SOAP Web服務
- 7. AFNetworking + SOAP Web服務
- 8. java web服務SOAP
- 9. Android SOAP Web服務
- 10. 從SOAP Web服務
- 11. 通過來自PHP的SOAP的Moodle Web服務
- 12. 來自soap web服務(cxf)的返回列表或數組
- 13. 來自SQL Server的SOAP Web服務調用
- 14. 使用來自.NET 3.5的SOAP 1.1 Web服務
- 15. 來自WCF的Web服務
- 16. 帶有Java的SOAP Web服務 - 框架?
- 17. 帶有安全頭的SOAP web服務
- 18. Flex列表顯示來自Web服務的鍵值對
- 19. 來自Java客戶端調用.NET SOAP Web服務的SOAP信封差異
- 20. iOS中的SOAP web服務
- 21. 與symfony的soap web服務
- 22. erlang中的SOAP web服務
- 23. android上的SOAP web服務
- 24. PHP的SOAP Web服務
- 25. 使用SOAP的Web服務
- 26. 通過SOAP的Web服務
- 27. Haskell中的SOAP Web服務?
- 28. 沒有Web服務
- 29. 來自Flex的SOAP請求的問題
- 30. SoapUI沒有得到來自Web服務的響應 - ClassCastException:com.sun.xml.messaging.saaj.soap.impl.TextImpl
謝謝,alducente的東西似乎可以爲我工作。稍後的版本可以在這裏找到:http://labs.alducente.com/gophr/ – 2009-11-11 09:28:09