2016-05-17 51 views
2

我有几个对象和RestfulServices apache的ISIS Web应用程序。 为了记录目的,我需要一些关于请求本身的信息,而不仅仅是应该发送的参数。 如何访问这些请求标头信息?如何访问Apache ISIS DomainService上的请求标头或HTTPServletRequest?

我试图通过RequestCycle对象获得HttpServletRequest。下面是代码行:

HttpServletRequest req = (HttpServletRequest) RequestCycle.get().getRequest().getContainerRequest(); 

当我创建通过阿帕奇检票观众的对象,我得到访问HttpServlerRequest对象和要求的所有信息。但是当我通过宁静的服务发送请求时,当我尝试访问RequestCycle时,我得到一个NullpointerException

你有任何想法如何访问这个domainservice中的请求头?

感谢您的帮助。

回答

2

当您使用Restful服务请求时,根本没有Wicket RequestCycle,因为WicketFilter不用于Restful请求。

我不能帮助其余的问题。我没有这方面的经验。

2

如果您只需要接受标题,则可以使用AcceptHeaderService

如果你需要访问其他任何东西,那么你将不得不自己动手。但这样做应该很容易;看看前面提到的AcceptHeaderServiceimplementation以及registeredRestfulObjectsApplication;您可以在web.xml中提供RestfulObjectsApplication的自定义子类。