当前位置:  开发笔记 > 编程语言 > 正文

Camel cxf:cxfEndpoint生产者错误:无法找到带有操作名称的BindingOperationInfo

如何解决《Camelcxf:cxfEndpoint生产者错误:无法找到带有操作名称的BindingOperationInfo》经验,为你挑选了1个好方法。

我使用camel cxf:cxfEndpoint调用soap服务,但是收到此BindingOperationInfo错误.配置对我来说是正确的,但不知道我做错了什么.

端点配置:



    
        
    

我的Java DSL路由器配置.

from("direct:invokeMyUpdate")
        .bean("myAcctSvcClient", "buildSoapReq")
        .setHeader(CxfConstants.OPERATION_NAME, constant("getAccountInfo"))
        .to("cxf:bean:accountEndpoint")

WSDL元素:





    
        
    


 
    
    
        
        
            
        
        
            
        
    
    
        
        
            
        
        
            
        
    

以下是错误:

Stacktrace:java.lang.IllegalArgumentException:找不到具有操作名称{ http://acct.poc.cog.com/ } getAccountInfo 的BindingOperationInfo .请检查operationName和operationNamespace的消息头.at org.apache.camel.component.cxf.CxfProducer.getBindingOperationInfo(CxfProducer.java:379)[camel-cxf-2.16.0.jar:2.16.0] at org.apache.camel.component.cxf.CxfProducer.prepareBindingOperation (CxfProducer.java:211)[camel-cxf-2.16.0.jar:2.16.0] at org.apache.camel.component.cxf.CxfProducer.process(CxfProducer.java:110)[camel-cxf-2.16. 0.jar:2.16.0] at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:141)[camel-core-2.16.0.jar:2.16.0]

kasi.. 5

你也尝试过设置:


  http://acct.poc.cog.com/

在JAVA DSL我想:

from("direct:invokeMyUpdate")
    .bean("myAcctSvcClient", "buildSoapReq")
    .setHeader(CxfConstants.OPERATION_NAME, constant("getAccountInfo"))
    .setHeader(CxfConstants.OPERATION_NAMESPACE, constant("http://acct.poc.cog.com/"))
    .to("cxf:bean:accountEndpoint")

我的第二个提示是运行调试器并将断点放在行上CxfProducer.java:379.比检查值CxfProducer.client.conduitSelector.endpoint.binding.bindingInfo.operations.
我试图解决类似的问题,其中从wsdl加载的操作集是空白的.

编辑:我找到了我的问题的来源,为什么创建的端点是类型org.apache.cxf.endpoint.EndpointImpl而不是org.apache.cxf.jaxws.support.JaxWsEndpointImpl没有操作信息.CxfEndpoint示例:


service.class.name错误地声明为webservice客户端类,而不是webservice接口类.



1> kasi..:

你也尝试过设置:


  http://acct.poc.cog.com/

在JAVA DSL我想:

from("direct:invokeMyUpdate")
    .bean("myAcctSvcClient", "buildSoapReq")
    .setHeader(CxfConstants.OPERATION_NAME, constant("getAccountInfo"))
    .setHeader(CxfConstants.OPERATION_NAMESPACE, constant("http://acct.poc.cog.com/"))
    .to("cxf:bean:accountEndpoint")

我的第二个提示是运行调试器并将断点放在行上CxfProducer.java:379.比检查值CxfProducer.client.conduitSelector.endpoint.binding.bindingInfo.operations.
我试图解决类似的问题,其中从wsdl加载的操作集是空白的.

编辑:我找到了我的问题的来源,为什么创建的端点是类型org.apache.cxf.endpoint.EndpointImpl而不是org.apache.cxf.jaxws.support.JaxWsEndpointImpl没有操作信息.CxfEndpoint示例:


service.class.name错误地声明为webservice客户端类,而不是webservice接口类.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有