2013-02-16 107 views
0

我的WS-接口:HashMap的駱駝CXF:組件POJO DATAFORMAT

@WebService 
public interface WS{ 

    String decide(String word, MapWrapper parameters); 

} 

與WrapperClass:

public class MapWrapper { 

    public HashMap<String, String> map; 
} 

from("cxf:http://localhost:8080/WS?serviceClass=ws.WS&dataFormat=POJO").to("stream:out"); //Just for testing purpose 

給人當SOAPUI調用以下異常:

Error during type conversion from type: org.apache.cxf.message.MessageContentsList to the required type: byte[] with value [Test, [email protected]] due argument type mismatch 

我認爲MapWrapper類導致了這個異常。但如何解決這個問題?

回答

1

同樣的問題一遍又一遍....

使用你的接口Java具體構造你公開爲Web服務。我正在採取有關HashMap

Web Services是一種集成技術,旨在連接任何平臺(甚至非OO客戶端)中的組件。所有在Web服務中傳遞的對象都應該是值傳輸對象。不復雜的商業對象等

這不僅是正確的方法,它是編碼和部署過程中遇到的問題最少的方法。

+0

好的。但需要一個HashMap或者至少類似的東西,會有什麼作用? – 2013-02-17 13:40:43

+0

我建議你重新設計你的界面。如果這是不可能的,那麼你可以通過數組array.I.e來「模擬」散列圖。使用行數組,其中每行都是2個元素的數組,鍵和值 – Cratylus 2013-02-17 14:41:48

+0

我明白你的意思,WebServices應該是獨立於平臺的。但在我的情況下,WS只是一個嵌入式接口,可以調用java應用程序。 – 2013-02-17 15:23:38