Sitecore Commerce Transaction ServiceとReference Storefront Site間のHTTPSの有効化


説明

Microsoft Dynamics 8.0 Update-1の機能を使用しているSitecore Commerceでは、トランザクション サービスの一部の機能でHTTPSプロトコルが使用されています。

必要に応じて、以下の手順に従ってSSL通信を完全に有効にしてください。

解決策

トランザクション サービス側:

  1. \Website\TransactionService\web.configファイルで(下記の例では、トランザクション サービスがSitecoreウェブサイトでデプロイされていると想定します) 、下記のコードを、
    <binding name="wsSoapBinding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:20:00" sendTimeout="00:20:00" maxBufferPoolSize="10485760" maxReceivedMessageSize="1048576" messageEncoding="Text" textEncoding="utf-16" useDefaultWebProxy="true">
      <readerQuotas maxStringContentLength="1048576" maxBytesPerRead="1048576" />
      <security mode="None">
        <message clientCredentialType="Windows" negotiateServiceCredential="false" algorithmSuite="Default" establishSecurityContext="false" />
      </security>
    </binding>
    下記のコードに変更します。
    <binding name="wsSoapBinding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:20:00" sendTimeout="00:20:00" maxBufferPoolSize="10485760" maxReceivedMessageSize="1048576" messageEncoding="Text" textEncoding="utf-16" useDefaultWebProxy="true">
      <readerQuotas maxStringContentLength="1048576" maxBytesPerRead="1048576" />
      <security mode="Transport">
        <transport clientCredentialType="None"/>
      </security>
    </binding>
  2. <services>配下の各サービスについて、下記のコードを、
    <endpoint binding="mexHttpBinding" address="mex" contract="IMetadataExchange" />
    下記のコードに変更します。
    <endpoint binding="mexHttpsBinding" address="mex" contract="IMetadataExchange" />
  3. IIS マネージャーで、AXRefStorefront -> TransactionServiceに移動し、機能ビューのSSL 設定を選択します。SSLが必要オプションを有効にします。
    サイトを更新し、httpsを使用して何らかのサービスに移動します。例えば:
    https://ax.reference.storefront.com/TransactionService/CheckoutService.svc

    サービスが動作していることを確認します。ほとんどの場合、証明書が信頼されていないことの通知が表示されます。その場合、「信頼されたルートの証明機関」にインストールします。これが、ウェブ ブラウザから階頼されたルートへの場所を選択するか、Microsoft 管理コンソールから実施することができます。

クライアント側:

  1. \Website\App_Config\DynamicsRetail.Connectors.Services.configファイルで下記のコードを
    <wsHttpBinding>
      <binding name="wsBinding"  maxReceivedMessageSize="2147483647">
        <security mode="None">
          <transport clientCredentialType="Windows" proxyCredentialType="None" realm="" />
          <message clientCredentialType="Windows" negotiateServiceCredential="false" algorithmSuite="Default" establishSecurityContext="false" />
        </security>
      </binding>
    </wsHttpBinding>
    下記のコードに変更します:
    <wsHttpBinding>
      <binding name="wsBinding"  maxReceivedMessageSize="2147483647">
        <security mode="Transport">
          <transport clientCredentialType="Windows" proxyCredentialType="None" realm="" />
          <message clientCredentialType="Windows" negotiateServiceCredential="false" algorithmSuite="Default" establishSecurityContext="false" />
        </security>
      </binding>
    </wsHttpBinding>
  2. すべてのエンドポイントについては、下記のコードを
    <endpoint address="http
    下記のコードに変更します:
    <endpoint address="https