| 如果你已经通过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专栏版块参加讨论
	      |