Web services 如何覆盖REST Web服务的标准Domino错误页?

Web services 如何覆盖REST Web服务的标准Domino错误页?,web-services,rest,osgi,lotus-domino,Web Services,Rest,Osgi,Lotus Domino,我有一个webservice(OSGi应用程序),它在失败时以HTML形式返回错误,这似乎是Domino标准 我知道我可以使用提供的错误代码,但我想返回一个JSON格式的错误 有人知道怎么做吗 Ove要在REST服务数据库中处理401响应,您需要允许匿名用户访问REST服务,然后在REST服务中,如果用户是匿名的,则进行响应。这可以在匿名用户不打开数据库进行重要访问的情况下完成,方法是保持匿名用户的ACL不允许访问,但允许它读取公共文档。然后,包含REST服务的XPage被标记为可供公共访问用

我有一个webservice(OSGi应用程序),它在失败时以HTML形式返回错误,这似乎是Domino标准

我知道我可以使用提供的错误代码,但我想返回一个JSON格式的错误

有人知道怎么做吗



Ove

要在REST服务数据库中处理401响应,您需要允许匿名用户访问REST服务,然后在REST服务中,如果用户是匿名的,则进行响应。这可以在匿名用户不打开数据库进行重要访问的情况下完成,方法是保持匿名用户的ACL不允许访问,但允许它读取公共文档。然后,包含REST服务的XPage被标记为可供公共访问用户使用。

要在REST服务数据库中处理401响应,您需要允许匿名用户访问REST服务,然后在REST服务中,如果用户是匿名的,则响应。这可以在匿名用户不打开数据库进行重要访问的情况下完成,方法是保持匿名用户的ACL不允许访问,但允许它读取公共文档。然后,包含REST服务的XPage将被标记为可供公共访问用户使用。

我假定您所说的是自定义服务。也许您可以向我们展示该代码,以便我们可以向您展示如何处理错误。是的。我同意一些代码会很好。另外,原始帖子中的HTTP状态代码是401(未经授权)。该响应可能是由dominoweb服务器返回的,而没有访问您的REST代码。您是在本例(401)中尝试返回JSON,还是在所有状态代码中尝试返回JSON?详细信息显示未验证。甚至在它可以检查授权之前。我已经找到了如何用Application/JSON内容响应经过身份验证的请求。有什么方法可以告诉Domino用JSON而不是HTML来响应401响应吗?@Ove,我不知道如何让Domino服务器在401响应中返回JSON。这并不意味着没有办法,但这可能是在服务器配置中完成的,而不是在REST代码中完成的。也许您可以向我们展示该代码,以便我们可以向您展示如何处理错误。是的。我同意一些代码会很好。另外,原始帖子中的HTTP状态代码是401(未经授权)。该响应可能是由dominoweb服务器返回的,而没有访问您的REST代码。您是在本例(401)中尝试返回JSON,还是在所有状态代码中尝试返回JSON?详细信息显示未验证。甚至在它可以检查授权之前。我已经找到了如何用Application/JSON内容响应经过身份验证的请求。有什么方法可以告诉Domino用JSON而不是HTML来响应401响应吗?@Ove,我不知道如何让Domino服务器在401响应中返回JSON。这并不意味着没有办法,但很可能是在服务器配置中完成的,而不是在REST代码中。但是,如果用户尝试使用错误的凭据进行身份验证,该怎么办?在这种情况下,请使用默认ACL设置为“不访问读取公共文档”,并检查NotesDatabase.getCurrentAccessLevel()。如果为零(0),则不允许访问。太棒了@Newbs!省去了我很多麻烦!再次非常感谢!但是,如果用户尝试使用错误的凭据进行身份验证,该怎么办?在这种情况下,请将默认ACL设置为“读取公共文档时无访问权限”,并检查NotesDatabase.getCurrentAccessLevel()。如果为零(0),则不允许访问。太棒了@Newbs!省去了我很多麻烦!再次非常感谢!