[英]Trouble returning an array through Java Web Service
我試圖返回一個對象,該對象具有幾個字符串以及另一個字符串數組(我保證這是有原因的)。 我遇到的麻煩是,當我用SoapUI測試我的方法時,我只會得到Strings。 字符串數組似乎完全丟失了。 任何線索我在做什么錯? 我的課看起來像這樣...
public class EmailListing {
public String type;
public String category;
public String[] emails;
public EmailListing() {
emails = new String[1];
}
public void setEmailList(String emaillist) {
this.emails = emaillist.split("\\|");
}
}
在使用此類的Web服務函數中,執行以下操作:
public EmailListing getEmailListing(int id) {
EmailListing el = new EmailListing();
try {
// get data from the database
// ...
//
while(rs.next()) {
el.type = rs.getString("type");
el.category = rs.getString("category");
el.setEmailList(rs.getString("emaillist"));
}
} catch(...) {
...
}
return el;
}
但是,在測試此服務時,我看到的唯一信息是類型和類別。 :(
編輯:打印方法和服務器端輸出的結果。
public void print() {
StringBuffer sb = new StringBuffer();
sb.append("Emails\n");
for(int i = 0; i < emails.length; i++) {
sb.append(" " + emails[i] + "\n");
}
System.out.println(sb.toString());
}
輸出看起來像:
Emails
XXXXX@gmail.com
XXXXXXX@gmail.com
編輯:添加收到的肥皂消息
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<getEmailListingResponse xmlns="http://services.test.com">
<getEmailListingReturn>
<type>data</type>
<category>data</category>
</getEmailListingReturn>
</getEmailListingResponse>
</soapenv:Body>
</soapenv:Envelope>
調試它,看看您是否真正得到了“ emailList”,如果是這樣,您可能會錯誤地拆分它,因為您的代碼對我來說看起來不錯。
EmailListing
外觀如何? 我最好的猜測是,您將需要創建某種XmlTypeAdapter 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.