0

Jersey を使用して Mule 3 で REST サービスを作成しています。ロガーを使用すると、サーバーで応答を確認できました。ただし、サービスへの ajax 呼び出しで応答が表示されません。Firebug でデバッグすると、応答が空白になります。どんな助けにも感謝します

INFO  2013-07-23 12:07:01,123 [[muletraining].connector.http.mule.default.receiver.04] org.mule.api.processor.LoggerMessageProcessor: from REST {"code":"200","message":"Successful","data":"SomeText"}

Mule 設定ファイルは次のようになります。

 <flow name="griduploaderFlow1" doc:name="griduploaderFlow1">
    <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="9099" path="grid" doc:name="HTTP"/>
    <logger message="from request #[payload]" level="INFO" doc:name="Logger"/>
    <jersey:resources doc:name="REST">
        <component class="com.mulesoft.training.GridUploaderImpl"/>
    </jersey:resources>
    <custom-transformer class="com.mulesoft.training.JerseyResponseTransformer" doc:name="Java" mimeType="application/json"/>
    <logger message="from REST #[payload]" level="INFO" doc:name="Logger"/>
</flow>
4

1 に答える 1

0

最初のロガー出力さえ表示されない場合でも、Jersey に問題があるとは限りません。「リクエストからの」ログは、Jersey がプレイする前に表示されるはずです。そうでない場合は、MULE が正しく動作していることを確認する必要があります。jersey 要素の前から終了タグまでのコードをコメントアウトします。

<flow name="griduploaderFlow1" doc:name="griduploaderFlow1">
      <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="9099" path="grid" doc:name="HTTP"/>
      <logger message="from request #[payload]" level="INFO" doc:name="Logger"/>
<!--
<jersey:resources doc:name="REST">
    <component class="com.mulesoft.training.GridUploaderImpl"/>
</jersey:resources>
<custom-transformer class="com.mulesoft.training.JerseyResponseTransformer" doc:name="Java" mimeType="application/json"/>
<logger message="from REST #[payload]" level="INFO" doc:name="Logger"/>
-->
</flow>

これでも何も表示されない場合は、一般的なラバの問題であり、Jersey の問題ではありません。

ロガーが表示されても例外がなく、応答がない場合は、HTTP コンポーネントに適切な Content-Type を設定することをお勧めします。たとえば、image/png に設定されていて、Jersey から 0 を返すと、ブラウザには何も表示されません。そのため、ブラウザが解析して適切に表示するために、何を送り返しているのかをブラウザに伝えることが重要です。

于 2014-05-12T20:24:54.117 に答える