次のミュール フローでは、VM エンドポイントを使用して REST Web サービス用の Jersey クラスを実装しました。
<flow name="APIKeyLoadFlow" doc:name="APIKeyLoadFlow"
initialState="started">
<http:inbound-endpoint exchange-pattern="request-response"
address="${api.load.invoke.url}" doc:name="HTTP"
responseTimeout="${apikey.http.responsetimeout}" />
<logger message="Start Of APIKeyLoadFlow -#[payload]" level="INFO"
doc:name="ENTRY_LOG" />
<request-reply timeout="300000" >
<vm:outbound-endpoint connector-ref="VM_Connector"
exchange-pattern="one-way" path="APIKeyLoadRequest">
</vm:outbound-endpoint>
<vm:inbound-endpoint connector-ref="VM_Connector"
exchange-pattern="one-way" path="APIKeyLoadResponse">
</vm:inbound-endpoint>
</request-reply>
<logger message="End of APIKeyLoadFlow" level="INFO" doc:name="EXIT_LOG" />
<catch-exception-strategy doc:name="Catch Exception Strategy">
<logger level="WARN" doc:name="Exception_Log"
message="Exception in ApiKeyFlow #[System.getProperty('line.separator')] Error Description = #[exception.getMessage()]" />
</catch-exception-strategy>
</flow>
<flow name="ApiKeyLoadRestServiceFlow" doc:name="ApiKeyLoadRestServiceFlow">
<vm:inbound-endpoint exchange-pattern="one-way"
path="APIKeyLoadRequest" doc:name="APIKey_Load_Request">
</vm:inbound-endpoint>
<logger message="Start of ApiKeyLoadRestServiceFlow -#[payload]" level="INFO"
doc:name="ENTRY_LOG" />
<jersey:resources doc:name="REST">
<component class="com.elexon.bmrs.apikey.service.impl.ApiKeyLoadImpl" />
</jersey:resources>
<logger message="End of ApiKeyLoadRestServiceFlow" level="INFO"
doc:name="EXIT_LOG" />
<vm:outbound-endpoint exchange-pattern="one-way"
path="APIKeyLoadResponse" doc:name="APIKey_Load_Response">
</vm:outbound-endpoint>
しかし、リクエストの実行中に例外を下回っていますか? 実装されたフローの問題は何ですか?
INFO 2015-12-08 13:09:59,792 [[apikey_load_phase3].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: APIKeyLoadFlow の開始 -org.apache.commons.httpclient. ContentLengthInputStream@1517f14 INFO 2015-12-08 13:09:59,813 [[apikey_load_phase3].connector.http.mule.default.receiver.02] org.mule.lifecycle.AbstractLifecycleManager: 初期化: 'VM_Connector.dispatcher.25489136'. オブジェクトは: VMMessageDispatcher INFO 2015-12-08 13:09:59,813 [[apikey_load_phase3].connector.http.mule.default.receiver.02] org.mule.lifecycle.AbstractLifecycleManager: 開始: 'VM_Connector.dispatcher.25489136'。オブジェクト: VMMessageDispatcher INFO 2015-12-08 13:09:59,830 [[apikey_load_phase3].ApiKeyLoadRestServiceFlow.stage1.02] org.mule.api.processor.LoggerMessageProcessor: ApiKeyLoadRestServiceFlow -org の開始。
メッセージ : JerseyResourcesComponent{ApiKeyLoadRestServiceFlow.component.14630019} の呼び出しに失敗しました。例外の原因となったコンポーネントは、JerseyResourcesComponent{ApiKeyLoadRestServiceFlow.component.14630019} です。メッセージ ペイロードのタイプは次のとおりです: ContentLengthInputStream
コード: MULE_ERROR--2
例外スタック: 1. null (java.lang.NullPointerException) org.mule.module.jersey.JerseyResourcesComponent:116 (null) 2. JerseyResourcesComponent{ApiKeyLoadRestServiceFlow.component.14630019} の呼び出しに失敗しました。例外の原因となったコンポーネントは、JerseyResourcesComponent{ApiKeyLoadRestServiceFlow.component.14630019} です。メッセージ ペイロードのタイプは次のとおりです: ContentLengthInputStream (org.mule.component.ComponentException)
org.mule.component.AbstractComponent:144 ( http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/component/ComponentException.html )
ルート例外スタック トレース: org.mule.module.jersey.JerseyResourcesComponent.doInvoke(JerseyResourcesComponent.java:116) の java.lang.NullPointerException org.mule.component.AbstractComponent.invokeInternal(AbstractComponent.java:122) の org.mule .component.AbstractComponent.access$000(AbstractComponent.java:57) + 3 つ以上 (すべてに対してデバッグ レベルのログ記録または '-Dmule.verbose.exceptions=true' を設定)