我已經建立了一個簡單的帶有端點的HTTP服務,它提供了XML repsonses。我正在對該服務運行JUnit測試。以下是代碼摘錄。 getMessageBody將使用緩衝閱讀器的文件轉換爲字符串。駱駝服務端點。 requestBody強制轉換爲字符串錯誤
String src = getMessageBody(xmlname);
MockEndpoint mock = this.context.getEndpoint("mock:resultsCheck",MockEndpoint.class);
mock.expectedMessageCount(2);
LOG.info(".. get response object");
Object responseBody1 = this.template.requestBody("cxf://bean:Port",src);
String responseBody2 = this.template.requestBody("cxf://bean:Port",src, String.class);
的問題是,行:
對象responseBody1 = this.template.requestBody( 「CXF://豆:端口」,SRC);
工作正常,並返回一個填充對象。
這條線返回null,我不知道爲什麼:
字符串responseBody2 = this.template.requestBody( 「CXF://豆:端口」,SRC,String.class);
任何想法?
- 編輯 -
我已經調查遠一點,它似乎是與類型轉換的問題。從類型org.apache.cxf.bus.spring.SpringBus到org.apache.camel.Component找不到合適的轉換
如何解決此問題?
webservice返回相同的對象。可能是實際鑄造的問題呢? 嘗試註釋掉第一個調用並仍然有空響應。 返回的對象的類型與我們在config中設置的代理類相匹配 – stinkyPete
在Object上使用toString方法僅返回對象類型名稱 – stinkyPete