我尝试使用来自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服务的参数,但没有成功。
提前谢谢。
答案 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,该应用程序可以同时运行。