偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Symbian學習筆記(19)

系統(tǒng)
有人問使用wsdl2cpp生成代碼,才知道原來symbian提供了一個輔助工具來生成webservice client的代碼,比起我上回折騰的自己參考AddressBook例子做的webservice客戶端要簡單多了,類似于gSOAP的使用。
有人問使用wsdl2cpp生成代碼,才知道原來symbian提供了一個輔助工具來生成webservice client的代碼,比起我上回折騰的自己參考AddressBook例子做的webservice客戶端要簡單多了,類似于gSOAP的使用。

  首先,去forum.nokia.com.cn搜一下WSDL-to-C++_for_S60,這是用于Carbice Vs的工具,不過也可以獨立安裝,用命令行來生成所需要的代碼。下載安裝即可。

  第二步,運行它的wsdl2cpp工具,得到一些源代碼,不過它比gSOAP弱智一點點,不能直接給出一個wsdl的URL,所以最好將wsdl下載到本地,給它一個文件名即可:

wsdl2cpp --callback-class PServiceConsumer --include-dir .\work\inc --source-dir .\work\src pservice.wsdl

  這樣我們會在當前目錄下的work/src和work/inc下得到它生成的頭與源文件,實現(xiàn)的原理仍是用的Symbian內置的Web Service API來做的。將這些代碼弄到工程里去。

  第三步,工程里新增了代碼,修改mmp,與直接使用這些API一樣,總之,這個工具只是幫助我們生成了源碼框架,比較方便罷了。不過額外有一點增加的地方是:

LIBRARY     XmlDataBinding.lib USERINCLUDE  \epoc32\include\libc USERINCLUDE  \epoc32\include\xmldatabinding

  這里的xmldatabinding是新的東西,所以之前需要安裝,在安裝wsdl-to-c++工具后,有一個XmlDataBinding.zip在它的目錄下,打開解到相應的epoc32目錄里去即可。它包括了lib和一些頭文件。

  并且,在手機跑,應該將XmlDataBinding.sis也安裝一下,從這一點看,似乎比gSOAP要麻煩一點了。

  第四步,現(xiàn)在開始動手修改代碼,很簡單了。

  1. private:   
  2.   
  3.     // Data   
  4.   
  5.   
  6.   
  7.     CHelloWSThreeAppView* iAppView;   
  8.   
  9.   
  10.   
  11.     CPServiceService * iService;   
  12.   
  13.     CPServiceConsumer * iObserver; 

  在頭文件里增加iService和iObserver就可以了,CPP中有兩步,一是初始化連接,二是遠程調用方法:

  1. //這里初始化代碼   
  2.   
  3. CSenXmlServiceDescription *pServiceDesc = CSenXmlServiceDescription::NewLC(KServiceEndpoint, KNullDesC8());    
  4.   
  5.         pServiceDesc->SetFrameworkIdL(KDefaultBasicWebServicesFrameworkID);    
  6.   
  7.             
  8.   
  9.         iObserver = CPServiceConsumer::NewLC();    
  10.   
  11.         iService = CPServiceService::NewLC(*iObserver,*pServiceDesc);   
  12.   
  13.            
  14.   
  15.         _LIT(KStr,"Init service.");   
  16.   
  17.         LOG(KStr);   
  18.   
  19.   
  20.   
  21.   
  22.   
  23. //這里遠程調用代碼   
  24.   
  25. if(iObserver->iStatus==KSenConnectionStatusReady){   
  26.   
  27.                 RHelloWorld aHello;   
  28.   
  29.                 RHelloWorldResponse aHelloResp;   
  30.   
  31.                    
  32.   
  33.                 TRAPD(error,aHelloResp=iService->HelloWorldL(aHello));   
  34.   
  35.                 if(error){         
  36.   
  37.                     RDebug::Printf("error %d",error);   
  38.   
  39.                 }   
  40.   
  41.                 TBuf<64> buf;   
  42.   
  43.                 buf.Copy(aHelloResp.iHelloWorldResult);   
  44.   
  45.                 _LIT(KStr,"result is %S");   
  46.   
  47.                 LOG_FORMAT((KStr,buf));   
  48.   
  49.         }  

 

  這樣就好了,當然析構時要刪除這些成員變量。

  總結一下,其實我用三種方法來調用web service,都是最簡單的HelloWorld,比較而言,還是gSOAP比較方便。

【編輯推薦】

  1. Symbian每6個月發(fā)布一款新開源操作系統(tǒng)
  2. 微軟建WindowsMarketplace 完善智能機平臺
  3. 大力模仿Android 傳微軟WM6.5可裝插件
責任編輯:龐桂玉 來源: it168
相關推薦

2009-04-12 08:59:05

Symbian諾基亞移動OS

2009-04-12 09:00:08

Symbian諾基亞移動OS

2009-04-12 09:01:05

Symbian諾基亞移動OS

2009-04-12 09:02:32

Symbian諾基亞移動OS

2009-04-12 09:03:50

Symbian諾基亞移動OS

2009-04-12 08:57:50

Symbian諾基亞移動OS

2009-04-12 08:55:18

Symbian諾基亞移動OS

2009-04-12 08:36:09

Symbian諾基亞移動OS

2009-04-12 08:51:50

Symbian諾基亞移動OS

2009-04-12 09:07:17

Symbian諾基亞移動OS

2009-04-12 08:45:32

Symbian諾基亞移動OS

2009-04-12 08:48:47

Symbian諾基亞移動OS

2009-04-12 08:50:08

Symbian諾基亞移動OS

2009-04-12 08:46:43

Symbian諾基亞移動OS

2012-05-24 09:38:08

Symbian

2009-04-12 08:52:52

Symbian諾基亞移動OS

2010-07-12 09:34:59

Symbian開發(fā)

2010-10-27 13:14:24

Symbian

2010-07-02 09:54:32

Symbian開發(fā)

2009-05-06 08:42:03

SymbianS60移動OS
點贊
收藏

51CTO技術棧公眾號