web-services - 通过 Apache Camel 调用 CXF webservice

标签 web-services cxf apache-camel

我正在尝试将 Apache CXF 与 Apache Camel 集成。 Camel 的配置:

<cxf:cxfEndpoint id="authTest"
        address="/cxfAuth"
        serviceClass="com.test.AuthService" >
        <cxf:properties>
            <entry key="dataFormat" value="POJO" />
            <entry key="setDefaultBus" value="true" />
        </cxf:properties>
    </cxf:cxfEndpoint>

     <camel:camelContext trace="true">
        <camel:route>
            <camel:from uri="cxf:bean:authTest" />
            <camel:to uri="bean:routeExitResponseProcessor"/>
        </camel:route>
    </camel:camelContext>

现在要调用 Web 服务上的特定操作,我使用的是:

<camel:route>
            <camel:from uri="direct:startAuthTest"/>
            <camel:setHeader headerName="getEmployee"> 
                <camel:constant>gid</camel:constant> 
            </camel:setHeader> 
            <camel:to uri="cxf:bean:authTest" />
            <camel:log message=">>> data is : ${body}"/>
            <camel:to uri="bean:routeExitResponseProcessor"/>
        </camel:route>

但是在包含上述配置后,我在服务器控制台上收到 WARN ServletController:149 - Can't find the request for http://localhost:8080/CXFService/services/cxfAuth's Observer在浏览器上找不到我的网络服务。

请帮忙。

最佳答案

您可以调用以下命令来获取正在调用的 CXF 操作名称...参见 http://camel.apache.org/cxf.html了解更多详情

String operation = (String)in.getHeader(CxfConstants.OPERATION_NAME);

另外,请参阅此单元测试以了解示例用法...

http://svn.apache.org/repos/asf/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerTest.java

关于web-services - 通过 Apache Camel 调用 CXF webservice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10301895/

相关文章:

c# - 如何在 asmx Web 服务(wsdl)中操作端口类型?

Java Webservice 在使用之前请求用户名和密码

java - CXF:java.lang.NoClassDefFoundError:javax/xml/ws/BindingProvider

java - ApplicationListener 处理 ContextClosedEvent 的 NullPointer 警告

junit - 如何对 Apache Cache Timer 路由进行单元测试?

java - Camel cxf with Spring boot-手动启动路线

json - 微软学术API,知识图谱搜索——检索到的论文为空

c# - Web 服务传递参数类

java - Apache Karaf - CXF REST 服务器地址

spring-boot - start.spring.io 中的 Spring Boot >= 2.7.0 排除 Camel 背后的原因是什么