Java 轮询HTTP端点并后跟jersey REST WS在Mule 3.5中不起作用

Java 轮询HTTP端点并后跟jersey REST WS在Mule 3.5中不起作用,java,web-services,mule,Java,Web Services,Mule,我需要轮询rest服务,然后将此web服务的响应代理到rest web服务 我正在使用Mule 3.5,我的流程如下所示。 在调用REST服务时,我得到以下异常 ******************************************************************************** Message : Failed to invoke JerseyResourcesComponent{TestFlow.component.11

我需要轮询rest服务,然后将此web服务的响应代理到rest web服务

我正在使用Mule 3.5,我的流程如下所示。

在调用REST服务时,我得到以下异常

********************************************************************************
Message               : Failed to invoke JerseyResourcesComponent{TestFlow.component.1106552446}. Component that caused exception is: JerseyResourcesComponent{TestFlow.component.1106552446}. Message payload is of type: String
Code                  : MULE_ERROR--2
--------------------------------------------------------------------------------
Exception stack is:
1. null (java.lang.NullPointerException)
  org.mule.module.jersey.JerseyResourcesComponent:192 (null)
2. Failed to invoke JerseyResourcesComponent{TestFlow.component.1106552446}. Component that caused exception is: JerseyResourcesComponent{TestFlow.component.1106552446}. Message payload is of type: String (org.mule.component.ComponentException)
  org.mule.component.AbstractComponent:144 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/component/ComponentException.html)
--------------------------------------------------------------------------------
Root Exception stack trace:
java.lang.NullPointerException
    at org.mule.module.jersey.JerseyResourcesComponent.getBaseUri(JerseyResourcesComponent.java:192)
    at org.mule.module.jersey.JerseyResourcesComponent.doInvoke(JerseyResourcesComponent.java:146)
    at org.mule.component.AbstractComponent.invokeInternal(AbstractComponent.java:122)
    + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
********************************************************************************
调试后,我发现这是因为Mule希望填充contextPath的MuleMessage inbound属性,但在本例中,它为null

第117行返回为null,因此第195行抛出NPE

我想知道这种需求/模式是无效的,还是Mule处理其消息传递基础架构的方式存在某种限制?

流xml,以防您想要检查它

<flow name="TestFlow" doc:name="TestFlow">

        <poll doc:name="Poll">
            <fixed-frequency-scheduler frequency="10" timeUnit="SECONDS" startDelay="10"/>
            <http:outbound-endpoint exchange-pattern="request-response" host="localhost" port="8080" doc:name="Order Generator" method="GET" contentType="application/json" path="order"/>
        </poll>
        <object-to-string-transformer doc:name="Object to String"/>
        <jersey:resources doc:name="Tax Calculator">
            <component class="org.nthdimenzion.TaxCalculator"/>
        </jersey:resources>

        <logger level="INFO" doc:name="Logger"/>

    </flow>


PS:我得到的解决方法是使用java/spring组件而不是REST WS,然后从java组件调用REST WS。

这不是一个有效的模式,让它支持这样的轮询。它应该位于入站端点后面,以便将uri映射到正确的资源。如果您没有这样做,您应该使用标准的java/spring组件来处理消息。