WebHost で要求の処理に失敗しました。ProfileService.svc は存在しません。
SharePointサーバーが出力するエラーのイベントログの対処メモです。
環境情報
- サーバー構成
- フロントエンド(分散キャッシュ)サーバー
- アプリケーション(検索)サーバー
- アカウント情報
- contoso\SPAdmin(インストールアカウント、ファーム管理者)
- contoso\SPService(サービスアカウント)
- User Profile Service Application
- アプリケーションプールアカウント:contoso\SPService
- 同期接続:未構成
- 個人用サイト:セットアップ済み
現象と調査
ユーザープロファイルサービスアプリケーションを作成し、同期接続を構成しない環境で以下のエラーログが出力されました。
項目 | 内容 |
---|---|
ログの名前 | Application |
レベル | エラー |
ソース | System.ServiceModel 4.0.0.0 |
タスクの カテゴリ |
WebHost |
イベントID | 3 |
内容 | WebHost で要求の処理に失敗しました。 送信者の情報: System.ServiceModel.Activation.HostedHttpRequestAsyncResult/99999999 例外: System.Web.HttpException (0x80004005): サービス ‘/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ProfileService.svc’ は存在しません。 —> System.ServiceModel.EndpointNotFoundException: サービス ‘/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/ProfileService.svc’ は存在しません。 場所 System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath 場所 System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath 場所 System.ServiceModel.Activation.HostedHttpRequestAsyncResult.HandleRequest() 場所 System.ServiceModel.Activation.HostedHttpRequestAsyncResult.BeginRequest() 場所 System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result) 場所 System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) プロセス名: w3wp プロセス ID: 9999 |
「ProfileService.svc」とやらが存在しないとのことでエラーが出力されているのですね。ネット上で調査していると、同期接続を構成するとこの「ProfileService.svc」が作成されるような情報もあるみたいですね。
以下のサイトでは、同期接続を構成している場合に「User Profile Service 」と「User Profile Synchronization Service」のサービスを再起動すればOKということが記載されていました。
ProfileService.svc file mentioned in endpoint does not exist
でも今回の環境は同期接続構成しないので、これらの情報が通用しません!
そもそも「ProfileService.svc」の所在ってどこやねん!ということで確認してみました。SharePoint 2016だと「C:\Program Files\Microsoft Office Servers\16.0\WebServices\Profile」にあるみたいです。エクスプローラーで見てみましたが、確かにないですね。。
同期接続を構成していないので、それに関わるエラーということで無視してもよいという情報もあるのですが、やはり不要に出力されるエラーは避けたいもの。。
対応手段
なければ作ればいいじゃん!ということで、以下のサイトが見つかりました。
SharePoint – The service ProfileService.svc does not exist
具体的には、先ほどのパス「C:\Program Files\Microsoft Office Servers\16.0\WebServices\Profile」にテキストファイルで作成した「ProfileService.svc」を配置します。
SharePoint 2016の場合、「ProfileService.svc」の中身を以下にします。
1 2 3 4 5 6 |
<%@ServiceHost Language="c#" Service="Microsoft.Office.Server.UserProfiles.FeedCacheService, Microsoft.Office.Server.UserProfiles, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Factory="Microsoft.Office.Server.UserProfiles.FeedCacheServiceHostFactory, Microsoft.Office.Server.UserProfiles, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> |
2013の場合は「Version=15.0.0.0」、2010の場合は「Version=14.0.0.0」とすればいけそうですかね(未検証ですが)。
私の場合はWFEサーバー、APPサーバーに配置してエラーログが出力されなくなりました。気持ちいいですね。以上、対応メモでした。