169.5. 부분적인 마샬링/unmarshalling


이 기능은 Camel 2.2.0의 새로운 기능입니다.
CryostatB 2는 marshalling 및 unmarshalling XML 트리 조각을 지원합니다. 기본적으로 CryostatB는 전체 XML 트리에서 작동하도록 지정된 클래스에서 @ CryostatRoot Cryostat 주석을 찾습니다. 이는 유용하지만 항상 그런 것은 아닙니다 - 경우에 따라 생성된 코드에 @ CryostatRoot Cryostat 주석이 없는 경우가 있으며, 경우에 따라 트리의 일부만 사용해야 하는 경우가 있습니다.
이 경우 부분적인 unmarshalling을 사용할 수 있습니다. 이 동작을 활성화하려면 속성 partClass 를 설정해야 합니다. Camel은 이 클래스를 CryostatB의 unmarshaler에 전달합니다. JaxbConstants.JAXB_ Cryostat_CLASS 가 헤더 중 하나로 설정된 경우 ( partClass 속성이 DataFormat에 설정된 경우에도), DataFormat의 속성이 초과되고 헤더에 설정된 값이 사용됩니다.

마샬링을 위해 대상 네임스페이스의 QName을 사용하여 partNamespace 특성을 추가해야 합니다. 위에서 찾을 수 있는 Spring DSL의 예 JaxbConstants.JAXB_ Cryostat_NAMESPACE 가 헤더 중 하나로 설정된 경우( partNamespace 속성이 DataFormat에 설정된 경우에도), DataFormat의 속성이 초과되고 헤더에 설정된 값이 사용됩니다. JaxbConstants.JAXB_ Cryostat_NAMESPACE 를 통해 partNamespace 를 설정하는 동안 {[namespaceUri]}[localPart] 값을 지정해야 합니다.

   ...
   .setHeader(JaxbConstants.JAXB_PART_NAMESPACE, simple("{http://www.camel.apache.org/jaxb/example/address/1}address"));
   ...
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

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

Red Hat 소개

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

© 2024 Red Hat, Inc.