簡體   English   中英

讓Java Web服務返回Null Web結果

[英]have a java web service return a Null Web Result

我有一個Java Web服務,當找不到任何項目時,我希望返回一個空對象。 取而代之的是,我找回一個實例,將所有屬性設置為null。 我可以檢查具有null屬性的項目,但希望返回自身的項目為Null。

@WebMethod
@WebResult(name="item")
public item findItem(
            @WebParam(name="Id") int Id){
  //...
  if(ItemNotFound(Id)){
    return null;
  }
}

在客戶端,wsItem不為null

item wsItem=ws.findItem(1);
if(wsItem==null){
  // this will not be hit
}

檢查item屬性將在客戶端運行

item wsItem=ws.findItem(1);
    if(wsItem.Property1==null){
      // this will
    }

根據您提供的信息,我不明白為什么您不能簡單地做

if(item.getProperties() == null)
    return null;

編輯:
好的,既然您已經更新了更多代碼,那么我對發生的事情有了更好的了解。 您可以設置一些斷點嗎? 您確定ItemNotFound返回的是true ,並且您實際上是在服務代碼中到達return null行嗎? 因為我看不到其中的new關鍵字,所以必須執行一些額外的操作才能使客戶端代碼負責。

編輯2:
我最初將其作為純Java問題解決,但是基於您的最新評論,事實並非如此。 聊天中指出,這可能與您的注釋或其他某種更廣泛的設置有關。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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