有没有办法在CXF的拦截器里获得调用方法的名称及参数值

发布于 2021-11-26 07:42:59 字数 382 浏览 815 评论 6

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

爱的故事 2021-11-30 04:01:03

已投,哈哈

命硬 2021-11-30 03:59:43

@
量子玫瑰 给我的回答投票 第一次回答对别人的问题 呵呵

眼眸 2021-11-30 03:57:47

感谢回复,用你说的试了一下,但是获得的List为null,我是cxf3.0.2版本

千笙结 2021-11-30 03:52:23

最近我也有这需求,

是可以 你这样获取的到是xml,需要转化成对象

Object obj = message.getContent(List.class).get(0);

这里获取的obj对象就是cxf动态生成的class类,你debug就能看到,所有的参数都在这个obj里面

剩下就的就是反射出来了。

静谧 2021-11-29 13:14:09

试了一下,改成super(Phase.USER_LOGICAL);可以了,原来在那个阶段也很重要呀,谢谢

筱果果 2021-11-28 20:05:12

@
量子玫瑰

构造方法里面的是super(Phase.USER_LOGICAL);?

我的版本是cxf-2.1.9

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文