2015-04-23 77 views
3

我正試圖在Mule Flow中實現REST組件,並且我還能夠公開REST服務,並且響應也會返回給客戶端。但是當我把Mule Java組件訪問REST組件響應的屬性時,我無法做到這一點。下面是我的騾子消息處理器的代碼,Mule REST組件返回類型

public class RestResponseProcessor implements Callable{ 

@Override 
public Object onCall(MuleEventContext eventContext) throws Exception { 
    Object messagePayload = eventContext.getMessage().getPayload(); 
    System.out.println("Message payload class is " + messagePayload.getClass()); 
    org.mule.module.jersey.JerseyResourcesComponent jerseyResponse = (org.mule.module.jersey.JerseyResourcesComponent) messagePayload; 
    System.out.println("jerseyResponse.getClass() is " + jerseyResponse.getClass()); 
    return eventContext; 
} 

} 

第一個系統輸出的輸出是 Message payload class is class org.mule.module.jersey.JerseyResourcesComponent$2但是當我試圖投它org.mule.module.jersey.JerseyResourcesComponent對象,它給ClassCastException異常,java.lang.ClassCastException: org.mule.module.jersey.JerseyResourcesComponent$2 cannot be cast to org.mule.module.jersey.JerseyResourcesComponent 這是什麼$ 2是後類名稱和可能的解決方案是什麼。

基本上我試圖在發送響應到客戶端之前根據REST組件響應路由我的消息。

希望我很清楚我的問題。

+0

XML config? Mule版本? –

+0

我想你已經在這裏得到了答案: - http://forum.mulesoft.org/mulesoft/topics/rest-component-return-type –

+0

@AnirbanSenChowdhary是的,我得到了答案,並已發佈在這裏作爲答案。 – Vicky

回答

1

我從Mule論壇得到了答案。

$ 2是Jersey組件創建的org.mule.api.transport.OutputHandler類型的匿名類。

我嘗試使用「字節數組到字符串」,它的工作。它解決了我的目的。