jaxb xml 메시지를 Apache Camel (Java)의 기본 유형으로 변환

그린 치

내 모든 낙타 (v 2.13.1) 경로에 대한 전역 오류 처리기를 구축하려고합니다. 이 오류 처리기에 예외가 발생하면이를 기록하고 팀에 이메일을 보냅니다.

그래도 다형성 및 jaxb 주석이 달린 메시지에 문제가 있습니다. 내 모든 메시지는 다음과 유사합니다.

@XmlRootElement
@XmlAccessorType(value = XmlAccessType.PROPERTY)
@XmlType(propOrder = {})
static abstract class Request {

    @XmlElement(required = true)
    abstract String getThing();
    abstract void setThing(final String thing);
}

@XmlRootElement
@XmlAccessorType(value = XmlAccessType.PROPERTY)
@XmlType(propOrder = {})
static class MyRequest extends Request {

    private String name;
    @XmlElement(required = true)
    public String getName() {
        return name;
    }
    public void setName(final String name) {
        this.name = name;
    }

    private String thing;
    @Override
    @XmlElement(required = true)
    public String getThing() { 
        return thing;
    }
    public void setThing(final String thing) {
        this.thing = thing;
    }
}

내가 가지고 노는 내 오류 경로는 다음과 같습니다.

from (errorQueue)
    .convertBodyTo(Request.class)
    .process(new Processor() {
        @Override
        public void process(Exchange exchange) throws Exception {
            final Request req = exchange.getIn().getBody(Request.class);
            log.info("name = {}, thing = {}", null, req.getThing());
        }
    });

실패한 구성 요소에 따라 메시지는 MyRequest, MyOtherRequest 등이 될 수 있습니다. 모든 메시지는 Request에서 상속됩니다. 테스트중인 특정 메시지는 다음과 같습니다.

<myRequest>
    <name>some_name</name>
    <thing>some_thing</thing>
</myRequest>

이것을 실행하면 다음과 같은 오류가 발생합니다.

Caused by: javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"myRequest"). Expected elements are <{}request>

jaxb 주석이 달린 메시지를 다양한 유형에서 일부 기본 유형으로 변환하여 기본 클래스에서 정보를 얻을 수있는 방법은 무엇입니까?

기본 클래스 대신 인터페이스를 사용하고 싶지만 비슷한 결과를 얻었습니다.

Bdoughan

MyRequest하위 클래스 가 없기 때문에 메타 데이터가 클래스에 대해 처리되지 않을 수 있습니다 . @XmlSeeAlso수퍼 클래스에 주석을 추가해보십시오 .

@XmlRootElement
@XmlAccessorType(value = XmlAccessType.PROPERTY)
@XmlType(propOrder = {})
@XmlSeeAlso({MyRequest.class})
static abstract class Request {

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

JAXB를 사용하여 Oracle Pivot XML을 Java 객체로 변환

분류에서Dev

JAXB를 사용하여 Oracle Pivot XML을 Java 객체로 변환

분류에서Dev

Jaxb를 사용하여 XML 파일을 Java 객체로 변환

분류에서Dev

배열의 요소를 기본 클래스 유형으로 변환

분류에서Dev

태그 값을 기반으로 메시지 라우팅-Apache Camel

분류에서Dev

Apache Camel-메시지 본문의 특수 문자

분류에서Dev

메서드를 재정의 할 때 호환되는 유형 인수 목록 유형을 기본 버전으로 지정 하시겠습니까?

분류에서Dev

Web Api 2.2의 유형 변환에서 기본 오류 메시지 교체

분류에서Dev

JAXB를 사용하여 JAVA에서 CSV 파일을 계층 XML로 변환

분류에서Dev

하위 유형에서 상위 유형으로의 기본 유형 변환, 매개 변수가없는 함수

분류에서Dev

Camel JSON에서 XML 로의 변환 문제

분류에서Dev

문자열의 기본 매개 변수 값을 배열 유형으로 변환

분류에서Dev

Apache Camel Java DSL 클래스 매개 변수를 Bean 메소드로 전달

분류에서Dev

Apache Camel은 문자열 메시지 본문에서 아포스트로피를 제거합니다.

분류에서Dev

일반 매개 변수를 기본 데이터 유형으로 변환

분류에서Dev

일반 매개 변수를 기본 데이터 유형으로 변환

분류에서Dev

파일 탐색기로서의 Apache Camel

분류에서Dev

Angular 앱의 기본 날짜를 JSON으로 변환하는 형식

분류에서Dev

C 언어-호환되지 않는 포인터 유형의 유형 할당 [기본적으로 활성화 됨]

분류에서Dev

Apache Camel-동기식으로 "와이어 탭"하는 방법? 아니면 교환 사본을 보내시겠습니까?

분류에서Dev

파이썬에서 12 시간 형식을 24 시간 형식 (오늘의 기록 유지)으로 변환

분류에서Dev

기본 데이터 유형에서 사용자 정의 유형으로 형변환

분류에서Dev

Apache Camel Swagger-JPA 엔티티를 나머지 유형으로 사용

분류에서Dev

Camel Kafka-Rabbitmq 커넥터가 내 메시지를 읽을 수없는 형식으로 변환하는 이유는 무엇입니까?

분류에서Dev

xpath의 결과를 xml 형식으로 변환

분류에서Dev

NCPDP 표준 형식 메시지를 Java에서 xml 형식으로 변환하는 방법은 무엇입니까?

분류에서Dev

JAVA는 분을 기본 시간으로 변환 [hh : mm : ss]

분류에서Dev

unique_ptr의 벡터를 기본 유형으로 초기화하기위한 가변 구조

분류에서Dev

eclipselink moxy를 spring + camel과 함께 기본 jaxb impl 공급자로 사용하는 동안 오류가 발생합니다. Jaxb-RI와 함께 작동

Related 관련 기사

  1. 1

    JAXB를 사용하여 Oracle Pivot XML을 Java 객체로 변환

  2. 2

    JAXB를 사용하여 Oracle Pivot XML을 Java 객체로 변환

  3. 3

    Jaxb를 사용하여 XML 파일을 Java 객체로 변환

  4. 4

    배열의 요소를 기본 클래스 유형으로 변환

  5. 5

    태그 값을 기반으로 메시지 라우팅-Apache Camel

  6. 6

    Apache Camel-메시지 본문의 특수 문자

  7. 7

    메서드를 재정의 할 때 호환되는 유형 인수 목록 유형을 기본 버전으로 지정 하시겠습니까?

  8. 8

    Web Api 2.2의 유형 변환에서 기본 오류 메시지 교체

  9. 9

    JAXB를 사용하여 JAVA에서 CSV 파일을 계층 XML로 변환

  10. 10

    하위 유형에서 상위 유형으로의 기본 유형 변환, 매개 변수가없는 함수

  11. 11

    Camel JSON에서 XML 로의 변환 문제

  12. 12

    문자열의 기본 매개 변수 값을 배열 유형으로 변환

  13. 13

    Apache Camel Java DSL 클래스 매개 변수를 Bean 메소드로 전달

  14. 14

    Apache Camel은 문자열 메시지 본문에서 아포스트로피를 제거합니다.

  15. 15

    일반 매개 변수를 기본 데이터 유형으로 변환

  16. 16

    일반 매개 변수를 기본 데이터 유형으로 변환

  17. 17

    파일 탐색기로서의 Apache Camel

  18. 18

    Angular 앱의 기본 날짜를 JSON으로 변환하는 형식

  19. 19

    C 언어-호환되지 않는 포인터 유형의 유형 할당 [기본적으로 활성화 됨]

  20. 20

    Apache Camel-동기식으로 "와이어 탭"하는 방법? 아니면 교환 사본을 보내시겠습니까?

  21. 21

    파이썬에서 12 시간 형식을 24 시간 형식 (오늘의 기록 유지)으로 변환

  22. 22

    기본 데이터 유형에서 사용자 정의 유형으로 형변환

  23. 23

    Apache Camel Swagger-JPA 엔티티를 나머지 유형으로 사용

  24. 24

    Camel Kafka-Rabbitmq 커넥터가 내 메시지를 읽을 수없는 형식으로 변환하는 이유는 무엇입니까?

  25. 25

    xpath의 결과를 xml 형식으로 변환

  26. 26

    NCPDP 표준 형식 메시지를 Java에서 xml 형식으로 변환하는 방법은 무엇입니까?

  27. 27

    JAVA는 분을 기본 시간으로 변환 [hh : mm : ss]

  28. 28

    unique_ptr의 벡터를 기본 유형으로 초기화하기위한 가변 구조

  29. 29

    eclipselink moxy를 spring + camel과 함께 기본 jaxb impl 공급자로 사용하는 동안 오류가 발생합니다. Jaxb-RI와 함께 작동

뜨겁다태그

보관