構築中のアプリケーションで Dojo Data Grid/REST サービス・アーキテクチャーを使用したいと考えています。ただし、REST サービスが現在のアプリケーション以外の別のアプリケーションのビューを指すようにするためのプロパティ (またはコード) が見つかりません。
REST サービスのビュー名でデータ コンテキストを使用できますか? または、別のアプリケーションのビューを指すように設定する別のプロパティはありますか?
ありがとう -- 助けてくれてありがとう!
--------- 編集 6/24/2013 ---------
viewItemFileService と viewJSONService の両方を試しましたが、viewJSONService だけを他のデータベースで動作させることができます。viewItemFileService は、データの行があるべき場所に「申し訳ありませんが、エラーが発生しました」と表示するだけです。コードは次のとおりです。どこで間違いを犯しているのかわかりません。
<xp:panel>
View JSON<xp:br></xp:br>
<xe:restService id="restService1">
<xe:this.service>
<xe:viewJsonService databaseName="voca/vocadatastore.nsf"
defaultColumns="true" viewName="InvoicePersonnel" var="entry1"
contentType="application/json">
</xe:viewJsonService>
</xe:this.service>
</xe:restService>
<xe:djxDataGrid id="djxDataGrid2" autoHeight="10"
storeComponentId="restService1">
<xe:djxDataGridColumn id="djxDataGridColumn5"
label="Description" field="description" width="auto">
</xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn6"
label="Items" field="items" width="auto">
</xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn7"
label="Cost" field="cost" width="auto">
</xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn8"
label="Total" field="total" width="auto">
</xe:djxDataGridColumn>
</xe:djxDataGrid>
</xp:panel>
<xp:br></xp:br>
<xp:br></xp:br>
<xp:panel>View Domino<xp:br></xp:br>
<xe:restService id="restServicePers">
<xe:this.service>
<xe:viewItemFileService databaseName="voca/vocadatastore.nsf"
defaultColumns="true" viewName="InvoicePersonnel" var="entry2">
</xe:viewItemFileService>
</xe:this.service>
</xe:restService>
<xe:djxDataGrid id="djxDataGrid1" autoHeight="10"
storeComponentId="restServicePers">
<xe:djxDataGridColumn id="djxDataGridColumn1"
label="Description" field="description" width="auto">
</xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn2"
label="Items" field="items" width="auto">
</xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn3"
label="Cost" field="cost" width="auto">
</xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn4"
label="Total" field="total" width="auto">
</xe:djxDataGridColumn>
</xe:djxDataGrid>
</xp:panel>
--------- 編集 7/3/2013 ---------
ビューを REST サービスと同じデータベースに移動しましたが、「申し訳ありませんが、エラーが発生しました」というメッセージが引き続き表示されます。リストからviewNameを選択したので、ビュー名は正しいです。列のタイトル/フィールド名も正しいです。
<xe:restService id="restServicePers" pathInfo="persInfo">
<xe:this.service>
<xe:viewItemFileService defaultColumns="true"
viewName="InvoicePersonnel" var="entryPers">
</xe:viewItemFileService>
</xe:this.service>
</xe:restService>
<xe:djxDataGrid id="djxDataGrid1" autoHeight="10"
storeComponentId="restServicePers">
<xe:djxDataGridColumn id="djxDataGridColumn1"
label="Description" field="description" width="auto">
</xe:djxDataGridColumn>
</xe:djxDataGrid>
返される内容を確認するために pathInfo プロパティを REST サービスに追加しましたが、エラーが発生しました。
{
"code":500,
"text":"Internal Error",
"message":"",
"type":"text",
"data":"java.lang.NullPointerException\r\n\tat com.ibm.domino.services.rest.das.view.RestViewNavigatorFactory$ViewNavigatorNavigator.getTopLevelEntryCount(RestViewNavigatorFactory.java:565)\r\n\tat com.ibm.domino.services.rest.das.view.RestViewItemFileService.renderServiceJSONGet(RestViewItemFileService.java:263)\r\n\tat com.ibm.domino.services.rest.das.view.RestViewItemFileService.renderService(RestViewItemFileService.java:77)\r\n\tat com.ibm.domino.services.HttpServiceEngine.processRequest(HttpServiceEngine.java:167)\r\n\tat com.ibm.xsp.extlib.component.rest.UIBaseRestService._processAjaxRequest(UIBaseRestService.java:242)\r\n\tat com.ibm.xsp.extlib.component.rest.UIBaseRestService.processAjaxRequest(UIBaseRestService.java:219)\r\n\tat com.ibm.xsp.util.AjaxUtilEx.renderAjaxPartialLifecycle(AjaxUtilEx.java:206)\r\n\tat com.ibm.xsp.webapp.FacesServletEx.renderAjaxPartial(FacesServletEx.java:225)\r\n\tat com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:170)\r\n\tat com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)\r\n\tat com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)\r\n\tat com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)\r\n\tat com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:583)\r\n\tat com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1281)\r\n\tat com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:854)\r\n\tat com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:751)\r\n\tat com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:572)\r\n\tat com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1265)\r\n\tat com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:658)\r\n\tat com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:481)\r\n\tat com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:341)\r\n\tat com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:297)\r\n\tat com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)\r\n"
}