首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache OneWay方法不处理SoapFault

Apache OneWay方法不处理SoapFault
EN

Stack Overflow用户
提问于 2022-06-12 20:55:29
回答 1查看 79关注 0票数 0

我有一个非常简单的骆驼路线,使soap到soap调用。

一切都很好,但是如果@Oneway操作中有一个抛出了SaopFault,我就无法捕获错误onException。如何捕获soapFault onException将消息设置为setBody(soapFault)?

谢谢你的帮助。

此方法从targetService抛出SaopFault

代码语言:javascript
复制
  @WebMethod(operationName = "OneWayOperation")
  @Oneway
  public void onewayOperation(
        @WebParam(partName = "OneWayOperationRequest", 
                  name = "OneWayOperationRequest", 
                  targetNamespace = "http://xxx.xxx.com/xmlschema/api")
        com.xxx.xxx.xmlschema.api.OneWayOperationRequest oneWayOperationRequest
    );
代码语言:javascript
复制
    @Bean(name = "sourceBean")
    public CxfEndpoint buildCxfSoapEndpoint() {
        CxfEndpoint cxf = new CxfEndpoint();
        cxf.setAddress("http://0.0.0.0:9090/api");
        cxf.setServiceClass(com.xxx.Service.class);
        cxf.setWsdlURL("wsdl/xxx.wsdl");
        return cxf;
    }

    @Bean(name = "targetBean")
    public CxfEndpoint buildCxfSoapEndpoint() {
        CxfEndpoint cxf = new CxfEndpoint();
        cxf.setAddress("https://xxxx.com:443/api");
        cxf.setServiceClass(com.xxx.Service.class);
        cxf.setWsdlURL("wsdl/xxx.wsdl");
        return cxf;
    }

        from("cxf:bean:sourceBean")
                .to("cxf:bean:targetBean")
                .onException(SoapFault.class)
                .process(new Processor() {
                    @Override
                    public void process(Exchange exchange) throws Exception {
                        SoapFault fault = exchange.getProperty(ExchangePropertyKey.EXCEPTION_CAUGHT, SoapFault.class);
                       // **  OneWay methods never comes here but the others ! **
                    }
                })
EN

回答 1

Stack Overflow用户

发布于 2022-06-14 11:21:48

我添加了?dataFormat=MESSAGE并解决了问题。

代码语言:javascript
复制
from("cxf:bean:sourceBean?dataFormat=MESSAGE")
            .to("cxf:bean:targetBean?dataFormat=MESSAGE")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72595819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档