2013-06-20 151 views
1

我開始了一個項目,其中包含通過Restful WS Layer進行OpenBravo集成(可能是json)這種整合在開始時很簡單,因爲它只包含一個休息Web服務客戶端,它將執行GET,PUT,POST和DELETE操作。Openbravo休息網絡服務

我的問題是關於如何管理json對象,以及如果OpenBravo帶來某種方式來轉換數據訪問對象中的json對象,以便於處理。

我見過OpenBravo DAL(數據訪問層),有沒有一種方法可以將剩餘部分和dal混合在一起以消除OB對象?

此致

回答

1

這裏有一個例子可以幫助你...... 首先讓我們來看看這個代碼片斷

public class SimpleRestClass extends BaseWebServiceServlet { 
    private static final long serialVersionUID = 1L; 

    @Override 
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException { 
    String Name = request.getParameter("Name"); 
    String Email = request.getParameter("Email"); 

    List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); 
    Map<String, Object> map = new HashMap<String, Object>(); 

    map.put("Name", Name); 
    map.put("Email", Email); 
    // map.put("Path", request.getPathInfo().toString()); 

    list.add(map); 
    final String json = new DataToJsonConverter().convertToJsonObjects(list).toString(); 

    // write to the response 
    response.setContentType("application/json"); 
    response.setCharacterEncoding("utf-8"); 
    final Writer w = response.getWriter(); 
    w.write(json); 
    w.close(); 

    } 

} 

在上面的代碼

final String json = new DataToJsonConverter().convertToJsonObjects(list).toString();

是你在找什麼。的convertToJsonObjects()的簽名方法是

List<JSONObject> convertToJsonObjects(List<Map<String, Object>> data) 

到Openbravo重要的類REST的Json WS要注意的是

import org.openbravo.service.json.DataToJsonConverter 

這個類有更多的Json相關的方法。希望這會幫助你。

如果您有任何問題,請隨時詢問。

+0

謝謝奎師那!這正是我所期待的。 – Pymoo

+1

歡迎@ Pymoo!我很高興我能幫助你。 – Krishna

2

Openbravo的有一個稱爲org.openbravo.service.json

上述模塊利用JSON的和爲openbravo的DAL層模塊。

當我們對產品進行get請求時,JSON模塊使用DAL查詢數據庫並將OB Object轉換爲JSON對象。

當我們要創建新產品時,JSON模塊使用DAL創建新的OB對象。

您可能需要關注的Openbravo側的主類是,

  • 1)DefaultJsonDataService
  • 2)JsonToDataConverter --Converts JSON數據到Openbravo的業務對象(一個或多個)。

  • 3)DataToJsonConverter - 負責將Openbravo業務對象 轉換爲json表示。

重要環節:Openbravo JSON REST

+0

謝謝你, 我想從一個標準的應用程序中使用Web服務,我怎樣才能在我的項目中獲得這些類,哪些是我必須包含的jar? 面對這樣的項目有什麼更好的方式? 如果你能幫助我,我將不勝感激。 最好的問候! – Pymoo

+1

@Pymoo你不需要任何jar,因爲你的應用程序將發出一個HTTP請求,而openbravo將用json對象進行響應。在這種情況下,您的標準應用程序將像Openbravo JSON REST Web服務的客戶端一樣行事。 – Velu

+1

如果您想在創建產品或銷售訂單時添加業務邏輯,那麼您可能需要在Openbravo之上創建一個擴展模塊。 – Velu