如果你已经通过CFMX的cfc试验成功了自己的WebService Flash调用的. 哪我们再来一个例子,巩固一下.
例子图:
 源码下载 明白人就知道.这是使用数据库交互的.这是一个查询分数的例子.
所以之前你要建立一个ODBC的名为school的数据库.并建立一个card表, 字段: id (学号) student (学生名) chinese (语文成绩) math (数学) englist (英语)
cfc文件:cordequery.cfc<cfcomponent> <cffunction name="cardquery" returnType="query" access="remote"> <cfargument name="student_name" type="string"> <cfquery name="myq" datasource="school"> SELECT id as 学号,student as 学员,chinese as 语文,math as 数学,english as 英语,(chinese+math+english) as 总分 FROM card WHERE student Like '%#student_name#%' </cfquery> <cfreturn myq> </cffunction> </cfcomponent>
<cffunction>函数返回类形,不会是string,因为是数据库查询,就要用query
<cfquery>是名为myq的数据对象执行的是一个数据库SQL请求,请求的对象参数是定义好的student_name,并且执行模糊查询 如果不懂CF和SQL,请学习几天.不然当天书看可不好.
执行完数据库查询将返回 myq这个数据对象.这是一个集合.所以不会是string类形.在wsdl里面叫QueryBean,是个Array对象这里我也只建立一个请求和一个返回的wsdl文档,以便清楚.好了现在可以生成你的wsdl文档,并且分析了按我前面说的方法.只找message和portType.这是关键 <wsdl:message name="cardqueryResponse"> <wsdl:part name="cardqueryReturn" type="tns1:QueryBean" /> </wsdl:message> <wsdl:message name="CFCInvocationException"> <wsdl:part name="fault" type="tns1:CFCInvocationException" /> </wsdl:message> <wsdl:message name="cardqueryRequest"> <wsdl:part name="student_name" type="xsd:string" /> </wsdl:message> <wsdl:portType name="cardquery"> <wsdl:operation name="cardquery" parameterOrder="student_name"> <wsdl:input name="cardqueryRequest" message="impl:cardqueryRequest" /> <wsdl:output name="cardqueryResponse" message="impl:cardqueryResponse" /> <wsdl:fault name="CFCInvocationException" message="impl:CFCInvocationException" /> </wsdl:operation> </wsdl:portType> portType 是 cardquery, Request是 student_name, Reponse是 QueryBean的一个集合.
不明白不要紧.看懂wsdl不是一天两天的事.这个是简单的.N多方法,请求,返回的wsdl哪才叫天书呢.我们只要理解就行了.我们不是要做软件或是WEB商店.而只是运用FLASH,一般的wsdl运用已经行了.而且FLASH的WebServiceConnectior组件能读出你的wsdl的所有方法,请求,返回值,只要wsdl是你自己做出来的.不难运用.要是运用别人的大形的WEB服务.就要好好读读wsdl里的东西了.
出处:蓝色理想
责任编辑:handmade
上一页 PART 2 正文 [3] 下一页 PART 3 一个实例 [2]
◎进入论坛Flash专栏版块参加讨论
|