1

私はこのようなものが必要だと思います:http://camel.apache.org/cxf-tomcat-example.html

jax-wsアノテーションを持つWebサービスクラスがあり、カスタムプロセッサの代わりに、このクラスを使用してリクエストを処理し、レスポンスを生成したいと思います。このようなもの:from(cxf ws endpoit).to(my webservice implementation)

これは可能ですか?メッセージを正しいJavaメソッドにルーティングできますか?cxfこれは、とでできることとまったく同じですが、jax-wsラクダも使用したいと思います。コードファーストアプローチ(生成されたWSDL)を使用したいと思います。

4

1 に答える 1

0

メッセージを正しい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>

操作名に応じて、ラクダはメッセージを対応するプロセッサにルーティングします。とにかく好きなようにキャメルであなたのメッセージをルーティングすることができます。あなたはただ方法を考えなければなりません。あなたの質問から、これは私が与えることができる限りです。あなたがそれをより具体的に更新するならば、多分私はもう少し助けを提供することができます。

参照:

于 2013-02-15T21:13:14.750 に答える