0

EpiServerWebサービスにページを追加するように指示するコンソールアプリケーションを実行しています。私の問題は、自閉症を機能させることができないということです。EpibackoficeでWebサービスユーザーを作成しました。アカウントを使用してブラウザからWebサービスにログインできます。

コンソールアプリのコードサンプルは次のとおりです。

var client2 = new ContentChannel.ContentChannelServiceSoapClient();
client2.ClientCredentials.UserName.UserName = "username";
client2.ClientCredentials.UserName.Password = "password";
client2.Open();

client2.ImportPage1(null, "Pagename", null, null, "sv", newGuid, parentGuid, "pagetype");
client2.Close();

私が受け取るエラーメッセージは

System.Web.Services.Protocols.SoapException:サーバーはリクエストを処理できませんでした。
---> EPiServer.Core.EPiServerException:ユーザーには、EPiServer.WebServices.ContentChannelServiceのEPiServer.WebServices.DataFactoryService.ValidateWebServiceAccess ()のユーザーに対して、リモートサイトのWebサービスにアクセスするための「Permission.WebServiceAccess」アクセス権がありません。.ValidateWebServiceAccess()at EPiServer.WebServices.ContentChannelService.ImportPage(String channelId、String pageName、String [] propertyKeys、String [] propertyValues、StringcultureName、Guid pageId、Guid parentPageId、String pageTypeName)---内部例外スタックトレースの終了---

設定ファイルでどのように行ったかを表示する必要があるかどうかはわかりませんが、追加する必要がある場合は、教えてください。誰かがここから行く方法を知っているなら、答えてください。前もって感謝します!

編集

名前でエラーが発生し、フォーム認証ではなくログインプロンプトが表示されます。次のような、いくつかのWebサービスメソッドを使用できます。

ContentChannel.GetMaxRequestLength()

しかし、Webサービスを適切に使用しようとしたり、ValidateWebServiceAccess()を呼び出したりすると、このエラーが発生します。

System.Web.Services.Protocols.SoapException: Server was unable to
process request. ---> EPiServer.Core.EPiServerException: The user does
not have the 'Permission.WebServiceAccess' access right to access web
services on the remote site, for user andreas
4

1 に答える 1

1

まず、次のリンクに従ってWebサービスをセットアップおよび構成します。http ://world.episerver.com/Documentation/Items/Tech-Notes/EPiServer-CMS-6/EPiServer-CMS-60/Web-Services/

次に、EPIServer管理モードに移動し、[構成]タブ、[セキュリティ]サブグループの機能のアクセス許可の順にクリックし、[ユーザーにWebサービスユーザーとしての機能を許可する]の近くにある[編集]をクリックします。ユーザーを追加し、[保存]をクリックします。

その後、IEを開き、ローカルURLを開きますhttp://<yourlocalsite>/WebServices/ContentChannelService.asmx

ログイン画面にリダイレクトされていないことを確認しますが、ブラウザのログイン/パスポップアップを受け取ります。Webサービスユーザーでログインしてみてください。

また、これがコードで行われていることを確認してください。

.NET石鹸クライアントを使用してEPiServerCMSと通信する場合は、プロパティSoapHttpClientProtocol.PreAuthenticateをtrueに設定して、ユーザー名とパスワードがすべての要求でサーバーに送信されるようにします。

于 2013-03-25T15:08:52.003 に答える