7.3. unmarshal


ASN.1 구조화된 메시지를 unmarshal하는 세 가지 방법이 있습니다. (일반적으로 바이너리 파일)

이 첫 번째 예에서는 OutputStream에 대한marshal BER 파일 페이로드를 해제하고 mock 엔드포인트로 보냅니다.

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

두 번째 예에서는 Split EIP를 사용하여 바이트 배열에 대한marshal BER 파일 페이로드를 해제합니다. Split EIP를 적용하는 이유는 일반적으로 각 BER 파일 또는 (ASN.1 구조화된 파일)에 EIP를 처리하고 분할하기 위해 여러 레코드를 포함하는 이유는 실제로 ASN1Primitive의 인스턴스 ( bcprov-jdk18on에서 Bouncy Castle의 ASN.1 지원을 사용하여 파일에서 각 레코드를 얻을 수 있기 때문입니다. 그러면 library) Cryostat 배열은 (ASN1Primitive.fromByteArray)에서 공용 정적 메서드의 도움을 통해 ASN1Primitive로 변환할 수 있습니다. Iterator =true를 사용하여설정해야 합니다.

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

마지막 예제에서는 Split EIP를 사용하여 일반 이전 Java 오브젝트에 대한 페이로드를 해제합니다. Split EIP를 적용하는 이유는 이전 예제에서 이미 설명되어 있습니다. 이 이유를 염두에 두십시오. 이러한 예제에서는 데이터 형식을 통해 클래스의 정규화된 이름 또는 <YourObject>.class 참조도 설정해야 합니다. 여기서 주목해야 할 중요한 점은 개체가 ASN.1 구조의 java 개체 표현을 생성하는 데 유용한 도구인 jasn1 컴파일러에 의해 생성되어야 한다는 것입니다. 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 에서 생성됩니다. 이 예제에 대한 nice 작업은 instance tns에 추가됩니다.

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은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.