2

構築中のアプリケーションで 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"
}
4

1 に答える 1

5

databaseNameサービス定義にプロパティがあります

  • xe:viewItemFileService
  • xe:viewJsonLegacyService
  • xe:viewJsonService
  • xe:viewXmlLegacyService

xe:restService

空の場合は現在のデータベースが使用されますが、データベースのパスと名前を入力すると、それらのデータベースが使用されます。

ビュー名はプロパティで定義されますviewName

        <xe:restService id="restService1">
            <xe:this.service>
                <xe:viewItemFileService
                    databaseName="MyFolder/MyOtherDatabase.nsf"
                    viewName="AllContacts"
                    ...>
于 2013-06-23T17:04:39.477 に答える