HNagatomi

フォーラムへの返信

11件の投稿を表示中 - 1 - 11件目 (全11件中)
  • 投稿者
    投稿
  • HNagatomi
    参加者

    お世話になっております。

    明日以降、少し時間が空くやもしれませんが、お教えいただいた方法でやってみます。

    何度もご検討・ご教授いただきまして、まことにありがとうございました。

    失礼致します。

    HNagatomi
    参加者

    お世話になっております。
    以下の内容となりました。
    “kpsdebug_host”:”nissan-neji–kpsr.ap0.visual.force.com”

    今回は子ウィンドウの表示が本番のログイン画面になったので、
    そのままユーザーIDをワンクリックすると、データ確認結果画面が表示されるという
    動きになりました。

    今回のプログラムは本番環境だけのプログラムなのでしょうか?
    sandboxにも導入しましたが、sandboxでは、子ウィンドウに本番のログイン画面が表示されて
    しまいます。

    >正常にいく場合もあるのですか?

    はい、最初の問合せにも書きましたが、書込みが多くなってしまい申し訳ありません。
    10回くらいリトライすると、うまく印刷画面が表示される場合があります。
    ただし、規則性がありません。

    以上です、よろしくお願い致します。

    HNagatomi
    参加者

    たいへんお世話になっております。

    ご指示通り、インストール後に再度試しましたが、残念ながら同じ結果となります。
    以下にその際のURLを記載させていただきます。

    [本番環境]帳票オブジェクトを開いた時点のURL:
    https://nissan-neji–kpsr.ap0.visual.force.com/apex/ReportDev?id=a1710000002VTCa&sfdc.override=1

    [本番環境]帳票オブジェクトの印刷テスト時
    ・印刷画面になる正常ケースのURL:
    https://kps-reportsconnect5.herokuapp.com/dl2?state=x005752034675807982
    ・ログイン画面になるケースのURL:
    https://test.salesforce.com/

    [本番環境]帳票出力プログラムの実行時
    ・印刷画面になる正常ケースのURL:
    https://kps-reportsconnect5.herokuapp.com/dl?code=aPrxr1wu_XMKux1YKuln.afR.08MxdZY9Nivz9diBJQHBOQgfPqijgMEvJqNSMshG37G8nWGGw%3D%3D&state=x6254333645250197
    ・ログイン画面になるケースのURL:
    https://test.salesforce.com/

    #何れもログイン画面になるケースでは、ログイン画面に、sandboxのユーザーIDが表示されます。
    #ブラウザ(Chrome、IEの2種)のキャッシュには本番ユーザーIDのみを保存するようにしてもです。
    #この点が、最初にご指摘いただいたキャッシュの問題なのかとも思われます。

    [sandbox]帳票オブジェクトを開いた時点のURL:
    https://nissan-neji–sb1–kpsr.cs6.visual.force.com/apex/ReportDev?id=a17N00000023nM1&sfdc.override=1

    [sandbox]帳票オブジェクトの印刷テスト時
    ・印刷画面になる正常ケースのURL:
    https://kps-reportsconnect5.herokuapp.com/dl2?state=x4460084676121463
    ・ログイン画面になるケースのURL:
    https://test.salesforce.com/

    [sandbox]帳票出力プログラムの実行時
    ・印刷画面になる正常ケースのURL:
    https://kps-reportsconnect5.herokuapp.com/dl?code=aPrxr1wu_XMKux1YKuln.afR._85O.ClflNzafurBUlcieYdmsHOgk0prcuqKK.Ah_oLtr9NmQ%3D%3D&state=x8909639167430297
    ・ログイン画面になるケースのURL:
    https://test.salesforce.com/

    #たいへんお手数をおかけしております。何度もご対応いただき感謝致します。
    #ブラウザ(Chrome、IEの2種類)のキャッシュ操作も細かくやっているのですが…。
    #これまで御社にて同様のお問い合わせがないということでしたら、弊社のSalesforceの環境の問題でしょうか。

    HNagatomi
    参加者

    お世話になっております。早々のご回答をいただきありがとうございます。
    長くなりますが、以下に回答させていただきます。
    (今回は社名も変えずに実際のURLを記載させていただきます)

    ■ 各環境での URL.getSalesforceBaseUrl().getHost()の返値

    [本番]
    status:成功
    https://nissan-neji.my.salesforce.com/_ui/common/apex/debug/ApexCSIPage

    [sandbox]
    status:成功
    https://nissan-neji–sb1.cs6.my.salesforce.com/_ui/common/apex/debug/ApexCSIPage

      ※「-」はありませんが、「–」となっているのは問題ないでしょうか?

    ■ 下記コードの意味
    > string baseUrl = URL.getSalesforceBaseUrl().toExternalForm();
    > String sURL = baseUrl + ‘/apex/クラス名?引数1=’ + 引数値用変数;

    現在のサーバーのURLを取得しています。
    本番、sandboxの環境に対応できるようにと考えました。
    Salesforceのヘルプページ:https://help.salesforce.com/apex/HTViewSolution?id=000004264&language=ja

    ■ 印刷ボタンを押した際の画面のURL

    [本番]

    親ウィンドウ:https://nissan-neji–kpsr.ap0.visual.force.com/apex/ReportDev?id=a1710000002VTCa&sfdc.override=1
    子ウィンドウ:https://test.salesforce.com/?ec=302&startURL=%2Fsetup%2Fsecur%2FRemoteAccessAuthorizationPage.apexp%3Fsource%3Dl86Hcy6qEKtWNqzXVErZDlmcRQs0D_HBE55MLVuP3x8t5wXkyHYyrVx2Xb5JoWzyVOJrnTqMMaWy_Sfomv.j1xklSQ67NPiEbdAN956aA9PcslibB_D_AOUlRMOMmk4HTSLeu.8P.WN4Yk2daKOrTMfM3GTr_j655mgavPdcfx868qjP9hjYOiQ2C9xtg_JvnoGKrz.cn22jFkGAc8nRL4TlgU0xgyzD4ZH5Pa5ByWqN6EUfv0brAJGvKcV9XPagoYr0bc6wWXHFc8DA5h2VvY.6HAbXodz_T4_bhrUUXvFACWia8CCGwQlskr.31tGmA9q8dmJJa41SnWjZmWzQEk8_d0siSoVvGbvO5JfqYm_JDpdwqPz_LDXehgAkgVUWHQZ_TOY.wfVRQf7umSdgWbTUorIEYZ.KhIQYw6LBiAypoZW8hNDkA
    子ウィンドウにはSalesforceログイン画面が表示される。

    [sandbox]
    親ウィンドウ:https://nissan-neji–sb1–kpsr.cs6.visual.force.com/apex/ReportDev?id=a17N00000023nM1&sfdc.override=1
    子ウィンドウ:https://test.salesforce.com/?ec=302&startURL=%2Fsetup%2Fsecur%2FRemoteAccessAuthorizationPage.apexp%3Fsource%3Dl86Hcy6qEKtWNqzXVErZDlmcRQs0D_HBE55MLVuP3x8t5wXkyHYyrVx2Xb5JoWzyVOJrnTqMMaWy_Sfomv.j1xklSQ67NPiEbdAN956aA9PcslibB_D_AOUlRMOMmk4HTSLeu.8P.WN4Yk2daKOrTMfM3GTr_j655mgavPdcfx868qjP9hjYOiQ2C9xtg_JvnoGKrz.cn22jFkGAc8nRL4TlgU0xgyzD4ZH5Pa5ByWqN6EUfv0brAJGvKcV9XPagoYr0bc6wWXHFc8DA5h2VvY.6HAbXodz_T4_bhrUUXvFACWia8CCGwQlskr.31tGmA9q8dmJJa41SnWjZmWzQEk8_d0siSoVvGbvO5JfqYm_JDpdwqPz_LDXehgBmsHNqhsyokj48rumuRuIqGRBMLDpfTqQ.hK1DDCgZRuKYdhnxu1Gu4MGHc
    子ウィンドウにはSalesforceログイン画面が表示される。

    以上、長くなりましたが、ご確認の程、よろしくお願い致します。

    HNagatomi
    参加者

    お世話になっております。
    回答が遅くなりまして申し訳ありません。

    以下にうまくいかないケースのsalesforceのURL(本番とsand box)をお送りいたします。

    本番環境:
    https://nippon-neji.my.salesforce.com/home/home.jsp

    sandbox:
    https://nippon-neji–sb1.cs6.my.salesforce.com/home/home.jsp

    (因みにそのままURLを記載したくないので会社名の最初の部分を変えております)

    以上、よろしくお願い致します。

    HNagatomi
    参加者

    お世話になっております。お伝えしていなかったことが1つございました。

    帳票オブジェクトの「印刷テスト」ボタンを押しても、お伝えしたのと同様の動きになります。
    URLについても同様です。

    以上です。よろしくお願い致します。

    HNagatomi
    参加者

    ご回答いただきありがとうございます。
    うまくいかないケースのURLを以下に記載させていただきます。

    【うまくいかないケースのsalesforceのURL 本番環境】
    https://test.salesforce.com/services/oauth2/authorize?response_type=code&client_id=3MVG9yZ.WNe6byQAQYDKqo6PLjZ7HUsAvRIdCf6w3FwDpZ2iHioiFc9ID8SA6dWa4ZtC1B_zl.ivZQjrshGhK&redirect_uri=https://kps-reportsconnect5.herokuapp.com/dl&state=x4155438846765084

    【うまくいかないケースのsalesforceのURL sandbox環境】
    https://test.salesforce.com/services/oauth2/authorize?response_type=code&client_id=3MVG9yZ.WNe6byQAQYDKqo6PLjZ7HUsAvRIdCf6w3FwDpZ2iHioiFc9ID8SA6dWa4ZtC1B_zl.ivZQjrshGhK&redirect_uri=https://kps-reportsconnect5.herokuapp.com/dl&state=x7912573960593781

    両方ともに、うまくいかない場合子ウィンドウのURLフィールドには、
    「https://test.salesforce.com/~」が表示され、Salesforceのログイン画面が
    表示されます。

    >ちなみに、Salesforce 1 になってからうまくいかないということですが、
    Salesforce 1になる、というのは何か設定を変えたということですか?

      何も設定は変更しておりません。
      また時期的にSalesforce 1 になってから発生しているのでお伺いした次第でございます。

    お手数をお掛けしておりますが、ご回答の程よろしくお願い致します。

    HNagatomi
    参加者

    ご回答ありがとうございます。

    >子ウィンドウに渡されるURLですが、これは正しいURLです

      本番環境(非Sandbox)でも「https://test.salesforce.com/~」から始まるURLで
      問題ないということでしょうか?

    因みに、Salesforce 1 になる前のSandbox環境では問題なく動作しており、
      その時のURLは、以下のように始まります。
    「https://cs6.salesforce.com/setup/secur/RemoteAccessAuthorizationPage.apexp?~」
     
    >このURLをブラウザーで呼び出してsandboxのユーザーでログインしてReportsconnectの画面になりませんか?

      ご指摘の通りURLをブラウザーで呼び出すと、RConnectの画面になりますが、
      エラーとなります。
    (サーバーエラー:印刷処理が行えませんでした。再度処理を行なってください。x060314571814079954)

    Salesforce 1 になる前のSandbox では、問題なく子ウィンドウにRConnectの画面が
    表示されるのですが、Salesforce 1 になったことによる影響とかはございませんか?
    特に設定の追加、変更など必要はないでしょうか?

    度々で申し訳ありませんが、ご回答の程、よろしくお願い致しいます。

    HNagatomi
    参加者

    連投で失礼致します。

    子ウィンドウに渡されるURLを以下の内容でした。

    https://test.salesforce.com/services/oauth2/authorize?response_type=code&client_id=3MVG9yZ.WNe6byQAQYDKqo6PLjZ7HUsAvRIdCf6w3FwDpZ2iHioiFc9ID8SA6dWa4ZtC1B_zl.ivZQjrshGhK&redirect_uri=https://kps-reportsconnect5.herokuapp.com/dl&state=x060314571814079954

    参考になれば幸いです。
    よろしくお願い致します。

    HNagatomi
    参加者

    早々のご回答ありがとうございます。

    >試しにそのままログインしてみたらどうなるでしょうか?
      ログイン画面が表示される場合は、ログインすると
      Salesforceのユーザーのホームのページが表示されます。印刷画面には遷移しません。

    Sandbox環境だと分かりにくいので、本番環境で動作を確認しました。
    確認前に本番環境のRConnectのヴァージョンが1.10だったので、1.19 にアップグレードしました。
    リモートサイトも “https://kps-reportsconnect5.herokuapp.com” に変更済みです。

    結果、本番環境でも同様に小ウィンドウが、https://test.salesforce.com/のログイン画面
    になってしまいます。
    ブラウザもChrome,FireFox,IEで試しましたが、結果は変わりませんでした。
    (全キャッシュ、Coookie削除)

    子ウィンドウに渡すURLを作成する際のクラスのコードの書き方ですが、
    以下のようにベースのURLを取得しています。これは正しいでしょうか?

    string baseUrl = URL.getSalesforceBaseUrl().toExternalForm();
    String sURL = baseUrl + ‘/apex/クラス名?引数1=’ + 引数値用変数;

    度々お手数をお掛け致しますが、ご回答の程、よろしくお願い致します。

      

    HNagatomi
    参加者

    早々のご回答をいただきまして、まことにありがとうございました。

    ご回答にございました goReport() は、goPrint() と判断して、
    ご指摘通り、Test.isRunningTest()で false が返った時のみ
    goPrint()を実行するように修正したところ、無事カバレッジテスト
    を通すことができました。

    こちらの勉強不足でお手数をお掛け致しました。
    重ね重ね、ありがとうございました。

11件の投稿を表示中 - 1 - 11件目 (全11件中)