私はラバに比較的慣れておらず、SOAPベースのWebサービスを介してリクエストXMLを受け取るラバフローを定義しようとしています。XMLは複雑なスキーマに基づいており、WSDL2Javaを使用してクラスを生成しました
リクエストを受信した後、cxf:jaxws-serviceはメソッドsubmitOrder(SubmitOrderRequestparameters)を実行します。このメソッドの実行後、リクエストXMLを少し異なる形式に変換したいと思います。次に、このXMLを別のWebサービスに転送する必要があります。問題は、ServiceImplから出力されるラバメッセージにSubmitOrderResponseが含まれているのに、SubmitOrderRequestで作業したいということです。
<flow name="testService">
<http:inbound-endpoint address="http://localhost:62005/test"
exchange-pattern="request-response">
<cxf:jaxws-service serviceClass="com.test.ServicePortType" />
</http:inbound-endpoint>
<component class="com.test.ServiceImpl" />
<!-- transformer ref="MVIRequestTransformer" / -->
<!-- xm:object-to-xml-transformer / -->
<!-- logger message="XML payload is #[payload]" level="INFO" / -->
<!-- SEND TRASNFORMED MESSAGE TO ANOTHER SERVICE -->
</flow>
@WebService(endpointInterface = "com.pennmutual.services.mvi.MVIServicePort")
public class ServiceImpl implements ServicePortType {
...
@Override
public SubmitOrderResponse submitOrder(SubmitOrderRequest parameters) {
...
}
...
}
私の選択肢は何ですか。次のように考えることができます– 1.リクエストオブジェクトをコンテキストのどこかに置き、後で処理のために取得します。2. submitOrderの戻りタイプをObjectに変更し、SubmitOrderResponseの代わりにSubmitOrderRequestを返します。
この状況に対処するための最善の方法を提案してください。私はラバ3.2を使用しています。