2つのWebサービスを私の場合WSo2のESBでcomunicateしたいのですが、私はエンドポイントとプロキシサービスを設定する必要がありますが、解決できません。ESB(WSO2)で2つのWebサービスをどのようにcomunicateするのですか?
どのようなアイデア?、任意のチュートリアルですか?
2つのWebサービスを私の場合WSo2のESBでcomunicateしたいのですが、私はエンドポイントとプロキシサービスを設定する必要がありますが、解決できません。ESB(WSO2)で2つのWebサービスをどのようにcomunicateするのですか?
どのようなアイデア?、任意のチュートリアルですか?
まず、ESBでプロキシサービスとAPIを選択する必要があります。プロキシサービスはSOAPエンドポイントを提供し、APIはRESTfulエンドポイントを提供します。
これまでに選択したものは、残りはすべて同じです。プロキシサービスまたはAPIを呼び出すとトリガされるinSequenceが存在します。 inSequenceでは、メディエータのセットをミックスして一致させ、必要に合わせて調整する必要があります。メディエーターは、統合フローの作業単位です。 PayloadFactoryメディエーターを使用して新しいペイロードを作成し、それの外にいくつかの値を取り、あなたが入ってくるメッセージを取る
例えば、サービス連鎖のシナリオは次のような何かを行くことができます。
下記の手順をご覧ください。これをプロキシまたはAPIにドロップできます。
<inSequence>
<log level="custom">
<property name="Lets log the incoming payload" expression="$body"/>
</log>
<!-- Payload for first backend -->
<payloadFactory media-type="json">
<format>
"payload":{
"name":"StackOverflow",
"value":"SO"
}
</format>
</payloadFactory>
<!-- Invoke backend 1 -->
<call>
<endpoint>
<http uri="http://backend1/jsonEndpoint" method="post"/>
</endpoint>
</call>
<!-- At this point we have the response from backend1 in the message context -->
<log level="custom">
<property name="Lets log the payload from backend1" expression="$body"/>
</log>
<!-- Payload for second backend. We are using JSONPath to access a value from backend1's payload here -->
<payloadFactory media-type="json">
<format>
"payload":{
"name":"StackOverflow",
"value":"SO",
"id": $1
}
</format>
<args>
<arg expression="$.response.from.backend1.id"/>
</args>
</payloadFactory>
<!-- Invoke backend 2 -->
<call>
<endpoint>
<http uri="http://backend2/endpoint" method="post"/>
</endpoint>
</call>
<!-- At this point we have the response from backend2 in the message context -->
<log level="custom">
<property name="Lets log the payload from backend2" expression="$body"/>
</log>
<!-- Respond back to client -->
<respond/>
</inSequence>
私は上記のシーケンスをテストしていませんが、かなり正確でなければなりません。まずは、上記で使用したすべてのドキュメントを紹介します。
サービスオーケストレーションを参照していますか?例:1つのWebサービスから入力を受け取り、2つ目のWebサービスに送信しますか? – ycr
まったく!!!!!!! –