我正在尝试使用来自 XPage 的 ajax 请求获取 View 的 JSON 表示形式。
首先,我使用以下网址 https://myserver/mydb/myview?readviewentries&outputformat=JSON&count=-1
来完成此操作。
它可以在浏览器中工作,但不能在 IBM Notes 客户端中工作(我的应用程序必须在两者中工作),我收到错误 404,我在互联网上读到我们不能在 Notes 客户端中使用该语法。因此,我尝试使用 XPage 中的 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
我在提供 REST 服务的 XPages 上尝试了很多参数,但没有成功。
提前谢谢您。
最佳答案
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 而不是另一个 URL。
您还可以在服务器上运行 xpages,并且该应用程序可以在两者中运行。
关于java - XPage 和 REST : Error 500 from IBM Notes Client,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26022178/