返回' null'在webservice webmethod中

时间:2015-12-10 12:39:02

标签: java web-services soap

我有一个简单的网络服务,玩弄我发现如果我返回python myscript.py example-output-file.txt我会得到以下异常:

null

以下是示例代码,是否有允许webservice返回空值的配置?
处理字符串不是一个大问题,我只会返回com.sun.xml.internal.ws.fault.ServerSOAPFaultException: Client received SOAP Fault from server: Method Parameter: return cannot be null. This is BP 1.1 R2211 violation. Please see the server log to find more detail regarding exact cause of the failure. 返回POJO怎么样?
从数据库中读取我会优先返回""而不是创建一个空的POJO。

null

编辑 -

假设我想在客户端上执行以下操作:

@WebService
@SOAPBinding(style = Style.RPC)
public interface IShareObjectService {

    @WebMethod
    String getTest();
}


@WebService(endpointInterface = "ch.scodi.share.service.IShareObjectService", name = "ShareObjectService", serviceName = "ShareObjectService", targetNamespace = "http://shareserver/ws/")
public class ShareObjectService implements IShareObjectService {
    /** ShareObject data access object */
    private ShareObjectDAO dao;

    @Override
    public String getTest() {
        return null;
    }
}

现在我必须做这样的事情,需要一个'存在......'每个人得到的方法......'和'找到...'返回单个结果的方法。

Category category = categoryService.getByName(name);
if (category == null) {
    category = categoryService.create(name);
}
category...

所以我觉得我错过了什么?

1 个答案:

答案 0 :(得分:3)

我找到了一个解决方案,我不得不改变我的服务界面的以下内容 @SOAPBinding(style = Style.RPC)@SOAPBinding(style = Style.DOCUMENT)

@WebService
@SOAPBinding(style = Style.DOCUMENT)
public interface IShareObjectService {

  @WebMethod
  String getTest();
}

关于装订风格的更多信息可以在这里找到:
{{3}}