-
Type: Bug
-
Resolution: Fixed
-
Priority: Major
-
Affects Version/s: 1.0.5
-
Component/s: mobylet-core
-
None
今回はMobyletについて質問させて頂きたく
メール致しました。
さて、現在私が所属しておりますプロジェクトにて、
Mobyletを使用した開発を実施しており、
Mobyletセッションを使用することとなり
その検証を担当しております。
NoSSL環境では特に問題なく動作しておりますが、
DOCOMO端末を使用した
SSL環境では想定通りに動作致しませんでした。
(UID/GUIDとも)
なおMobyletのバージョンにつきましては、
最新版をリポジトリから取得し、1.0.6で検証を行っております。
まずUIDの場合についてですが、
NoSSLのページにて<m:a>タグにてhttpsから始まるURLを指定すると
自動的にuid=${UID}がQuery文字列として付加される仕様であると
認識しております。
ところがこの文字列が出力されませんでしたので
Mobyletのソースコードを確認致しまして
TransitionDesigner#getOptionalEntryの以下の場所で
Query文字列を出力していることを確認しました。
----------------------------------------
String id = m.getGuid();
if (StringUtils.isEmpty(id)) {
id = m.getUid();
if (StringUtils.isNotEmpty(id))
}
----------------------------------------
ところがMobyletDocomoDialectの実装では、
GUIDが設定されていなくても
UIDが設定されている場合はgetGuid()がUIDを返すため、
このロジックを通ることがありません。
----------------------------------------
public String getGuid() {
String guid = RequestUtils.get().getHeader("X-DCMGUID");
if (StringUtils.isEmpty(guid))
return guid;
}
----------------------------------------