Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Camel与tomcat、cxf和jax-ws/rs结合使用_Tomcat_Jax Ws_Cxf_Jax Rs_Apache Camel - Fatal编程技术网

将Camel与tomcat、cxf和jax-ws/rs结合使用

将Camel与tomcat、cxf和jax-ws/rs结合使用,tomcat,jax-ws,cxf,jax-rs,apache-camel,Tomcat,Jax Ws,Cxf,Jax Rs,Apache Camel,我想我需要这样的东西: 我有一个带有jax-ws注释的webservice类,我想用这个类来处理请求并生成响应,而不是定制处理器。 类似这样的内容:来自CXF ws-endpoit.tomy Web服务实现 这可能吗?我可以将消息路由到正确的java方法吗? 这与我使用cxf和jax-ws所做的完全相同,但我也希望使用camel。 我想使用代码优先的方法生成WSDL 我可以将消息路由到正确的java方法吗 如果您指的是手动创建的bean的特定方法,那么是的 例如: 创建自定义bean: publ

我想我需要这样的东西:

我有一个带有jax-ws注释的webservice类,我想用这个类来处理请求并生成响应,而不是定制处理器。 类似这样的内容:来自CXF ws-endpoit.tomy Web服务实现

这可能吗?我可以将消息路由到正确的java方法吗? 这与我使用cxf和jax-ws所做的完全相同,但我也希望使用camel。 我想使用代码优先的方法生成WSDL

我可以将消息路由到正确的java方法吗

如果您指的是手动创建的bean的特定方法,那么是的

例如:

创建自定义bean:

public class CustomProcessor {

    public void processSomething(Exchange exchange) {
        Something smth = exchange.getIn().getBody(Something.class); //Your message's body              
    }

}
使用Spring创建驼峰配置,如下所示:

<bean id="processor" class="your.custom.CustomProcessor"/>

<camel:camelContext trace="true" id="camelContext" >

    <camel:route id="camelRoute">
        <camel:from uri="cxf:bean:yourWebServiceListenerEndpoint?dataFormat=POJO&amp;synchronous=true" />
        <camel:choice>
            <camel:when>
                <camel:simple>${headers.operationName} == 'DoSomething'</camel:simple>
                <camel:bean ref="processor" method="processSomething"/>
            </camel:when>
        </camel:choice>
        <camel:to uri="cxf:bean:yourWebServiceTargetEndpoint"/>
    </camel:route>

</camel:camelContext>
根据操作名称,camel将消息路由到相应的处理器。您可以按自己喜欢的方式以驼峰方式发送邮件。你只要想想怎么做就行了。从你的问题来看,这是我能给的最多的了。如果你能把它更新得更具体一些,也许我可以提供更多的帮助

另见: