有一个java Web服务返回一个空Web结果

时间:2010-11-01 15:13:18

标签: java web-services

我有一个Java Web服务,当没有找到任何项时,我希望返回一个null对象。相反,我正在返回一个所有属性都设置为null的实例。我可以检查具有null属性的项目,但更喜欢返回的项目为Null。

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

在客户端,wsItem不为空

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
    }

1 个答案:

答案 0 :(得分:0)

根据你提供的信息,我不明白为什么你不能简单地做

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

编辑:
好的,既然您已经更新了更多代码,我就能更好地了解正在发生的事情。你能设置一些断点吗?您确定ItemNotFound正在返回true,并且您实际上已经到达服务代码中的return null行了吗?为了让客户端代码负责,我必须要做一些额外的事情,因为我在那里看不到new关键字。

编辑2:
我最初认为这是一个纯Java问题,但根据你的最新评论,这不是真的。聊天中指出,这可能与您的注释或其他更广泛的设置有关。