如何从 XFire AbstractHandler 的 invoke() 方法中获取 ServletRequest 对象?
我使用 XFire 作为 Spring Remoting 的 Web 服务提供者。 我正在使用 AbstractHandler 来验证 SOAP 请求。 这个想法是通过原始服务器的域和 API 密钥(类似于 Google 地图)来识别请求。 唯一的问题是我似乎找不到从 invoke() 方法中获取 ServletRequest 对象的方法,该方法只接受 MessageContext 对象。
我能想到的唯一想法是使用 Filter 并将请求对象存储在 ThreadLocal 变量中,但我真的更愿意避免这种解决方案。
有任何想法吗?
干杯赛
伊
I'm using XFire as the Web Services provider for Spring Remoting. I'm using an AbstractHandler to authenticate the SOAP request. The idea is to identify the request by the originating server's domain and an API key (a-la Google Maps). The only problem is that I can't seem to find a way to fetch the ServletRequest object from within the invoke() method, which only accepts a MessageContext object.
The only idea I can think of is using a Filter and storing the request object inside a ThreadLocal variable, but I'd really prefer to avoid this solution.
Any ideas?
Cheers
Shai
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我还没有测试过这个,但我手边有 XFire 的源代码,所以我深入研究了这些类,看看这是否容易。 在对
invoke
的调用中,您应该能够使用以下代码获取ServletRequest
:I haven't tested this but I have the source for XFire handy so I dug into the classes to see if this would be easy. From within the call to
invoke
you should be able to get theServletRequest
with the following code: