XPage和REST:来自IBM Notes Client的错误500

时间:2014-09-24 16:40:13

标签: java json rest xpages lotus-notes

我尝试使用来自XPage的ajax请求获取视图的JSON表示。 首先,我使用以下网址https://myserver/mydb/myview?readviewentries&outputformat=JSON&count=-1完成了它。

它适用于浏览器但不适用于IBM Notes客户端(我的应用程序必须在两者中工作),我收到错误404,我在互联网上读到我们无法在Notes客户端中使用该语法。所以我尝试使用XPages中的restService元素来获取我的JSON。

我使用以下代码创建XPage:

<xe:restService id="restService1" pathInfo="JoursFeries">
    <xe:this.service>
        <xe:viewJsonService defaultColumns="true"
            databaseName="Applis/JoursFeries.nsf" viewName="JoursFeries">
        </xe:viewJsonService>
    </xe:this.service>
</xe:restService>

我更改了我的URL以调用我的Rest服务:myXpage.xsp/JoursFeries(我的新XPage与调用XPage在同一个数据库中)。再一次,它适用于浏览器,但仍然不在IBM Notes客户端中。我这样称呼它:

var feries = {
    url : "xRestJoursFeries.xsp/JoursFeries",
    handleAs : "json",
    sync : true,
    preventCache : this.urlPreventCache,
    load : function(json) {
        // My callback function
    }
}

dojo.xhrGet(feries);

当我在Notes客户端中激活我的XPage调试器时,我只能看到该页面返回错误500,我的控制台只是说:

警告CLFAD #### W:/ xRestJoursFeries没有状态数据,因为在缓存中找不到控制树。 :: class.methot = com.ibm.xsp.application.ViewHandlerExImpl_restoreView():: thread = Thread-348 :: loggername = anonymous

我在我的XPage上尝试了许多提供REST服务的参数,但没有成功。

提前谢谢。

1 个答案:

答案 0 :(得分:2)

xPINC中的URL不同。您需要更改URL。查看此页面以获取一些信息。 http://xomino.com/2013/02/03/xpinc-browser-url-format-and-why-my-demo-failed-at-ibmconnect-part-2/

您可以在if语句中使用@ClientType()来选择一个URL而不是另一个。

您还可以在服务器上运行xpages,该应用程序可以同时运行。