public Game getGame(){
    
     // return new GameDAOImpl().getGame(new Long(1));这条语句执行不了,为什么??
    //而用以下语句却可以执行. webservice实现类为什么不能调用DAO实现类来获取对象?
     return new Game("Tank war",8.0,"no des","imges/games/tankwar.jpg",1);
     }
该方法为webservice实现类的一个方法
GameDAOImpl为DAO实现类
为什么  return new GameDAOImpl().getGame(new Long(1));执行会出错 (不是GameDAOImpl().getGame()有问题)
而return new Game("Tank war",8.0,"no des","imges/games/tankwar.jpg",1);就能执行

解决方案 »

  1.   

    忘记说了  用的是 XFIRE
      

  2.   

    在service.xml里面定义的对吗?
      

  3.   

    应该没错
    return new Game("Tank war",8.0,"no des","imges/games/tankwar.jpg",1);能执行就不是service.xml的问题了
      

  4.   

    出现source not found
    the jar file xfire-all-1.26.jar has not source attachment
    / Compiled from XFireProxy.java (version 1.4 : 48.0, super bit)
    public class org.codehaus.xfire.client.XFireProxy implements java.lang.reflect.InvocationHandler {
      
      // Field descriptor #65 Lorg/apache/commons/logging/Log;
      private static final org.apache.commons.logging.Log log;
      
      // Field descriptor #67 Lorg/codehaus/xfire/client/Client;
      private org.codehaus.xfire.client.Client client;
      
      // Field descriptor #69 Ljava/lang/Class;
      static synthetic java.lang.Class class$org$codehaus$xfire$client$XFireProxy;
      
      // Field descriptor #69 Ljava/lang/Class;
      static synthetic java.lang.Class class$java$lang$Object;
      
      // Method descriptor #73 (Lorg/codehaus/xfire/client/Client;)V
      // Stack: 2, Locals: 2
      XFireProxy(org.codehaus.xfire.client.Client client);
         0  aload_0 [this]
         1  invokespecial java.lang.Object() [6]
         4  aload_0 [this]
         5  aload_1 [client]
         6  putfield org.codehaus.xfire.client.XFireProxy.client : org.codehaus.xfire.client.Client [7]
         9  return
          Line numbers:
            [pc: 0, line: 27]
            [pc: 4, line: 28]
            [pc: 9, line: 29]
          Local variable table:
            [pc: 0, pc: 10] local: this index: 0 type: org.codehaus.xfire.client.XFireProxy
            [pc: 0, pc: 10] local: client index: 1 type: org.codehaus.xfire.client.Client
      
      // Method descriptor #80 ()Lorg/codehaus/xfire/client/Client;
      // Stack: 1, Locals: 1
      public org.codehaus.xfire.client.Client getClient();
        0  aload_0 [this]
        1  getfield org.codehaus.xfire.client.XFireProxy.client : org.codehaus.xfire.client.Client [7]
        4  areturn
          Line numbers:
            [pc: 0, line: 33]
          Local variable table:
            [pc: 0, pc: 5] local: this index: 0 type: org.codehaus.xfire.client.XFireProxy
      
      // Method descriptor #82 (Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
      // Stack: 4, Locals: 7
      public java.lang.Object invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args) throws java.lang.Throwable;
          0  aload_2 [method]
          1  invokevirtual java.lang.reflect.Method.getName() : java.lang.String [8]
          4  astore 4 [methodName]
          6  aload_2 [method]
          7  invokevirtual java.lang.reflect.Method.getParameterTypes() : java.lang.Class[] [9]
         10  astore 5 [parameterTypes]
         12  getstatic org.codehaus.xfire.client.XFireProxy.log : org.apache.commons.logging.Log [10]
         15  invokeinterface org.apache.commons.logging.Log.isDebugEnabled() : boolean [11] [nargs: 1]
         20  ifeq 75
         23  getstatic org.codehaus.xfire.client.XFireProxy.log : org.apache.commons.logging.Log [10]
         26  new java.lang.StringBuffer [12]
         29  dup
         30  invokespecial java.lang.StringBuffer() [13]
         33  ldc <String "Method ["> [14]
         35  invokevirtual java.lang.StringBuffer.append(java.lang.String) : java.lang.StringBuffer [15]
         38  aload 4 [methodName]
         40  invokevirtual java.lang.StringBuffer.append(java.lang.String) : java.lang.StringBuffer [15]
         43  ldc <String "] "> [16]
         45  invokevirtual java.lang.StringBuffer.append(java.lang.String) : java.lang.StringBuffer [15]
         48  aload_3 [args]
         49  ifnonnull 57
         52  ldc <String ""> [17]
         54  goto 64
         57  aload_3 [args]
         58  invokestatic java.util.Arrays.asList(java.lang.Object[]) : java.util.List [18]
         61  invokevirtual java.lang.Object.toString() : java.lang.String [19]
         64  invokevirtual java.lang.StringBuffer.append(java.lang.String) : java.lang.StringBuffer [15]
         67  invokevirtual java.lang.StringBuffer.toString() : java.lang.String [20]
         70  invokeinterface org.apache.commons.logging.Log.debug(java.lang.Object) : void [21] [nargs: 2]
         75  aload_0 [this]
         76  aload 4 [methodName]
         78  aload 5 [parameterTypes]
         80  aload_3 [args]
         81  invokespecial org.codehaus.xfire.client.XFireProxy.handleCanonicalMethods(java.lang.String, java.lang.Class[], java.lang.Object[]) : java.lang.Object [22]
         84  astore 6 [result]
         86  aload 6 [result]
         88  ifnonnull 99
         91  aload_0 [this]
         92  aload_2 [method]
         93  aload_3 [args]
         94  invokespecial org.codehaus.xfire.client.XFireProxy.handleRequest(java.lang.reflect.Method, java.lang.Object[]) : java.lang.Object [23]
         97  astore 6 [result]
         99  getstatic org.codehaus.xfire.client.XFireProxy.log : org.apache.commons.logging.Log [10]
        102  invokeinterface org.apache.commons.logging.Log.isDebugEnabled() : boolean [11] [nargs: 1]
        107  ifeq 146
        110  getstatic org.codehaus.xfire.client.XFireProxy.log : org.apache.commons.logging.Log [10]
        113  new java.lang.StringBuffer [12]
        116  dup
        117  invokespecial java.lang.StringBuffer() [13]
        120  ldc <String "Result ["> [24]
        122  invokevirtual java.lang.StringBuffer.append(java.lang.String) : java.lang.StringBuffer [15]
        125  aload 6 [result]
        127  invokestatic java.lang.String.valueOf(java.lang.Object) : java.lang.String [25]
        130  invokevirtual java.lang.StringBuffer.append(java.lang.String) : java.lang.StringBuffer [15]
        133  ldc <String "]"> [26]
        135  invokevirtual java.lang.StringBuffer.append(java.lang.String) : java.lang.StringBuffer [15]
        138  invokevirtual java.lang.StringBuffer.toString() : java.lang.String [20]
        141  invokeinterface org.apache.commons.logging.Log.debug(java.lang.Object) : void [21] [nargs: 2]
        146  aload 6 [result]
        148  areturn
     ...
    (内容太长了)
      

  5.   

    报“Compiled from XFireProxy.java (version 1.4 : 48.0, super bit)”
    是不是jdk版本问题!?
    你用什么应用服务器?
      

  6.   

    JDK是1.5的  
    TOMCAT服务器
      

  7.   

    GameDAOImpl().getGame(new Long(1))在非webservice实现类里都可以执行 一放到webservice实现类的方法里该实现类的方法就不可以执行