スタンドアロン モードでキャメルを起動すると、セットアップしたエンドポイントからルートが消費されているというメッセージが表示されます。
Route: route1 started and consuming from: Endpoint[http://localhost:9090/hrm/hrm_push?bindingStyle=SimpleConsumer]
すごい!
しかし、[] の間にあるものを切り取ってブラウザーに貼り付けると、404 が返されます。確かに、Camel がそのアドレスで消費していると言う場合、そのアドレスを使用して Rest Web サービスに接続できるはずです。
これが私のappContextです
<bean id="transformer" class="com.xxxx.portlistener.services.Transformer">
</bean>
<cxf:rsServer id="pushServer"
address="http://localhost:9090/hrm/hrm_push?bindingStyle=SimpleConsumer" >
<cxf:serviceBeans>
<ref bean="transformer" />
</cxf:serviceBeans>
</cxf:rsServer>
<cxf:rsServer id="pingServer"
address="http://localhost:9090/hrm/hrm_ping" >
<cxf:serviceBeans>
<ref bean="transformer" />
</cxf:serviceBeans>
</cxf:rsServer>
<!-- Camel Configuration -->
<camel:camelContext id="camel-1" xmlns="http://camel.apache.org/schema/spring">
<package>com.xxxx.portlistener.services</package>
<camel:route id="route1">
<camel:from uri="cxfrs://bean://pushServer"/>
<camel:to uri="log:TEST?showAll=true" />
</camel:route>
<camel:route id="route2">
<camel:from uri="cxfrs://bean://pingServer"/>
<camel:to uri="log:TEST?showAll=true" />
</camel:route>
</camel:camelContext>
マイ サービス インターフェイス:
@Path("/hrm/")
public interface PushService
{
/**
* trasform will change the given Object....
*/
@POST
@Produces("text/plain")
@Path("/hrm_push/")
public Response pusher(Object pushee);
@GET
@Produces("text/plain")
@Path("/hrm_ping/")
public Response ping();
}
コンソールからのエラー:
Jan 21, 2014 10:45:50 AM org.apache.cxf.jaxrs.interceptor.JAXRSInInterceptor processRequest
WARNING: No root resource matching request path / has been found.
Jan 21, 2014 10:45:51 AM org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper toResponse
WARNING: WebApplicationException has been caught : no cause is available
誰かが私が間違っていることを見つけることができますか?
ありがとう、
アンドリュー