문제

Windows SharePoint Services의 Visual Studio Extensions 1.3 (2009 년 3 월 CTP)을 기반으로 Visual Studio 프로젝트를 배포/패키지하려고하지만 다음 오류를 얻으려고합니다!

HTTP 요청은 클라이언트 인증 체계 '협상'으로 무단입니다. 서버에서받은 인증 헤더는 '협상, NTLM'입니다.

액세스 할 수 있습니다 http://127.0.0.1:1378/spservice.svc 브라우저를 통해; VSEWSS Service는 네트워크 서비스 인 SharePoint Central Administration V3 응용 프로그램 풀에 따라 운영됩니다. SharePoint 서비스는 기본 설정과 함께 설치됩니다. 네트워크 서비스는 로컬 관리자 그룹의 회원입니다.

이 기계는 Windows 2003 표준 Editon SP2이며 도메인의 일부이며 도메인 사용자로 로그온합니다. 내 사용자는 Machine 'Local Administrators Group의 회원 이며이 로그인을 사용하여 SharePoint 서비스를 설치하여 거의 모든 필수 SharePoint 보안 그룹 (Farm Administrator; Site Collection Administrator 등)의 구성원이되었습니다.

나는 stackoverflow를 시도했다 http://social.msdn.microsoft.com/forums/en-us/sharepointdevelopment 포럼 과이 두 가지의 다른 게시물에서 제안 된 거의 모든 것을 시도했습니다. 그러나 지금까지 아무도 작동하지 않았습니다!

VSEWSS1.3.LOG에는 다음 항목이 있습니다

2010/02/12 16:49:01    Error
Error: System.ServiceModel.Security.MessageSecurityException
System.ServiceModel.Security.MessageSecurityException: The HTTP request is unauthorized with client authentication scheme 'Negotiate'. The authentication header received from the server was 'Negotiate,NTLM'. ---> System.Net.WebException: The remote server returned an error: (401) Unauthorized.
   at System.Net.HttpWebRequest.GetResponse()
   at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
   --- End of inner exception stack trace ---

Server stack trace: 
   at System.ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication(HttpWebRequest request, HttpWebResponse response, WebException responseException, HttpChannelFactory factory)
   at System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory factory, WebException responseException)
   at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
   at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
   at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at Microsoft.SharePoint.Tools.SPServiceReference.ISPService.GetWeb(String url)
   at Microsoft.SharePoint.Tools.SharePointSolutions.SolutionDeployer.ValidateProjectDeployURL()
   at Microsoft.SharePoint.Tools.SharePointSolutions.SolutionDeployer.Deploy()
도움이 되었습니까?

해결책 2

도메인에서 기계를 제거했습니다. VSEWSS, SharePoint 및 IIS를 제거합니다. 도메인에서 기계를 제거한 후 IIS를 다시 설치했습니다. SharePoint 및 VSEWSS를 설치 한 후; 상황이 잘 작동하기 시작했습니다!

다른 팁

루프백 주소 (127.0.0.1) 대신 컴퓨터의 실제 호스트 이름을 사용해 볼 수도 있습니다. LocalHost 또는 Loopback 주소를 사용하는 경우 Kerberos를 사용하여 로그인 할 수 없으므로 특정 유형의 위임 시나리오가 실패하게됩니다.

발생할 수있는 것은 브라우저가 NTLM 사용에 대해 조용히 "다시 떨어질"수 있으며 VS 배포와 같은 다른 프로그램이 그런 식으로 행동하지 않는다는 것입니다. 종종 Kerberos 만 사용합니다. 따라서 루프백 대신 호스트 이름을 사용해보십시오. 그래도 작동하지 않으면 아마도 컴퓨터에서 Kerberos에 문제가있을 수 있습니다. 정말 하드 코어를 느끼고 있다면 Kerberos를 읽고 Wireshark 사본을 다운로드 한 다음 "KRB5"클래스 오류 메시지를 찾아 실패한 것을 정확히 확인할 수 있지만 이것은 매우 큰 시간 투자입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top