萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> flex調用webservice中的自定義類的方法

flex調用webservice中的自定義類的方法

 flex如何調用webservice中的自定義類,下面有個不錯的示例,不了解的朋友可以參考下

代碼如下: public class ReturnResult  {  public int curIndex { get; set; }  public DataTable idxList { get; set; }  }  //測試數據庫連接  [WebMethod(Description = "!!!測試數據庫連接,鏈接字符串在web.config中")]  public bool conectDB()  {  strCon = ConfigurationSettings.AppSettings["sqlConDuke"];  conn = new SqlConnection(strCon);  try  {  conn.Open();  return true;  }  catch (Exception)  {  return false;  }  finally  {  conn.Close();  }  }    代碼如下: [WebMethod(Description = "根據 <b>照片名</b> 獲得詳細數據(DataTable),strTb,eg:PanView;strImgName,eg:20131019072740-0000150")]  public DataTable getInfoByImgName(string strTb, string strImgName)  {  bool ifCon = conectDB();  if (ifCon)  {  string sql_BfCar = "SELECT * FROM dbo." + strTb + " where ImageName LIKE '%" + strImgName + "%'";  da = new SqlDataAdapter(sql_BfCar, conn);  myds = new DataSet();  da.Fill(myds);  return myds.Tables[0];  }  else  {  return null;  }  }      [WebMethod(Description = "根據 <b>照片名</b> 獲得所在Link的所有數據(ReturnResult),strTb,eg:PanView;strImgName,eg:20131019072740-0000150")]  public ReturnResult getLinkDTByImgName(string strTb, string strImgName)  {  ReturnResult returnResult = new ReturnResult();  bool ifCon = conectDB();  if (ifCon)  {  returnResult.curIndex = Convert.ToInt32(getInfoByImgName(strTb, strImgName).Rows[0][0]);  string strLinkGuid = getInfoByImgName(strTb, strImgName).Rows[0][1].ToString();  string sql_BfCar = "SELECT * FROM dbo." + strTb + " where LinkGuid LIKE '%" + strLinkGuid + "%'";  da = new SqlDataAdapter(sql_BfCar, conn);  myds = new DataSet();  da.Fill(myds);  returnResult.idxList = myds.Tables[0];  return returnResult;  }  else  {  return null;  }  }    Flex代碼:  代碼如下: <?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="955" minHeight="600" creationComplete="application1_creationCompleteHandler(event)">  <fx:Script>  <![CDATA[  import mx.collections.ArrayCollection;  import mx.controls.Alert;  import mx.events.FlexEvent;  import mx.rpc.events.FaultEvent;  import mx.rpc.events.ResultEvent;    public var arr:ArrayCollection=new ArrayCollection();  public var aaa:String=new String();    protected function webservice1_faultHandler(event:FaultEvent):void  {  Alert.show(event.fault.toString());  }  protected function getLinkDTByImgNameHandler(event:ResultEvent):void  {  // aaa=this.myweb.getLinkDTByImgName.lastResult.curIndex;  // arr=this.myweb.getLinkDTByImgName.lastResult.idxList.Tables.Table.Rows;    aaa=event.result.curIndex;  arr=event.result.idxList.Tables.Table.Rows;  Alert.show(aaa+" "+arr.length.toString());  }      protected function application1_creationCompleteHandler(event:FlexEvent):void  {  myweb.getLinkDTByImgName("PanView","20131019072740-0000150");  }    ]]>  </fx:Script>  <fx:Declarations>  <!-- 將非可視元素(例如服務、值對象)放在此處 -->  <s:WebService id="myweb" wsdl="http://10.19.1.55/serverPano/WebServiceDuke.asmx?WSDL" fault="webservice1_faultHandler(event)">  <s:operation name="getLinkDTByImgName" result="getLinkDTByImgNameHandler(event)"></s:operation>  </s:WebService>  </fx:Declarations>  </s:Application>   
copyright © 萬盛學電腦網 all rights reserved