Flex亲密接触java

flex和java工程可以集成到一起。但这个动作,至少要下载eclipse的plug-in。我要演示的是在flex builder3中建立独立的flex工程,然后在eclipse里建立独立的webservice服务。两者松散耦合,只需要webservice接口连接。

直接进入主题,看看java的webservice。

定义一个接口和一个实现:

    packagemars.flex;publicinterfaceITest{publicStringtest();publicStringsum(inta,intb);publicStringsum1(String[]s);}

    packagemars.flex;publicclassTestimplementsITest{publicStringsum1(String[]ss){intresult=0;for(Strings:ss){intn=0;try{n=Integer.parseInt(s);result+=n;}catch(Exceptione){}}return”thesumis:”+result;}publicStringsum(inta,intb){intsum=a+b;return”thesumis:”+sum;}publicStringtest(){return”javawebservicewelcome!”;}}

发布到tomcat下,地址为:http://localhost:8888/ws4flex/services/ws4flex?wsdl

    <wsdl:definitionstargetNamespace=”http://flex.mars”>?<wsdl:types>?<xsd:schemaattributeFormDefault=”qualified”elementFormDefault=”qualified”targetNamespace=”http://flex.mars”>?<xsd:elementname=”sum”>?<xsd:complexType>?<xsd:sequence><xsd:elementmaxOccurs=”1″minOccurs=”1″name=”in0″type=”xsd:int”/><xsd:elementmaxOccurs=”1″minOccurs=”1″name=”in1″type=”xsd:int”/></xsd:sequence></xsd:complexType></xsd:element>?<xsd:elementname=”sumResponse”>?<xsd:complexType>?<xsd:sequence><xsd:elementmaxOccurs=”1″minOccurs=”1″name=”out”nillable=”true”type=”xsd:string”/></xsd:sequence></xsd:complexType></xsd:element>?<xsd:elementname=”test”><xsd:complexType/></xsd:element>?<xsd:elementname=”testResponse”>?<xsd:complexType>?<xsd:sequence><xsd:elementmaxOccurs=”1″minOccurs=”1″name=”out”nillable=”true”type=”xsd:string”/></xsd:sequence></xsd:complexType></xsd:element>?<xsd:complexTypename=”ArrayOfString”>?<xsd:sequence><xsd:elementmaxOccurs=”unbounded”minOccurs=”0″name=”string”nillable=”true”type=”xsd:string”/></xsd:sequence></xsd:complexType>?<xsd:elementname=”sum1″>?<xsd:complexType>?<xsd:sequence><xsd:elementmaxOccurs=”1″minOccurs=”1″name=”in0″nillable=”true”type=”tns:ArrayOfString”/></xsd:sequence></xsd:complexType></xsd:element>?<xsd:elementname=”sum1Response”>?<xsd:complexType>?<xsd:sequence><xsd:elementmaxOccurs=”1″minOccurs=”1″name=”out”nillable=”true”type=”xsd:string”/></xsd:sequence></xsd:complexType></xsd:element></xsd:schema></wsdl:types>?<wsdl:messagename=”sumRequest”><wsdl:partname=”parameters”element=”tns:sum”></wsdl:part></wsdl:message>?<wsdl:messagename=”sumResponse”><wsdl:partname=”parameters”element=”tns:sumResponse”></wsdl:part></wsdl:message>?<wsdl:messagename=”sum1Request”><wsdl:partname=”parameters”element=”tns:sum1″></wsdl:part></wsdl:message>?<wsdl:messagename=”testResponse”><wsdl:partname=”parameters”element=”tns:testResponse”></wsdl:part></wsdl:message>?<wsdl:messagename=”sum1Response”><wsdl:partname=”parameters”element=”tns:sum1Response”></wsdl:part></wsdl:message>?<wsdl:messagename=”testRequest”><wsdl:partname=”parameters”element=”tns:test”></wsdl:part></wsdl:message>?<wsdl:portTypename=”ws4flexPortType”>?<wsdl:operationname=”sum”><wsdl:inputname=”sumRequest”message=”tns:sumRequest”></wsdl:input><wsdl:outputname=”sumResponse”message=”tns:sumResponse”></wsdl:output></wsdl:operation>?<wsdl:operationname=”test”><wsdl:inputname=”testRequest”message=”tns:testRequest”></wsdl:input><wsdl:outputname=”testResponse”message=”tns:testResponse”></wsdl:output></wsdl:operation>?<wsdl:operationname=”sum1″><wsdl:inputname=”sum1Request”message=”tns:sum1Request”></wsdl:input><wsdl:outputname=”sum1Response”message=”tns:sum1Response”></wsdl:output></wsdl:operation></wsdl:portType>?<wsdl:bindingname=”ws4flexHttpBinding”type=”tns:ws4flexPortType”><wsdlsoap:bindingstyle=”document”transport=”http://schemas.xmlsoap.org/soap/http”/>?<wsdl:operationname=”sum”><wsdlsoap:operationsoapAction=””/>?<wsdl:inputname=”sumRequest”><wsdlsoap:bodyuse=”literal”/></wsdl:input>?<wsdl:outputname=”sumResponse”><wsdlsoap:bodyuse=”literal”/></wsdl:output></wsdl:operation>?<wsdl:operationname=”test”><wsdlsoap:operationsoapAction=””/>?<wsdl:inputname=”testRequest”><wsdlsoap:bodyuse=”literal”/></wsdl:input>?<wsdl:outputname=”testResponse”><wsdlsoap:bodyuse=”literal”/></wsdl:output></wsdl:operation>?<wsdl:operationname=”sum1″><wsdlsoap:operationsoapAction=””/>?<wsdl:inputname=”sum1Request”><wsdlsoap:bodyuse=”literal”/></wsdl:input>?<wsdl:outputname=”sum1Response”><wsdlsoap:bodyuse=”literal”/></wsdl:output></wsdl:operation></wsdl:binding>?<wsdl:servicename=”ws4flex”>?<wsdl:portname=”ws4flexHttpPort”binding=”tns:ws4flexHttpBinding”><wsdlsoap:addresslocation=”http://localhost:8888/ws4flex/services/ws4flex”/></wsdl:port></wsdl:service></wsdl:definitions>

这里定义了三个方法:

test()是最简单的测试通信。sum(int a,int b)测试传入两个参数时,通信问题。sum1(String[] s)测试数组参数是否能被正确传递。

下面,我们来看看flex工程。

    <?xmlversion=”1.0″encoding=”utf-8″?><mx:Applicationxmlns:mx=”http://www.adobe.com/2006/mxml”layout=”absolute”fontSize=”13″><mx:Script><![CDATA[importmx.rpc.events.ResultEvent;//引用ResultEvent类importmx.controls.Alert;//引用Alert类importModel4ws;privatefunctionwsHandle(e:ResultEvent):void{lbl.text=e.resultasString;//显示返回数据}privatefunctiontestclk():void{ws4flex.test.send();}privatefunctionsumclk():void{ws4flex.sum.send();}privatefunctionsum1clk():void{ws4flex.sum1.send();}]]></mx:Script><mx:Paneltitle=”和java的WebService交互”horizontalAlign=”center”verticalAlign=”middle”width=”433″height=”196″><mx:Labelid=”given”textAlign=”center”width=”378″height=”24″text=””/><mx:Labelid=”lbl”textAlign=”center”width=”378″height=”24″/></mx:Panel><mx:WebServiceid=”ws4flex”showBusyCursor=”true”wsdl=”http://localhost:8888/ws4flex/services/ws4flex?wsdl”fault=”Alert.show(event.fault.faultString,’Error’)”><mx:operationname=”test”result=”wsHandle(event);”></mx:operation><mx:operationname=”sum”result=”wsHandle(event);”><mx:request><in0>1</in0><in1>2</in1></mx:request></mx:operation><mx:operationname=”sum1″result=”wsHandle(event);”><mx:request><in0>[1,2,3,4,5]</in0></mx:request></mx:operation></mx:WebService><mx:Buttonx=”57″y=”226″label=”test”click=”testclk()”fillAlphas=”[1.0,1.0]”fillColors=”[#1BD8AE,#1BD8AE]”/><mx:Buttonx=”164″y=”226″label=”sum”click=”sumclk()”fillAlphas=”[1.0,1.0]”fillColors=”[#305EB3,#305EB3]”color=”#BFDEE5″/><mx:Buttonx=”281″y=”226″label=”sum1″click=”sum1clk()”borderColor=”#E9C935″fillAlphas=”[1.0,1.0]”fillColors=”[#F05408,#F05408]”/></mx:Application>

mx:WebService用来定义webservice调用。mx:operation定义webservice中调用的方法。mx:request 定义该方法需要哪些参数

最后看看效果

的这一半更多地赢取上帝掌握的那一半。

Flex亲密接触java

相关文章:

你感兴趣的文章:

标签云:

亚洲高清电影在线, 免费高清电影, 八戒影院夜间, 八戒电影最新大片, 出轨在线电影, 午夜电影院, 在线影院a1166, 在线电影院, 在线观看美剧下载, 日本爱情电影, 日韩高清电影在线, 电影天堂网, 直播盒子app, 聚合直播, 高清美剧, 高清美剧在线观看 EhViewer-E站, E站, E站绿色版, qqmulu.com, qq目录网, qq网站目录,