繁体   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