cxf 服务器响应超时时间,java-如何防止Apache CXF发送响应消息?

我已经能够通过中断拦截器链的拦截器来做到这一点.

我已经使用HTTP配置(WebSphere返回空200)和ActiveMQ配置(没有响应返回到响应队列)对此进行了测试.

package my.super.interceptor;

public final class Suppressor extends AbstractSoapInterceptor {

public Suppressor() { super(Phase.SETUP); }

@Override

public void handleMessage(final SoapMessage message) throws Fault

{

final boolean suppressResponse = this.suppressResponse(message);

if(suppressResponse) {

log.debug("-> Suppressing response");

message.getInterceptorChain().abort();

}

//if you want to suppress both responses and faults, you need

//to check them separately.

//Change this code to check headers for whatever criteria you want

//(Note you may need to change the super(Phase...) )

//The code's a bit messy here - just sketching out the idea for the answer

private boolean suppressResponse(final Message message) {

final Fault fault = (Fault)message.getContent(Exception.class);

if(fault != null) {

final String faultMessage = fault.getMessage();

return faultMessage.indexOf("Something-you-want-to-match") > 0;

} else {

final MessageInfo messageInfo = (MessageInfo)message.get("org.apache.cxf.service.model.MessageInfo");

final String operation = messageInfo.getOperation().getOutputName();

return operation.indexOf("Something-you-want-to-match") > 0;

}

}

和您的applicationContext.xml:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值