0

サービスのプロキシを作成しました。

TypeAプロキシ (リクエストのタイプは) と実際のサービス (リクエストのタイプは )の間にプロセッサがありますTypeB

process(Exchange exchange)メソッドに入る Exchange 本体は ですTypeA

次のコード行を使用してデータにアクセスできます

TypeA typeA = exchange.getIn().getBody(TypeA.class);

さて、この情報を に変更したいと思いましたTypeB

次の行を使用して本文を追加しています。

exchange.getIn().setBody(typeA); 

私はjava.lang.IllegalArgumentException: argument type mismatch

Exchangeここで、 から出てくるを使用して実際のサービスを呼び出したいと思いましたProcessor

試してみたところ、プロセッサで次の例外が発生しました

java.lang.IllegalArgumentException: argument type mismatch
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.cxf.databinding.AbstractWrapperHelper.createWrapperObject(AbstractWrapperHelpe

実際の Web サービスは呼び出されません。

これを修正する方法。

プロキシで POJO モードを使用しています。

4

1 に答える 1