0

我有一个 HTTP 出站端点,它对特定的 URL 执行 GET 方法,事情是如果我在路径 URL 中添加一个变量,它将引发异常......我相信这不受支持。这是我的流程:

<flow name="ADMIN_GET_GRAPH_DATA" doc:name="ADMIN_GET_GRAPH_DATA">
        <ajax:servlet-inbound-endpoint channel="/admin/get_graph_data" responseTimeout="10000" doc:name="Ajax"/>
        <http:outbound-endpoint exchange-pattern="request-response" host="${graph.url}" port="8081" path="plot/get?graphName=#[json:graph_name]&amp;subgroup=hour&amp;width=100" method="GET" doc:name="HTTP" />
        <byte-array-to-string-transformer doc:name="Byte Array to String"/>
    </flow>

这是异常堆栈跟踪

Caused by: java.lang.IllegalArgumentException:  Endpoint scheme must be compatible with the connector scheme. Connector is: "ajax-servlet", endpoint is "http://specific-url/plot/get?graphName=SPECIFIC_GRAPH_NAME&subgroup=hour&width=100" (java.lang.IllegalArgumentException). Message payload is of type: String
        at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:35)
        at org.mule.execution.MessageProcessorNotificationExecutionInterceptor.execute(MessageProcessorNotificationExecutionInterceptor.java:43)
        at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:43)
        at org.mule.processor.chain.DefaultMessageProcessorChain.doProcess(DefaultMessageProcessorChain.java:93)
        at org.mule.processor.chain.AbstractMessageProcessorChain.process(AbstractMessageProcessorChain.java:66)
        at org.mule.execution.ExceptionToMessagingExceptionExecutionInterceptor.execute(ExceptionToMessagingExceptionExecutionInterceptor.java:27)
        at org.mule.execution.MessageProcessorExecutionTemplate.execute(MessageProcessorExecutionTemplate.java:43)

尝试在 Google 中进行大量搜索,但我不知道出了什么问题或可以做些什么来使其正常工作。我什至看到在 MuleSoft 中创建了 JIRA 票证来解决这个问题,因为它不受“支持”但它应该在 Mule 3.2.1 之后修复(我使用的是 3.3.1)。

该 URL 已正确创建,即使您将其复制粘贴到浏览器中它也可以工作,但由于某些神秘的原因,Mule 不喜欢这样。

谢谢。

4

1 回答 1

1

尝试这个:

  • 配置一个 HTTP 连接器,比如:<http:connector name="httpConnector" />
  • 在动态 HTTP 端点中使用它:<http:outbound-endpoint connector-ref="httpConnector" ...
于 2013-04-25T15:35:24.290 回答