0

特定の URL に対して GET メソッドを実行する HTTP アウトバウンド エンドポイントを取得しました。パス 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 に答える