Web services J2ME存根生成具有JPA实体类型的未知异常

Web services J2ME存根生成具有JPA实体类型的未知异常,web-services,java-me,stub,jsr172,Web Services,Java Me,Stub,Jsr172,我使用NetBeans 7.0创建了一个web服务存根,当我尝试使用它时,它抛出一个未知异常。我甚至不知道要在这里显示代码的哪一部分,我只知道粗体的一行会生成未知的异常: public Businesses[] findBusiness(String query) throws java.rmi.RemoteException { Object inputObject[] = new Object[]{ query }; Operation op = O

我使用NetBeans 7.0创建了一个web服务存根,当我尝试使用它时,它抛出一个未知异常。我甚至不知道要在这里显示代码的哪一部分,我只知道粗体的一行会生成未知的异常:

public Businesses[] findBusiness(String query) throws java.rmi.RemoteException {
    Object inputObject[] = new Object[]{
        query
    };

    Operation op = Operation.newInstance(_qname_operation_findBusiness, _type_findBusiness, _type_findBusinessResponse);
    _prepOperation(op);
    op.setProperty(Operation.SOAPACTION_URI_PROPERTY, "");
    Object resultObj;
    try {
        resultObj = op.invoke(inputObject);
    } catch (JAXRPCException e) {
        Throwable cause = e.getLinkedCause();
        if (cause instanceof java.rmi.RemoteException) {
            throw (java.rmi.RemoteException) cause;
        }
        throw e;
    }

    return businesses_ArrayfromObject((Object[]) resultObj);
}

private static Businesses[] businesses_ArrayfromObject(Object obj[]) {
    if (obj == null) {
        return null;
    }
    Businesses result[] = new Businesses[obj.length];
    for (int i = 0; i < obj.length; i++) {
        result[i] = new Businesses();
        Object[] oo = (Object[]) obj[i];
        result[i].setAddress((String) oo[0]); // **exception here**
        result[i].setEmail((String) oo[1]);
        result[i].setId((Integer) oo[2]);
        result[i].setName((String) oo[3]);
        result[i].setPhoneno((String) oo[4]);
        result[i].setProducts((String) oo[5]);
    }
    return result;
}`
公共企业[]findBusiness(字符串查询)抛出java.rmi.RemoteException{ 对象输入对象[]=新对象[]{ 查询 }; Operation op=Operation.newInstance(_qname_Operation_findBusiness,_type_findBusiness,_type_findBusinessResponse); _预操作(op); op.setProperty(Operation.SOAPACTION_URI_PROPERTY,“”); 对象结果j; 试一试{ resultObj=op.invoke(inputObject); }捕获(JAXRPCException e){ 可丢弃原因=e.getLinkedCause(); if(导致java.rmi.RemoteException实例){ 抛出(java.rmi.RemoteException)原因; } 投掷e; } 从对象((对象[])resultObj)返回业务数组; } 私有静态业务[]业务\数组来自对象(对象对象对象[]){ if(obj==null){ 返回null; } 业务结果[]=新业务[目标长度]; for(int i=0;i 我尝试使用一个web应用程序使用相同的web服务,它运行得非常好。我一点也不知道是什么导致了这个异常。如有任何意见,将不胜感激

更新 我尝试了其他返回字符串数据类型的服务,效果很好。所以我想也许J2ME在JPA实体类型方面有问题


因此,我的问题是如何正确地返回数据,以便J2ME客户端能够很好地读取它?

您使用的是什么版本的JME,您确定存根使用的所有类在JME中都是可用的吗?webservice返回一个JPA实体列表,存根生成器将其转换为一个对象数组。我认为存根使用的所有类都应该得到支持,因为它自己生成了文件。你能在你的问题堆栈中添加你提到的异常吗?我试图获取堆栈跟踪,但它打印出“无堆栈跟踪”或类似的内容。我决定使用RESTful web服务,即JSR311