2012-07-11 136 views
0

在服務器端,我想知道如何訪問SmartRec中RPCRequest中使用的數據。smartGWT服務器端訪問數據rpc

這裏是SmartGWT的客戶端代碼:

private void update() { 
     RPCRequest request = new RPCRequest(); 
     request.setData("RPC text from client"); 
     request.setActionURL("/Empi-MT/resources/empi/update"); 
     request.setContentType("text/xml"); 

     RPCManager.sendRequest(request, 
      new RPCCallback() { 

       public void execute(RPCResponse response, Object obj, RPCRequest request) { 
        SC.say("Response from the server:" + obj); 
       } 
      }); 
    } 

這裏是REST風格的Java服務器代碼。

​​3210

這個簡單的代碼工作正常,但現在我需要知道如何訪問放入RPCRequest的數據。我如何在服務器代碼中做到這一點?

感謝,

+0

其實我已經實現了,我需要與這個特定的REST服務和相關ListGrids的CRUD。但我想添加幾個方法從Web服務中提取一些相關數據。我寧願使用SmartGwt RPC,以便我可以檢查SmartGWT控制檯中的RPC調用。我不知道的是如何在服務器Java代碼中提取放入RPC請求的數據。 – jbww 2012-07-12 18:44:28

回答

0

你看起來就像你可能在錯誤的方向上走向;如果此「更新」操作是某個對象上的CRUD操作,那麼您想使用DataSources - 請參閱DataStart的QuickStart概述,重點介紹RestDataSource。

http://www.smartclient.com/releases/SmartGWT_Quick_Start_Guide.pdf

你也似乎開始直到使用產生的REST服務的道路,這是幾乎總是錯的 - 看到這個常見問題:

http://forums.smartclient.com/showthread.php?t=8159#aExistingRest

最後,如果這真的不是一個CRUD操作,你需要在RPCRequest上設置useSimpleHttp,然後這個屬性的文檔解釋了數據可以發送的不同方式。

http://www.smartclient.com/smartgwtee/javadoc/com/smartgwt/client/rpc/RPCRequest.html#getUseSimpleHttp()

+0

這不是一個CRUD操作。實際上,除了我已經實施的CRUD之外,我還增加了一些實用方法。關於如何基於你的回答得到這個工作的具體細節是,在客戶端我添加了以下代碼: request.setUseSimpleHttp(true); request.setHttpMethod(「POST」); 有效負載作爲String參數傳遞給服務器java方法(XML編碼)。而且,通過SmartGwt開發人員控制檯中的RPC跟蹤功能,可以看到對我的實用程序方法的RPC調用的詳細信息。 非常感謝, Jay – jbww 2012-07-17 17:01:46