簡體   English   中英

Apache CXF Web服務不返回字符串數組

[英]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>

這是返回的消息

INFO:出站郵件

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM