私の Sitecore 環境には、別々のドメインに別々の CM および CD サーバーがあります。WeBlogモジュールをインストールし、指示に従って設定をセットアップした後、次のエラーが表示されます (このページで強調表示されています)。
認証に失敗したため、セキュリティ トークンの要求を満たすことができませんでした。
例外の詳細: System.ServiceModel.FaultException: 認証に失敗したため、セキュリティ トークンの要求を満たすことができませんでした。
CM サーバーがファイアウォールの背後にある場合、おそらく最も簡単な解決策は認証について心配しないことですが、私はそれを機能させることができません。私は今、このエラーが発生しています:
メッセージを処理できませんでした。これは、アクション「http://tempuri.org/ICommentService/SubmitComment」が正しくないか、メッセージに無効または期限切れのセキュリティ コンテキスト トークンが含まれているか、バインディング間に不一致があるためである可能性があります。非アクティブのためにサービスがチャネルを中止した場合、セキュリティ コンテキスト トークンは無効になります。サービスがアイドル セッションを途中で中止しないようにするには、サービス エンドポイントのバインディングで受信タイムアウトを早めに増やします。
CM サーバー (サーバー) の web.config は次のようになります。
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="WeBlogBindingConfig">
<security mode="None">
<transport clientCredentialType="None" />
<message establishSecurityContext="false" />
</security>
</binding>
</wsHttpBinding>
<basicHttpBinding>
...
</basicHttpBinding>
</bindings>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
<behaviors>
<serviceBehaviors>
<behavior name="Sitecore.Modules.WeBlog.Services.CommentServiceBehaviour">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="Sitecore.Modules.WeBlog.Services.CommentService"
behaviorConfiguration="Sitecore.Modules.WeBlog.Services.CommentServiceBehaviour">
<endpoint address="" binding="wsHttpBinding" contract="Sitecore.Modules.WeBlog.Services.ICommentService" bindingConfiguration="WeBlogBindingConfig">
</endpoint>
</service>
</services>
</system.serviceModel>
CD サーバー (クライアント) の web.config は次のようになります。
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="WeBlogBindingConfig">
<security mode="None">
<transport clientCredentialType="None" />
<message establishSecurityContext="false" />
</security>
</binding>
</wsHttpBinding>
<basicHttpBinding>
...
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://cmserver/sitecore modules/web/WeBlog/Comment.svc"
binding="wsHttpBinding" contract="Sitecore.Modules.WeBlog.Services.ICommentService"
name="WeBlogCommentService" bindingConfiguration="WeBlogBindingConfig">
</endpoint>
...
</client>
</system.serviceModel>
私はこれで数日間戦っていますので、どんな助けでも大歓迎です。
サッド