Flex - บริการ RPC
Flex ให้บริการ RPC เพื่อให้ข้อมูลฝั่งเซิร์ฟเวอร์ไปยังฝั่งไคลเอ็นต์ Flex ให้การควบคุมข้อมูลฝั่งเซิร์ฟเวอร์ในระดับที่เหมาะสม
การใช้บริการ Flex RPC เราสามารถกำหนดการดำเนินการของผู้ใช้ที่จะดำเนินการทางฝั่งเซิร์ฟเวอร์
Flex RPC Sservices สามารถรวมเข้ากับเทคโนโลยีฝั่งเซิร์ฟเวอร์ใดก็ได้
หนึ่งในบริการ Flex RPC ให้การสนับสนุนในตัวสำหรับข้อมูลไบนารีที่บีบอัดเพื่อถ่ายโอนผ่านสายและค่อนข้างเร็ว
Flex ให้บริการ RPC สามประเภทดังต่อไปนี้
ซีเนียร์ No | บริการ RPC และคำอธิบาย |
---|---|
1 | HttpService แท็ก <mx: HTTPService> ใช้แทนอ็อบเจ็กต์ HTTPService ในไฟล์ MXML เมื่อคุณโทรไปยังเมธอด send () ของอ็อบเจ็กต์ HTTPService จะทำการร้องขอ HTTP ไปยัง URL ที่ระบุและการตอบกลับ HTTP จะถูกส่งกลับคุณยังสามารถใช้เมธอด HTTP HEAD, OPTIONS, TRACE และ DELETE |
2 | WebService <mx: WebService> ใช้เพื่อเข้าถึงการทำงานของบริการเว็บที่สอดคล้องกับ SOAP |
3 | RemoteObject แท็ก <mx: RemoteObject> ใช้เพื่อแสดงอ็อบเจ็กต์ HTTPService ในไฟล์ MXML แท็กนี้ให้คุณเข้าถึงเมธอดของอ็อบเจ็กต์ Java โดยใช้การเข้ารหัส Action Message Format (AMF) |
เราจะพูดถึงบริการ HTTP โดยละเอียด เราจะใช้ไฟล์ต้นฉบับ XML ที่วางไว้ที่เซิร์ฟเวอร์และเข้าถึงที่ฝั่งไคลเอ็นต์ผ่าน HTTP Service
Items.xml
<items>
<item name = "Book" description = "History of France"></item>
<item name = "Pen" description = "Parker Pen"></item>
<item name = "Pencil" description = "Stationary"></item>
<items>
การประกาศบริการ HTTPS
ตอนนี้ประกาศ HTTPService และส่ง url ของไฟล์ด้านบน
<fx:Declarations>
<mx:HTTPService id = "itemRequest"
url = "http://www.tutorialspoint.com/flex/Items.xml" />
</fx:Declarations>
RPC โทร
ทำการเรียกใช้เมธอด itemRequest.send () และผูกค่าจากออบเจ็กต์ lastResult ของเว็บเซิร์ฟเวอร์ itemRequest กับคอมโพเนนต์ Flex UI
...
itemRequest.send();
...
<mx:DataGrid id = "dgItems" height = "80%" width = "75%"
dataProvider = "{itemRequest.lastResult.items.item}">
<mx:columns>
<mx:DataGridColumn headerText = "Name" dataField = "name" />
<mx:DataGridColumn headerText = "Description" dataField = "description" />
</mx:columns>
</mx:DataGrid>
ตัวอย่างการเรียกใช้บริการ RPC
ตอนนี้ให้เราทำตามขั้นตอนเพื่อทดสอบบริการ RPC ในแอปพลิเคชัน Flex -
ขั้นตอน | คำอธิบาย |
---|---|
1 | สร้างโครงการที่มีชื่อHelloWorldภายใต้แพคเกจcom.tutorialspoint.clientตามที่อธิบายไว้ในFlex - สร้างแอพลิเคชันบท |
2 | แก้ไขHelloWorld.mxmlตามที่อธิบายด้านล่าง เก็บไฟล์ที่เหลือไว้ไม่เปลี่ยนแปลง |
3 | คอมไพล์และเรียกใช้แอปพลิเคชันเพื่อให้แน่ใจว่าตรรกะทางธุรกิจทำงานได้ตามข้อกำหนด |
ต่อไปนี้เป็นเนื้อหาของไฟล์ mxml ที่แก้ไข src/com.tutorialspoint/HelloWorld.mxml.
<?xml version = "1.0" encoding = "utf-8"?>
<s:Application xmlns:fx = "http://ns.adobe.com/mxml/2009"
xmlns:s = "library://ns.adobe.com/flex/spark"
xmlns:mx = "library://ns.adobe.com/flex/mx"
minWidth = "500" minHeight = "500" creationComplete = "init(event)">
<fx:Style source = "/com/tutorialspoint/client/Style.css" />
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
protected function init(event:FlexEvent):void {
itemRequest.send();
}
]]>
</fx:Script>
<fx:Declarations>
<mx:HTTPService id = "itemRequest"
url = "http://www.tutorialspoint.com/flex/Items.xml" />
</fx:Declarations>
<s:BorderContainer width = "630" height = "480" id = "mainContainer"
styleName = "container">
<s:VGroup width = "100%" height = "100%" gap = "10"
horizontalAlign = "center" verticalAlign = "middle">
<s:Label id = "lblHeader" text = "RPC Service Demonstration"
fontSize = "40" color = "0x777777" styleName = "heading" />
<s:Panel id = "parentPanel" title = "Using RPC Services"
width = "500" height = "200" >
<s:layout>
<s:VerticalLayout gap = "10"
verticalAlign = "middle" horizontalAlign = "center" />
</s:layout>
<mx:DataGrid id = "dgItems" height = "80%" width = "75%"
dataProvider = "{itemRequest.lastResult.items.item}">
<mx:columns>
<mx:DataGridColumn headerText = "Name" dataField = "name" />
<mx:DataGridColumn headerText = "Description"
dataField = "description" />
</mx:columns>
</mx:DataGrid>
</s:Panel>
</s:VGroup>
</s:BorderContainer>
</s:Application>
เมื่อคุณพร้อมกับการเปลี่ยนแปลงทั้งหมดแล้วให้เรารวบรวมและเรียกใช้แอปพลิเคชันในโหมดปกติเหมือนที่เราทำในบทFlex - Create Application หากทุกอย่างเรียบร้อยกับแอปพลิเคชันของคุณแอปพลิเคชันของคุณจะให้ผลลัพธ์ดังต่อไปนี้: [ ลองใช้งานออนไลน์ ]