2016-09-19 2 views
0

Право не я могу отобразить одного потребителя к одной службе отдыха в соответствии с ниже код:Возможно ли уловить все запросы на отдых для одного потребителя и перейти к фактическому веб-сервису отдыха с использованием cxfrs?

конфигурации маршрута:

<bean class="com.x.ws.integration.route.SampleRouteProcessor" 
    id="sampleRouteProcessor" /> 
<camel:routeContext id="xyz"> 
    <camel:route xmlns="http://camel.apache.org/schema/spring"> 
     <camel:from 
      uri="cxfrs:bean:getSampleHoliDay?bindingStyle=SimpleConsumer" /> 
     <camel:setHeader headerName="CamelHttpMethod"> 
      <constant>GET</constant> 
     </camel:setHeader> 
     <camel:setHeader headerName="Content-Type"> 
      <constant>application/json</constant> 
     </camel:setHeader> 
     <camel:setHeader headerName="accept"> 
      <constant>application/json</constant> 
     </camel:setHeader> 

     <camel:to uri="cxfrs:bean:getSampleHoliDayClient" /> 
    </camel:route> 
</camel:routeContext> 
<cxf:rsServer id="getSampleHoliDay" loggingFeatureEnabled="true" 
    serviceClass="com.nucleus.rest.consumer.RestConsumerImpl"> 

    <cxf:providers> 
     <bean class="org.codehaus.jackson.jaxrs.JacksonJsonProvider" /> 
    </cxf:providers> 
</cxf:rsServer> 
<!--Create receipt REST service Producer service client --> 
<cxf:rsClient id="getSampleHoliDayClient" 
    address="http://10.*.*.*:*/sample-integration/rest/" 
    loggingFeatureEnabled="true"> 
    <cxf:providers> 
     <bean class="org.codehaus.jackson.jaxrs.JacksonJsonProvider" /> 

    </cxf:providers> 
</cxf:rsClient> 

Потребитель при интеграции:

import java.util.Map; 
import javax.ws.rs.GET; 
import javax.ws.rs.Path; 
import javax.ws.rs.Produces; 
import javax.ws.rs.core.MediaType; 

@Path("/") 
public interface RestConsumer 
{ 

    @GET 
    @Path("/getSampleRequest") 
    @Produces(MediaType.APPLICATION_JSON) 
    public Map<String, Object> getSampleResponse(); 
} 

Теперь, если я сделать @Path («/ *») это не сработает. Я хочу создать один RestConsumer, который должен улавливать все запросы на отдых и пересылать соответственно.

ответ

2

Используйте стандартный приёмный http-прослушиватель, а затем направьте запросы различным обработчикам. Вам придется обрабатывать действия REST и отображать себя или использовать REST-DSL.

Смотрите установку 'matchOnUriPrefix' из верблюжьего причалу: http://camel.apache.org/jetty.html

REST DSL: http://camel.apache.org/rest-dsl.html