有没有办法在CXF的拦截器里获得调用方法的名称及参数值
AbstractPhaseInterceptor实现类的handleMessage方法里,传入的Message参数,转化InputStream再转化为字符串打印出来后可以看到是包含了关于方法名及方法参数值的信息的,但如何将其取出来呢?
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:sayHi xmlns:ns2="htt
p://service.cxf.com/"><arg0>My Name</arg0></ns2:sayHi></soap:Body></soap:Envelope>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
已投,哈哈
@
量子玫瑰 给我的回答投票 第一次回答对别人的问题 呵呵
感谢回复,用你说的试了一下,但是获得的List为null,我是cxf3.0.2版本
最近我也有这需求,
是可以 你这样获取的到是xml,需要转化成对象
Object obj = message.getContent(List.class).get(0);
这里获取的obj对象就是cxf动态生成的class类,你debug就能看到,所有的参数都在这个obj里面
剩下就的就是反射出来了。
试了一下,改成super(Phase.USER_LOGICAL);可以了,原来在那个阶段也很重要呀,谢谢
@
量子玫瑰
构造方法里面的是super(Phase.USER_LOGICAL);?
我的版本是cxf-2.1.9