2012-01-07 55 views
1

我有一個使用kso​​ap2的android應用程序。 另外Tomcat上運行的web服務(的axis2)WebService複雜類型在部署後返回空的

上有web服務返回的方法:

public class RecipeSmallReturnType 
{ 
    public int  mId; 
    public String mName; 
    public String mDescription; 
    public String mUsername; 
    public int  mDifficulty; 
    public int  mServeCount; 
    public int  mPreparationTime; 
    public float mTotalRating; 
    public int  mNumOfVotes; 
    public int  mOwnerId; 
    public int  mUserRating; 
    public int  mNumOfViews; 
    public String mReleaseDate; 
} 

在客戶端(使用kso​​ap2機器人)我有實施KvmSerliazable

public class RecipeSmallReturnType implements KvmSerializable 
{ 
    public int  mId; 
    public String mName; 
    public String mDescription; 
    public String mUsername; 
    public int  mDifficulty; 
    public int  mServeCount; 
    public int  mPreparationTime; 
    public float mTotalRating; 
    public int  mNumOfVotes; 
    public int  mOwnerId; 
    public int  mUserRating; 
    public int  mNumOfViews; 
    public String mReleaseDate; 

    public Object getProperty(int param) 
    { 
     switch(param) 
     { 
      case 0:  return new Integer(mId); 
      case 1:  return mName; 
      case 2:  return mDescription; 
      case 3:  return mUsername; 
      case 4:  return new Integer(mDifficulty); 
      case 5:  return new Integer(mServeCount); 
      case 6:  return new Integer(mPreparationTime); 
      case 7:  return new Float(mTotalRating); 
      case 8:  return new Integer(mNumOfVotes); 
      case 9:  return new Integer(mOwnerId); 
      case 10: return new Integer(mUserRating); 
      case 11: return new Integer(mNumOfViews); 
      case 12: return mReleaseDate; 

      default: return null; 
     } 
    } 

    public int getPropertyCount() 

{ 
    return 13; 
} 

public void getPropertyInfo(int param, Hashtable arg1, PropertyInfo arg2) 
{ 
    switch(param) 
    { 
     case 0: 
      arg2.type = PropertyInfo.INTEGER_CLASS; 
      arg2.name = "mId"; 
      break; 

     case 1: 
      arg2.type = PropertyInfo.STRING_CLASS; 
      arg2.name = "mName"; 
      break; 

     case 2: 
      arg2.type = PropertyInfo.STRING_CLASS; 
      arg2.name = "mDescription"; 
      break; 

     case 3: 
      arg2.type = PropertyInfo.STRING_CLASS; 
      arg2.name = "mUsername"; 
      break; 

     case 4: 
      arg2.type = PropertyInfo.INTEGER_CLASS; 
      arg2.name = "mDifficulty"; 
      break; 

     case 5: 
      arg2.type = PropertyInfo.INTEGER_CLASS; 
      arg2.name = "mServeCount"; 
      break; 

     case 6: 
      arg2.type = PropertyInfo.INTEGER_CLASS; 
      arg2.name = "mPreparationTime"; 
      break; 

     case 7: 
      arg2.type = Float.class; 
      arg2.name = "mTotalRating"; 
      break; 

     case 8: 
      arg2.type = PropertyInfo.INTEGER_CLASS; 
      arg2.name = "mNumOfVotes"; 
      break; 

     case 9: 
      arg2.type = PropertyInfo.INTEGER_CLASS; 
      arg2.name = "mOwnerId"; 
      break; 

     case 10: 
      arg2.type = PropertyInfo.INTEGER_CLASS; 
      arg2.name = "mUserRating"; 
      break; 

     case 11: 
      arg2.type = PropertyInfo.INTEGER_CLASS; 
      arg2.name = "mNumOfViews"; 
      break; 

     case 12: 
      arg2.type = PropertyInfo.STRING_CLASS; 
      arg2.name = "mReleaseDate"; 
      break; 

     default: break; 
    } 
} 

public void setProperty(int param, Object obj) 
{ 
    switch(param) 
    { 
     case 0:  mId     = (Integer)obj; break; 
     case 1:  mName    = (String)obj; break; 
     case 2:  mDescription  = (String)obj; break; 
     case 3:  mUsername   = (String)obj; break; 
     case 4:  mDifficulty   = (Integer)obj; break; 
     case 5:  mServeCount   = (Integer)obj; break; 
     case 6:  mPreparationTime = (Integer)obj; break; 
     case 7:  mTotalRating  = (Float)obj; break; 
     case 8:  mNumOfVotes   = (Integer)obj; break; 
     case 9:  mOwnerId   = (Integer)obj; break; 
     case 10: mUserRating   = (Integer)obj; break; 
     case 11: mNumOfViews   = (Integer)obj; break; 
     case 12: mReleaseDate  = (String)obj; break; 

      default: return; 
     } 
    } 
} 
相同類

如果我運行webservice localy(在eclipse中使用new-> Web service->等),我得到的返回參數(數組填充數據)應該是。 但是 - 在webserice上部署後,我沒有收到數據。

searchRecipesNewResponse{return=RecipeSmallReturnType{}; return=RecipeSmallReturnType{}; } 

爲什麼在部署後發生? 如何解決它?

回答

0

您是否在您的Android應用中使用了正確的網址,並且該網域是可訪問的在手機上的瀏覽器?