[英]Apache CXF web service doesn't return string array
我是Java Web服務編程的新手,這個問題似乎真的很基礎。 但我找不到問題。
我已經使用Eclipse為Tomcat 6.0.37開發了Apache CXF(v 2.7.6)Web服務。 基本上,我創建了一個動態Web項目,創建了webservice類,並從該類創建了webservice(Eclipse生成了其余的內容,包括wsdl和xsd)。 一切正常,除非我嘗試返回String數組。 這是我的方法
@WebMethod(action="getFriends")
public String[] getFriends(String u, String p){
return new String[] {"item 1","item 2","item 3"};
}
響應類型定義
<xs:complexType name="getFriendsResponse">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="return" type="xs:string"/>
</xs:sequence>
</xs:complexType>
這是返回的消息
ID:34編碼:UTF-8內容類型:text / xml標題:{}有效載荷:
如您所見,甚至沒有返回部分。 知道有什么問題嗎?
我為此項目使用Windows 7,Eclipse Kepler和JDK6。
無論我記得如何,它都行不通,因為您無法在HTTP響應中將數組解析為純文本。
嘗試這兩種方法-1)將方法的返回類型更改為String,然后像這樣返回字符串
return Arrays.toString(new String[] {"item 1","item 2","item 3"});
2)您可以更改列表的返回類型並返回這樣的列表-
return Arrays.asList(new String[] {"item 1","item 2","item 3"});
謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.