私はフレームワークで作業しており、最後に到達できない問題を抱えています。
次のコードがあります。
String returnValue = LoginWorker.logout(request, response);
ShoppingCart newShoppingCart = ShoppingCartEvents.getCartObject(request);
簡単に言えば、これは次のことを行います: ユーザー (フレームワーク コード!) をログアウトし、新しいショッピング カートを作成します。
このコードはログアウトからのものです。
// now empty out the session
session.invalidate();
session = request.getSession(true);
ですから、間違いなく新しいセッションがあります。さて、ショッピングカートコンストラクターでは、これはフィールドを設定するために使用されるコードです(これが私の問題を引き起こしています):
this.orderPartyId = (String) session.getAttribute("orderPartyId");
セッションのこの値はログアウト後に設定されないため、このデータは NULL でなければなりません。これは、ローカル環境でも、ステージング (UAT) システムでも発生しません。ライブでのみ、私が本当に説明することはできません。
フレームワークは Apache Ofbiz ですが、これは特定のものではないと確信しています。
誰もが、これまでにこのようなことを経験したことがありますか。