当前位置: 首页 > 知识库问答 >
问题:

骆驼CXF投掷AssertionBuilderSignstryImpl异常

宿鹏程
2023-03-14

无法弄清楚这是怎么回事-试图设置一个路由,只看到cxf连接到soap web服务(我不关心实际数据,也不期望数据实际“工作”,但它不断引发一个我不理解的html" target="_blank">异常:

我想知道我是否正确配置了它。我想这可能是一个丢失的jar,但当我尝试引入其他jar时,导致了依赖冲突

我正在使用maven依赖项“camel-cxf”来加载我所有的jar配置

“原因:org.apache.cxf.bus.extension.ExtensionException:无法加载扩展类org.apache.cxf.ws.policy.AssertionBuilderRegistryImpl。”

准确的错误是

“未能为终结点创建生产者:终结点[cxf://http://wsf.cdyne.com/WeatherWS/Weather.asmx?dataFormat=MESSAGE

我用的代码是

        camel.addComponent( "cxf", new CxfComponent() );

        camel.addRoutes( new RouteBuilder() {

            @Override
            public void configure() throws Exception {
                from( "timer://sometimer?delay=1s")
                .to( "cxf://http://wsf.cdyne.com/WeatherWS/Weather.asmx"
                     +"?wsdlURL=http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL"
                     +"&dataFormat=MESSAGE"
                     +"&serviceClass=prototypes.CxfExample$GetWeatherInformationSoapIn"
                     +"&serviceName=Weather"
                     +"&portName=WeatherSoap"


                   );
            }
        });
        camel.start();
        Thread.sleep( 10000 );
        camel.stop();

共有1个答案

邓鸿雪
2023-03-14

我想我已经“解决”了-

mvn:驼峰cfx依赖性不够

你也需要mvn: nethi依赖

AssertationBuildImpl类从mvn: camel-cfx的jar集中未包含的类扩展而来,这使得AssertationBuildImpl在ide中显示为已知类,但在运行时不会加载类

通过分析第三方的源代码,这是一个可怕的问题

 类似资料:
  • 有人可以解释我什么时候使用关键字 throw new 有用.而不是在方法的签名旁边使用抛出? 我知道当方法抛出Checked Exception时。Java迫使我们通过将Exception处理到try-catch块中,或者通过在签名旁边的关键字throws指定将在其他地方完成,从而直接在方法中处理它。 然而,我很难理解何时使用关键字throw new是有用的,以及为什么。它与处理未选中的异常有关吗

  • 我正在尝试从目录中选取一个文件,拆分一个文件,并将每一个拆分行添加到ActiveMQ中。我在这个过程中遇到了异常处理的问题。假设目录中的文件是一个二进制文件(可执行文件),那么splitter会显示org.apache.camel.runtimeCamelException和java.nio.charset.MalFormedInputException异常。如果出现这种情况,那么我需要捕获这些异

  • 与JPA Consumer、transform和其他中间路线操作一起制作骆驼ETL路线的示例。这包括针对另一个JPA实体的额外步骤。PollRich步骤应该基于定义的带动态参数的namedQuery(通过先前交换中的#params注册表映射传递)来使用实体数据。它完全忽略namedQuery。它也会忽略任何在线查询——不管查询有多简单——并简单地将初始记录轮询到maximumResults。

  • 我试图使用Kerberos从ActiveMQ-Camel桥向Kafka (Cloudera)发送消息。 ActiveMQ v5.15.4 骆驼:2.21.1 Kafka客户端:1.1.0 服务器版本:Apache/2.4.6(CentOS) 骆驼.xml剪刀是: 这是日志中的kafka客户端配置: 日志级别:调试 Jaas文件: 出口: 当我发送消息时,我在调试级别收到以下日志,但消息未被发送:

  • 在camel spring ws中,有没有办法将自定义主体(例如自定义bean)和http状态返回为500? 我试过了 然后在processor公共类ExceptionProcessor实现processor{ } 但是即使身体是我想要的,超文本传输协议状态总是200。 你能帮我吗? 更多信息:我正在使用camel 2.20.2版

  • 我正在使用带有Apache骆驼的Spring Boot。我正在从控制器调用路由。一旦路由完成,控制就会返回控制器。我正在VerifyLimitProcess和批准限制处理器中生成响应。如果我没有在路由中提供窃听配置,控制器会按预期检索标头和正文。但如果我在路由中引入窃听,控制器会将标头和正文接收为null。如果有人指出我需要做什么,以便我可以在选择语句中引入两个处理器的窃听配置,即VerifyLi