0
私は、ksoap2とtomcat、axis2上で動作するjava webserviceを使用してAndroidアプリケーションを管理しています。返すWebサービスのメソッドがありますJava webservice complex types
:
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;
}
私は私のローカルPC上のWebサービスを使用しています(使用が新規作成> Webサービスなど)私はで満たされ、このタイプの配列を取得データ。
しかし、 私はそれを公開すると、このタイプの配列が得られますが、データはありません。
アイデアはありますか? 多分、私はいくつかの瓶を追加する必要がありますか? 何が問題なのですか?
私はこれをほとんど一週間執着しています。
私はまた、Androidの中に戻り値の型実装した
を助けが必要くださいくださいください
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;
}
}
}
をしかし、私が得ることである。その代わりに満たされているの
searchRecipesNewResponse{return=RecipeSmallReturnType{}; return=RecipeSmallReturnType{}; return=RecipeSmallReturnType{}; return=RecipeSmallReturnType{}; return=RecipeSmallReturnType{}; }
データ(ウェブサービスがホスト上にないが、loacl PC上のデータを取得する)
Yoav
webserviceまたはAndroidで実装しますか? KSerializableまたはKvmSerliazable - 戻り値の型です。なぜそれはローカルWebサービス上で動作しますが、ホスティング上で動作しませんか? – Yoav
OK、そのKvmSerializableをAndroidアプリケーションでクラスRecipeSmallReturnTypeに実装し、KvmSerializationの実装の詳細について少し検索してください – jeet
まだ動作しません - 編集を参照してください – Yoav