Cognos のゲートウェイをISAPIに変更してCognos Mobileがつながらない場合


内容

Cognos BIでゲートウェイをcognos.cgiからcognosisapi.dllに変更する事は、通常良くある構成だと思います。

しかしながら、ISAPIに変更した環境で、Cognos Mobileから普通に接続しても、接続できない事が良く起こります。というか、私の経験上、毎度接続できません。

そんな時は、私は深く考える事なく、以下のファイルを修正して解決しています。

C:\Program Files\ibm\cognos\c10_64\webcontent\m\mobilelauncher.html

修正前

            function splashLoaded(img){
                img.style.visibility = "visible";
                var referrer = document.referrer.split('/');
                if (referrer[referrer.length-1] == "") referrer.pop();

                if (referrer[referrer.length-1] == "isapi") {
                    window.setTimeout("window.location.replace('../cgi-bin/cognosisapi.dll?b_action=xts.run&m=portal/main.xts&startwel=yes')",5);
                } else if (referrer[referrer.length-1] == "mod") {
                    window.setTimeout("window.location.replace('../cgi-bin/cognos_module?b_action=xts.run&m=portal/main.xts&startwel=yes')",5);
                } else if (referrer[referrer.length-1] == "p2pd" || (referrer[referrer.length-1] == "index.html" && referrer[referrer.length-2] == "p2pd")) {
                    window.setTimeout("window.location.replace('../servlet/dispatch?b_action=xts.run&m=portal/main.xts&startwel=yes')",5);
                } else {
                    window.setTimeout("window.location.replace('../cgi-bin/cognos.cgi?b_action=xts.run&m=portal/main.xts&startwel=yes')",5);
                }
            }

修正後
※下から3行目の、cognos.cgiをcognosisapi.dllに変更しています。

            function splashLoaded(img){
                img.style.visibility = "visible";
                var referrer = document.referrer.split('/');
                if (referrer[referrer.length-1] == "") referrer.pop();

                if (referrer[referrer.length-1] == "isapi") {
                    window.setTimeout("window.location.replace('../cgi-bin/cognosisapi.dll?b_action=xts.run&m=portal/main.xts&startwel=yes')",5);
                } else if (referrer[referrer.length-1] == "mod") {
                    window.setTimeout("window.location.replace('../cgi-bin/cognos_module?b_action=xts.run&m=portal/main.xts&startwel=yes')",5);
                } else if (referrer[referrer.length-1] == "p2pd" || (referrer[referrer.length-1] == "index.html" && referrer[referrer.length-2] == "p2pd")) {
                    window.setTimeout("window.location.replace('../servlet/dispatch?b_action=xts.run&m=portal/main.xts&startwel=yes')",5);
                } else {
                    window.setTimeout("window.location.replace('../cgi-bin/cognosisapi.dll?b_action=xts.run&m=portal/main.xts&startwel=yes')",5);
                }
            }

ファイル修正後は、IISを再起動しましょう。

ISAPIに変更してCognos Mobileからつながらない場合に、とりあえず試してみて頂ければと。