324.14. 기존 엔드 포인트 매핑을 사용하는 대체 구성

매핑 유형 이 있는 모든 엔드포인트에 대해 레지스트리/ApplicationContext에 해당하는 이름이 있는 CamelEndpointDispatcher 유형의 하나의 빈이 필요합니다. 이 빈은 Camel 엔드포인트와 PayloadRootQNameEndpointMapping 과 같은 기존 엔드포인트 매핑 간의 브리지 역할을 합니다.

참고: 빈name 매핑-유형의 사용은 주로 Spring-WS를 사용하고 Spring XML 파일에 정의된 엔드포인트 매핑이 있는 (기존) 상황을 의미합니다. beanname mapping-type을 사용하면 Camel 경로를 기존 끝점 매핑에 연결할 수 있습니다. 처음부터 시작하는 경우 구성이 적고 더 표현이 필요하기 때문에 Camel URI의 (위에서 설명한 대로) 엔드 포인트 매핑으로 엔드포인트매핑을 정의하는 것이 좋습니다. 또는 주석의 도움으로 vanilla Spring-WS를 사용할 수 있습니다.

빈name 을 사용하는 경로의 예:

<camelContext xmlns="http://camel.apache.org/schema/spring">
    <route>
        <from uri="spring-ws:beanname:QuoteEndpointDispatcher" />
        <to uri="mock:example" />
    </route>
</camelContext>

<bean id="legacyEndpointMapping" class="org.springframework.ws.server.endpoint.mapping.PayloadRootQNameEndpointMapping">
    <property name="mappings">
        <props>
            <prop key="{http://example.com/}GetFuture">FutureEndpointDispatcher</prop>
            <prop key="{http://example.com/}GetQuote">QuoteEndpointDispatcher</prop>
        </props>
    </property>
</bean>

<bean id="QuoteEndpointDispatcher" class="org.apache.camel.component.spring.ws.bean.CamelEndpointDispatcher" />
<bean id="FutureEndpointDispatcher" class="org.apache.camel.component.spring.ws.bean.CamelEndpointDispatcher" />