追加のオプション パラメータを処理するために、既存の Liferay Web サービス ( Service Builderで作成) を拡張する必要があります。
Service Builder では、メソッド シグネチャ内のすべてのパラメーターを指定する必要があります。
public String getList(String param1){ .. }
これにより、get-list
という名前のパラメーターを受け入れる Web サービスが作成されparam1
ます。呼び出しを行うときにすべてのパラメーターを指定する必要があります。そうしないと、呼び出しが失敗します。オプションのパラメーターが必要な場合は、空の値を渡して、不足しているパラメーターをコード内で処理します。
私の問題は下位互換性です。この Web サービスは既にモバイル アプリで使用されており、アプリによる呼び出しを変更できません。追加のパラメーターは、メソッド シグネチャを変更せずに処理する必要があります。
BaseServiceImplを見て、次の方法でパラメーターを取得しようとしました。
HttpServletRequest request = com.liferay.util.axis.ServletUtil.getRequest();
String value = ParamUtil.getString(request, "param-name");
しかし、それは関連をスローしNoClassDefException
ますcom.liferay.util.axis.ServletUtil
。
実際にこれを行う方法はありますか?