Uploaded image for project: 'Mobylet'
  1. Mobylet
  2. MOBYLET-115

[mobylet-core] MobyletSessionがguidで使えない

XMLWordPrintable

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major Major
    • 1.0.6
    • 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))

      { return new Entry("uid", id); }

      }
      ----------------------------------------

      ところがMobyletDocomoDialectの実装では、
      GUIDが設定されていなくても
      UIDが設定されている場合はgetGuid()がUIDを返すため、
      このロジックを通ることがありません。

      ----------------------------------------
      public String getGuid() {
      String guid = RequestUtils.get().getHeader("X-DCMGUID");
      if (StringUtils.isEmpty(guid))

      { guid = getUid(); }

      return guid;
      }
      ----------------------------------------

            Assignee:
            stakeuchi stakeuchi
            Reporter:
            stakeuchi stakeuchi
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: