WSO2 ESBを使用してシナリオを実装する必要があります。クライアント側に応答しながらバイナリペイロードをストリーム処理しながら暗号化します(Application/Octet-ストリーム)、以下は私の思考によるいくつかの詳細です:WSO2経由でペイロードファイルをストリーミングで暗号化する方法
- ビジネス機能を提供する "http://myhost/backend/"のようなエンドポイント。
- エンドポイント経由でメッセージを渡すプロキシ。
- Content-TypeをチェックするためにOutSequenceを書き込もうとしました.Content-Typeが
Application/Octet-Stream
と一致する場合は、カスタマイズされたクラスメディエータを呼び出してStreamStreamと応答を暗号化します。
私はクラスメディエーターをどのように実装するのか分かりません。どのようにしてメッセージからファイルストリームを取得/読み取ることができますか?また、仲介メソッドでmc.getEnvelope().getBody()
しか見ることができないうちに、outputStreamを応答に戻す方法はありますか?私の現在のメディエーターは動作しません。
public boolean mediate(MessageContext mc) {
org.apache.axis2.context.MessageContext amc = ((Axis2MessageContext) mc).getAxis2MessageContext();
try {
String contentID = amc.getAttachmentMap().getAllContentIDs()[0];
DataHandler dh = amc.getAttachment(contentID);
dh.getDataSource().getName();
InputStream is = null;
try {
is = dh.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = null;
while ((line = br.readLine()) != null) {
System.out.println("client read:" + line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
return true;
}
経験豊かな人が親切に助けてくれたら幸いです。
あなたの質問は最も可能性の高いSOで非常にunspecificand回答されていない、あなたはまだ試してみました何... – Andreas
は@Andreasありがとうといくつかのコードを提供してください!この問題を回避しながらコードを貼り付けるつもりです。 –