2016-09-19 42 views
0

权不是我可以映射单个消费者单个休息服务按下面的代码:是否有可能捕获单个消费者的所有休息请求,并使用cxfrs转发到实际的休息Web服务?

路由配置:

<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,它应该能够捕获所有的休息请求并相应转发。

回答