SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Fehler beim Zugriff auf einen wcf in SharePoint

Unbeantwortet Dieser Beitrag hat 8 Antworten

Ohne Rang
6 Beiträge
Wayne Gretzky erstellt 22 Aug. 2012 09:21
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo

Ich habe in Visual Studio 2010 meinen ersten WCF geschrieben und daraus eine wsp-Datei generiert. Diese habe ich auf einer anderen Maschine (mit SharePoint 2010 und SQL Server) via PowerShell und SharePoint als Farm-Solution  in eine WebApplication deployed. Das funktioniert einwandfrei und die svc-Datei und auch die web.config sind im IIS auf dem entfernten Server im entsprechenden Ordner unter _vti_bin zu sehen und können auch aufgerufen werden (wsdl). Ich konnte nun einen Testclient schreiben und erfolgreich diesen Service referenzieren. Der Service gibt mir problemlos z.Bsp einen Test-String zurück, sobald ich aber irgend etwas vom SharePoint lesen möchte, bekomme ich immer dieselbe Fehlermeldung: "SecurityAccessDeniedException was unhandled"

Source: mscorlib
Stacktrace:
Server stack trace:
   at System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter)
   at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
   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 mgbahn.sharepoint.test.forms.SPItemServiceWCF.ISPItemServiceWCF.GetServiceUser()
   at mgbahn.sharepoint.test.forms.SPItemServiceWCF.SPItemServiceWCFClient.GetServiceUser() in D:\MGBScratch\src\sharepoint\mgbahn.sharepoint.test.forms\Service References\SPItemServiceWCF\Reference.cs:line 125
   at mgbahn.sharepoint.test.forms.TestFormWCF..ctor() in D:\MGBScratch\src\sharepoint\mgbahn.sharepoint.test.forms\TestFormWCF.cs:line 26
   at mgbahn.sharepoint.test.forms.Program.Main() in D:\MGBScratch\src\sharepoint\mgbahn.sharepoint.test.forms\Program.cs:line 15
   at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
   at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
   at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()

Kann jemand weiterhelfen? Ich habe keine Erfahrung in wcf/Sharepoint und komme nicht über diesen Fehler hinaus.

WCF wurde mit .NET Framework 3.5 geschrieben, TestClient (Windows Forms) ebenfalls

Danke vorweg

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 22 Aug. 2012 09:28
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich kann Dir nur sagen, daß man mit der beschriebenen Vorgehensweise problemlos auf SharePoint zugreifen kann. Zumindest funktioniert alles, was man auch im Code einer normalen Webapplication machen kann (weil es derselbe Application Pool ist). Man kann aber z.B. nicht in die ConfigDB schreiben.

Bei Dir tritt der Fehler hier auf: mgbahn.sharepoint.test.forms.SPItemServiceWCF.ISPItemServiceWCF.GetServiceUser()
Schau Dir mal genauer an, was die Methode macht.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
6 Beiträge
Wayne Gretzky Als Antwort am 22 Aug. 2012 11:52
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Danke für die Antwort. Es spielt eigentlich keine Rolle, welche Methode ich aufrufe, die Fehlermeldung bleibt immer dieselbe. Ausser ich geben einfach nur einen Wert zurück. Könnte es evtl sein, dass es ein Versionsproblem der mscorlib.dll auf dem Zielsystem ist?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 22 Aug. 2012 12:01
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Wayne Gretzky"]Könnte es evtl sein, dass es ein Versionsproblem der mscorlib.dll auf dem Zielsystem ist?[/quote]

Glaube ich eigentlich nicht, Du schreibst ja oben Du hättest 3.5 verwendet. Hast Du den Dienst auch für x64 kompiliert?

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
6 Beiträge
Wayne Gretzky Als Antwort am 22 Aug. 2012 12:07
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

AnyCPU...

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 22 Aug. 2012 12:28
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Dann stelle es auf x64

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
6 Beiträge
Wayne Gretzky Als Antwort am 22 Aug. 2012 12:40
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

umgestellt auf x64 bekomme ich beim compilieren folgende 3 Warnings:
Assembly generation -- Referenced assembly 'mscorlib.dll' targets a different processor
Assembly generation -- Referenced assembly 'System.Web.dll' targets a different processor
Assembly generation -- Referenced assembly 'System.Data.dll' targets a different processor

Service neu deployed und Referenz darauf refreshed...leider immer noch dieselbe Fehlermeldung

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 22 Aug. 2012 13:11
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Tut mir leid, keine weiteren Ideen :-(

Ich bin im Prinzip immer so vorgegangen (http://blogs.evocom.de/af/archive/2010/10/13/wcf-und-silverlight-in-sharepoint-teil-1-einen-eigenen-wcf-dienst-entwickeln-und-in-sharepoint-hosten.aspx) und das funktioniert definitiv auch, wenn der Dienst auf SharePoint zugreift.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
6 Beiträge
Wayne Gretzky Als Antwort am 22 Aug. 2012 13:40
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Schade und danke trotzdem