Skip to main content

受け取り人Web(V2)アプリケーションのインストール

Apache HTTPサーバーを使用してSales Portalを展開します。

Apache HTTPサーバーへの受け取り人Webアプリケーションの展開

  1. Postmanで、payeewebテーブルhostname列を更新する呼び出しを行います。

    Request POST /admin/models/:modelID/payeeweb
    Sample Call Path: http://localhost:9101/services/admin/models/:modelID/payeeweb
    Method POST
    Body:{   
        "hostname": "PAYEEWEB_HOSTNAME"
    }

    ヒント

    ここにエラーが表示される場合は、トラブルシューティングのヒントの受け取り人Webホスト名をこのモデルに追加できないを参照してください。

  2. Postmanで、モデルテーブルのnew_payeewebを更新する呼び出しを行います。

    Request PATCH /admin/tenants/:tenantID/models/:modelID/newPayeewebStatus
    Sample Call Path: http://localhost:9101/services/admin/tenants/:tenantID/models/:modelID/newPayeewebStatus
    Method Patch 
    Body:{   
        "new_payeeweb": true
    }
  3. Apache htdocsフォルダの場所に移動し、受け取り人Webの新しいフォルダを作成します。例では、payeewebv2フォルダを呼び出します。

    ヒント

    初期設定では、htdocsは次の場所にあります:C:\Program Files\Apache Software Foundation\Apache2.2.34\htdocs

  4. httpd.confファイルを開き、<Directory “c:/Program Files/Apache2.2.34/Apache2/htdocs">で始まるディレクトリセクションを見つけ、そのセクションを次のように編集します。

    #Alias "/payeewebv2" PATH_TO_PAYEEWEBV2_FOLDER 
    Alias "/payeewebv2" "c:/Program Files/Apache2.2.34/Apache2/htdocs/payeewebv2"
        <Directory "c:/Program Files/Apache2.2.34/Apache2/htdocs/payeewebv2">
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            Allow from all#
            Require all granted
            DirectoryIndex index.html
            FallbackResource /payeewebv2/index.html
        </Directory>
  5. httpd.confファイルを保存します。

  6. Apache Webサービスを再起動します。

セールスポータルのHTTPS設定

  1. REST APIのHTTPSが設定されていることを確認してください。

  2. 次の場所に移動します。

    C:\Program Files\Apache Software Foundation\Apache2.2.16\conf

  3. httpd.confファイルを開きます。

  4. VirtualHost *:443セクションで、タグ内に次の行を追加します。

    #Alias "/payeewebv2" PATH_TO_PAYEEWEBV2_FOLDER
    Alias "/payeewebv2" "c:/Program Files/Apache2.2.34/Apache2/htdocs/payeewebv2"
    <Directory "c:/Program Files/Apache2.2.34/Apache2/htdocs/payeewebv2">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all#
    Require all granted
    DirectoryIndex index.html
    FallbackResource /payeewebv2/index.html
    </Directory>
  5. Apache Webサービスを再起動します。

インストールのトラブルシューティング

Webクライアントのバージョン2で、インストールの問題のトラブルシューティングを行います。

受け取り人Webホスト名をこのモデルに追加できない

症状

このエラーは、モデルテーブルのpayeeweb_hostname 列を更新するためにPostmanで呼び出しを行った後に発生します。

{
Message: “Could not add payeeweb hostname to this model”
}

原因

このエラーは、受け取り人Webアプリケーションが別のモデルに同じホスト名を設定している場合に発生します。

問題の診断

payeeweb_hostnamecitext列のPostgreSQLにあるモデルテーブルを確認します。目的外のモデルのホスト名を削除するか、または新しい名前を付けます。

URLが空白のページに移動する

index.htmlのパスが正しく設定されていない場合、受け取り人Webバージョン2のURLは空白のページに移動されることがあります。

症状

受け取り人Webバージョン2のURLが空白のページに移動します。

原因

index.htmlファイルでパスが正しく設定されませんでした。

問題の診断
  1. http://{{payeeweb_v1_host}}/payeewebv2に移動します。

  2. Webブラウザの開発者用ツールを開き、[ネットワーク]タブに移動します。

  3. 各ネットワーク呼び出しのパスを確認します。

すべての静的ファイルは、 index.htmlで設定したパスから取得されます。デフォルトはhttp://{{payeeweb_v1_host}}/payeewebv2/dist/です。

問題の解決

index.htmlファイルを確認し、すべてのパスが正しく設定されていることを確認します。必要に応じて、モデルへのアクセスの設定の手順を確認します。

受け取り人Web向けSSOの展開

Sales PortalにSSOを展開するには、SSO証明書を生成する必要があります。

key.pemおよびcert.pemの作成

keytoolはJREにバンドルされています。OpenSSLはOpenSSLツールから提供されます。

  1. C:\Program Files\Java\jdk1.8.0_221\binに移動し、次のコマンドを入力して、キーストアファイルを生成します。

    Keytool.exe -genkeypair -alias test -keyalg RSA -keystore keystore.jks
  2. 次のコマンドを実行して、キーストアからp12ファイルを抽出します。

    Keytool.exe -importkeystore -srckeystore keystore.jks -destkeystore keystore.p12 -deststoretype PKCS12 -srcalias test -deststorepass changeit -destkeypass changeit
  3. ディレクトリをC:\Program Files\OpenSSL\binに変更し、次のコマンドを入力して証明書を取得します。

    openssl pkcs12 -in keystore.p12 -nokeys -out cert.pem
  4. パスワードを入力するように求められたら、-deststorepassのパスワードを入力します。ステップ2でコマンドを入力したのとまったく同じ場合は、changeitです。

  5. 次のコマンドを実行して、キーを取得します。

    openssl pkcs12 -in keystore.p12 -nodes -nocerts -out key.pem
  6. パスワードを入力するように求められたら、-deststorepassのパスワードを入力します。ステップ2でコマンドを入力したのとまったく同じ場合は、changeitです。

SAML 2.0証明書のアップロード

証明書を作成したら、REST APIを使用してPostgreSQLにアップロードします。

  1. Postmanで次のREST API呼び出しを作成して実行します。

    yourServer/services/sso/certs/sp/new
    Sample Path: http://localhost:9101/services/sso/certs/sp/new
    Method: POST
    Body: 
    {
    "cert_name": "aUniqueCertificateName",
    "certificate": "yourCertificateValueNoHeaders",
    "private_key": "yourDecryptedPrivateKeyWithHeaders",
    "certificate_expiry": "YYYY-MM-DD"
    }

    名前

    説明

    cert_name

    これは、データベースとモデル内で一意である限り、任意の値にできます。

    証明書

    cert.pemファイルを開き、ヘッダーとフッターのBEGIN CERTIFICATEEND CERTIFICATEの間に行をコピーします。これらの行を貼り付け、各行の最後に\nを追加します。

    private_key

    key.pemファイルを開き、BEGIN/END RSA PRIVATE KEY ヘッダーとフッターを含むすべてのコンテンツをコピーします。これらの行を貼り付け、\nフッターの後を除く各行の末尾にEND RSA PRIVATE KEYを追加します。その後、すべての改行文字を削除し、1行に1つの文字列があるようにします。

    certificate_expiry

    これはcert.pemからの有効期限です。自分のファイルを見つけるには、cert.pemファイルをコピーします。貼り付けて名前をcert.cerに変更します。これで、証明書を開くことができます。[有効期間開始日]セクションの[一般]タブで有効期限を確認できます。

    sso_certificate_keyにすでに存在する証明書の情報が必要な場合は、次の呼び出しを使用できます。

    GET http://server name:9101/services/sso/certs/sp/all
  2. 次の呼び出しを使用して、テナントサービス上のモデルのSSO設定エントリを作成します。

    Path: <TenantServices Path>/services/sso/configs/<model_id>
    
    Body:
    {
    "idp_options": {
    "sso_login_url": "sso_login_url",
    "sso_logout_url": "sso_logout_url",
    "certificates": ["yourIDPCert"],
    "force_authn": true/false,
    "sign_get_request": true/false,
    "allow_unencrypted_assertion": true/false
    },
    
    "sp_options": {
    "entity_id_new": "https://<server name>/payeewebv2",
    "entity_id": "https://<server name>/payeeweb", 
    "assert_endpoint_new": "https://<server name>/services/saml/acs/payeeweb",
    "assert_endpoint": "https://<server name>/payeeweb/acs.html", 
    "nameid_format": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
    },
    "sp_cert_key_id": "",
    "nameid_column": "Email_",
    "nameid_format": "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
    "enable_msal_mobile":false,
    "msal_id":null,
    "is_sso_enabled": "true/false",
    "allow_native_login": true/false,
    "ignore_signature": true/false
    }
    

    名前

    説明

    entity_id_new

    受け取り人Webの一意のエンティティID。IdP設定の同じ値と一致する必要があります。

    entity_id

    受け取り人Webクラシックの一意のエンティティID。IdP設定の同じ値と一致する必要があります。

    assert_endpoint_new

    <サーバー名は>、受け取り人WebへのフロントエンドURLで、後にエンドポイント'/services/saml/acs/payeeweb'が続きます。フロントエンドURL は、postgresデータベースの受け取り人Webテーブルで設定されたhostname列と一致する必要があります。

    • <サーバー名>の後にエイリアスを含めないでください。

    • hostnameがHTTPのみで設定されている場合は、HTTPSを含めないでください。

    assert_endpoint_new

    <サーバー名は>、受け取り人WebクラシックへのフロントエンドURLで、後にエンドポイント'/payeeweb/acs.html'が続きます。

    • hostnameがHTTPのみで設定されている場合は、HTTPSを含めないでください。

    注記

    受け取り人Webクラシックまたは受け取り人Webを使用していない場合は、属性にダミー値を入力します。これはAPI呼び出しの構文に必要です。

    フロントエンドURLでHTTPSを使用する場合、default.json呼び出しが成功するには、テナントサービスの'/sso_redirect'ファイルに追加の設定が必要です。default.jsonで、payeeweb.portpayeeweb.protocolを次のように変更します。

    "Payeeweb": {
    "port": "443",
    "protocol": "https",
    "path": {
    "sso_redirect": "/payeewebv2/sso_redirect"
    }

    重要

    この手順は、受け取り人WebのSSO対応のログインループを防止するために必要です。

  3. 次の呼び出しを使用して、テナントサービスからspメタデータをダウンロードします。

    Path: <TenantServices Path>/services/sso/configs/<model_id>/metadata?isNew=true
    Method: GET
    Content-Type: application/xml
    Sample Path: http://localhost:9101/services/sso/configs/1/metadata?isNew=true 

受け取り人Webへのログイン

  1. Sales PortalのURLをWebブラウザに入力します。URLの形式は、アプリケーションサーバーのホスト名またはIPの後に Apache HTTPDのポートが続き、/payeewebv2で終わる形式です。

    http://hostname:80/payeewebv2

    ヒント

    空白のページが表示された場合は、トラブルシューティングのヒントのURLが空白のページに移動するを参照してください。

  2. Web対応の受け取り人の資格情報を使用してログインします。

    ヒント

    [グループ]タブに移動してグループを選択し、[Webアクセスの管理]ボタンをクリックすると、ポータル・アクセスで受け取り人を有効にすることができます。[Web対応]チェックボックスを選択します。また、このウィンドウからパスワードをリセットすることもできます。

成功すると、Sales Portalホームページが表示されます。ポータル・アクセスでWebタブを設定した場合、レポートが表示されます。

Salesforce.comとの統合

Varicent® SPM(Sales Performance Management)Webクライアントは、Salesforce.comと統合して、Salesforce.comからアクセスできるように設定できます。

Salesforce.com用のWebクライアントの設定

Varicent® SPM(Sales Performance Management)Webクライアントをインストールした後、web.xmlWebクライアントがSalesforce.comからアクセスできるようにWeb設定ファイルを変更する必要があります。VaricentWebクライアントを最初に展開する必要があります。

  1. デフォルトでは次の場所にある、web.xmlファイルに移動します:...\webapps\ICM\WEB-INF

  2. Parametersセクションで、security.xmlsecurity-salesforce-composite.xmlに変更します。

  3. ファイルを保存した後、変更を有効にするためにVaricentWebクライアントを再起動します。

Salesforce.comからのWebクライアントへのアクセス

Salesforce内のタブからIncentivesWebクライアントにアクセスできるようにします。

作成したモデルが必要です。モデルでは、Salesforce.comにログインしているユーザーと同じ電子メールアドレスを持つ受け取り人を作成する必要があります。その受け取り人をワークフロー・グループに追加し、Webアクセスを有効にする必要があります。Webクライアントも展開する必要があります。

  1. 管理者権限を持つユーザーIDでSalesforce.comにログインします。

  2. ユーザー名をクリックしてドロップダウンメニューにアクセスし、[設定]を選択します。

  3. [アプリケーションの設定]セクションで、[作成][タブ]をクリックします。

  4. [Webタブ]セクションで[新規]をクリックします。

    これにより、Salesforce.comウィンドウ内にVaricentコンテンツを表示するカスタムタブを作成できます。

  5. 次のいずれかのオプションを選択できます。

    オプション

    説明

    全ページ幅

    全ページ幅を使用して、VaricentWebクライアントを表示します。

    Salesforceサイドバー付き2列

    このオプションは、Salesforce.comのサイドバーを表示します。

  6. 選択が完了したら、[次へ]をクリックします。

  7. 次の手順を実行して、Varicentタブのコンテンツと表示プロパティを定義します。

    1. [タブコンテンツの定義]セクションで、[タブタイプ]メニューから[URL]を選択します。

    2. [タブラベル]フィールドに、ラベルに表示するテキストを入力します。

    3. [タブ名]フィールドで、タブに一意の名前を付けます。これは、タブラベルと同じにすることができます。

    4. スタイル画面から[タブスタイル]を選択して、タブの色を選択します。

    5. [コンテンツフレームの高さ]フィールドでは、Varicentコンテンツフレームの高さ(ピクセル単位)を指定できます。

      800ピクセル以上のフレームの高さを指定します。

  8. [URL]フィールドに、次の文字列を貼り付け、必要に応じてパラメーターを置き換えます。

    http://localhost:8080/payeeweb/sforce_composite_login?SessionId={!API.Session_ID}&ServerURL={!API.Partner_Server_URL_540}&Tenant=TENANTNAME&Model=MODELNAME

    パラメーター

    説明

    http://localhost:8080/payeeweb

    これは、WebアプリケーションのURLです。

    例:https://tenant-model-trunk.spm.ibmcloud.com/payeeweb

    TENANTNAME

    これはテナントの名前です。

    Varicentクラウドで使用している場合は、テナント名について IBMのサポートにお問い合わせください。

    MODELNAME

    これはモデルの名前です。

  9. エンコードをUnicode(UTF-8)に設定します。

  10. [保存]をクリックします。

これで、新しく作成したタブからVaricentWebクライアントにアクセスできるようになります。このタブをクリックすると、SSOを使用するSalesforce.comユーザーと同じ電子メールアドレスを持つユーザーとして、Webクライアントにログインされます。

Webクライアントの外観

Webクライアントの異なるWebユーザーへのWebタブの表示方法は、Varicent® SPM(Sales Performance Management)クライアントのポータル・アクセスモジュールで設定します。

詳細については、「ユーザーガイド」のポータル・アクセスのセクションを参照してください。