検索

7.2. アンマーシャリング

download PDF

ASN.1 の構造化メッセージをアンマーシャリングする方法は 3 つあります。(通常はバイナリーファイル)

この最初の例では、BER ファイルペイロードを OutputStream にアンマーシャリングし、モックエンドポイントに送信します。

from("direct:unmarshal").unmarshal(asn1).to("mock:unmarshal");

2 つ目の例では、Split EIP を使用して BER ファイルペイロードをバイトアレイにアンマーシャリングします。Split EIP を適用する理由は、通常は各 BER ファイルまたは(ASN.1 構造化ファイル)には、処理する複数のレコードが含まれ、Split EIP は実際に ASN1Primitive's インスタンス(Bouncy Castle の ASN.1 の使用による)バイトアレイとしてファイルに各レコードを取得するのに役立ちます。 bcprov-jdk15on ライブラリーのサポート)Byte 配列は、ASN1Primitive のパブリック静的メソッド(ASN1Primitive.fromByteArray)を利用して ASN1Primitive に変換できます。 usingIterator=trueを設定する必要があることに注意してください。

from("direct:unmarshal").unmarshal(asn1).split(body(Iterator.class)).streaming().to("mock:unmarshal");

最後の例では、Split EIP を使用して、BER ファイルペイロードをプレーンな古い Java オブジェクトにアンマーシャリングします。Split EIP を適用する理由は、すでに前述の例で紹介されています。そのような理由を念頭に置いてください。この例では、クラスの完全修飾名またはデータフォーマットで <YourObject>.class 参照を設定する必要もあります。ここで注意すべき重要なことは、jasn1 コンパイラーでオブジェクトを生成する必要があることです。このコンパイラーは、ASN.1 構造の Java オブジェクト表現を生成する優れたツールです。jasn1 コンパイラーのリファレンスの使用方法は、[JASN.1 プロジェクトページ](https://www.openmuc.org/asn1/)を参照してください。また、maven の exec プラグインを利用してコンパイラーがどのように呼び出されるかも確認してください。たとえば、このデータ形式のユニットテストでは、ASN.1 構造(TestSMSBerCdr.asn1)の例は src/test/resources/asn1_structure に追加されます。jasn1 コンパイラーが呼び出され、java オブジェクトの表現が ${basedir}/target/generated/src/test/java で生成 されます。この例では、モックエンドポイントまたはエンドポイントのどれでも POJO インスタンスを取得します。

from("direct:unmarshaldsl")
         .unmarshal()
         .asn1("org.apache.camel.dataformat.asn1.model.testsmscbercdr.SmsCdr")
         .split(body(Iterator.class)).streaming()
.to("mock:unmarshaldsl");
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.