2009-03-13 16 views
0

Windowsサービスは32ビットマシン上で開発され、実行されます。 Project Web Access Webサービスと通信します。これで、サービスはProject Web Access Webサービスと同じコンピュータに移動されました。コードは失敗し、私はこのエラーを受け取る:32ビットWindows XP Professionalで開発されたサービス、Windows Server 2003 64ビットで実行できない

System.Net.WebException: The request failed with HTTP status 401: Unauthorized. at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at ProjToolService.ProjectWebSvc.Project.ReadProject(Guid projectUid, DataStoreEnum dataStore)
at ProjToolService.Queue.AssignResource(Guid queueId, Guid projectId, Guid taskId, Guid resourceId, Guid assignmentId)

これは、64対32ビットではないかもしれないが、私は他のアイデアを持っていません。

ターゲットプラットフォームはx86ですが、AnyCPUも使用できませんでした。私はDefaultCredentialsSystem.net.CredentialCache.DefaultNetworkCredentialも使ってみました。

答えて

0

すべての助けをありがとう&注意が、私はついにこの問題を発見しました。問題は、Webサービスでローカルに実行されるwinサービスの問題でした。この問題は、Windows Server 2003オペレーティングシステム固有の問題です。問題を解決するために、私はDisableLoopbackCheckと呼ばれるレジストリエディタで新しい値を作成し、それを1に設定しなければなりませんでした。

3

401はHTTPステータスなので、32対64ビットとは関係ありません。私はチェックし、正しいクレデンシャルを使ってWebサービスがセットアップされていることを確認します(特に、匿名アクセスの使用を計画している場合)。

私が正しく覚えていれば、DefaultNetworkCredentialはサービスを実行しているアカウントをプルするので、使用しているサービスのアカウントに、Webサービスにアクセスするための適切な権限があることを確認します。これをチェックする簡単な方法は、サービスを実行しているアカウントにマシンへの管理者アクセス権を与えることです(完了したらそれを取り除く)。それが動作すれば、それは許可の問題です。そうでなければ、あなたはそれが別のものであることを知っています。

アカウント権限を付与するには、[管理ツール] - > [コンピュータの管理] - > [ローカルユーザーとグループ] - > [グループ]を選択します。適切なグループにネットワークユーザーを追加してください(私はadminから始め、自分の道を進むと言ったように)

+0

私のサービスはネットワークユーザを使用して実行されています。私はDefaultNetorkCredentialを試して、それは仕事をしませんでした。ユーザーがマシンの管理者であるかどうかをどのように認めるかわかりません。> – Marlon

0

あなたのサービスはどのようなユーザーとして実行されていますか?ボックスがログインしていないときにはローカルユーザーなどは実行されませんが、一般的にはそうではありません。ネットワークユーザーが動作する可能性があります。

+0

私のサービスはネットワークユーザーを使用して実行されています。私はDefaultNetorkCredentialを試して、それは仕事をしませんでした。彼らがマシンの管理者であるかどうかをどのように認めるかを知りません。> – Marlon

0

Win2003のセキュリティ設定は、WinXPよりもはるかに慎重です。特にネットワークアクセスでは、セキュリティ設定がはるかに慎重です。 Webサービスとシステムログで「アクセス拒否」エラーが発生している可能性があります。また、URLの?まで正確な名前でサービスにアクセスできるようにしてください。

関連する問題