我需要从我正在调用的 SOAP 网络服务中获取响应。我已经实现了这里描述的拦截器来捕获传入的消息:
client.getInInterceptors().add(new MyInterceptor());
类如下:
public class MyInterceptor extends AbstractPhaseInterceptor<SoapMessage> {
public MyInterceptor() {
super(Phase.POST_LOGICAL_ENDING);
}
@Override
public void handleMessage(final SoapMessage message) throws Fault {
// Do stuff
}
}
它处于 POST_LOGICAL_ENDING 阶段,但问题是未调用 handleMessage ()。我们在捕获 PRE_PROTOCOL_ENDING 的传出消息上有类似的拦截器,它与服务完美配合。
我错过了什么?我应该使用不同的阶段吗?