Sharepoint Anbindung

19. Januar 2010 14:44

Hallo Michael,

ich sitze schon den halben Morgen an diesem Anbindung http://www.dynamicsblog.at/index.php?blog=1&title=crm-4-0-integration-sharepoint&disp=single&more=1&c=1&tb=1&pb=1 und es will nicht funktionieren. Vllt kannst du mir ja weiterhelfen. Ich habe alles wie beschrieben gemacht und den neuen Workflow kann ich auch anwenden. Nun kommt aber mein Ausführen ein undefinierter Fehler. Und im TraceLog kann ich dies finden:

at WorkflowHost.OnWorkflowTerminated(Object sender, WorkflowTerminatedEventArgs args)
at WorkflowRuntime.OnScheduleTerminated(WorkflowExecutor schedule, WorkflowTerminatedEventArgs args)
at EventHandler`1.Invoke(Object sender, TEventArgs e)
at WorkflowExecutor.FireWorkflowTerminated(Exception exception)
at SchedulerLockGuard.FireEvents(List`1 eventList, WorkflowExecutor workflowExec)
at WorkflowExecutor.RunSome(Object ignored)
at WorkItem.Invoke(WorkflowSchedulerService service)
at DefaultWorkflowSchedulerService.QueueWorkerProcess(Object state)
at ExecutionContext.runTryCode(Object userData)
at RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
at ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at _ThreadPoolWaitCallback.PerformWaitCallbackInternal(_ThreadPoolWaitCallback tpWaitCallBack)
at _ThreadPoolWaitCallback.PerformWaitCallback(Object state)
>Workflow terminated: {B354AC7A-F704-DF11-84FE-00237D2ECAB3} - System.Net.WebException: Fehler bei der Anforderung mit HTTP-Status 401: Unauthorized.
bei System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
bei System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
bei ClassLibrary3.MeetingsService.Meetings.CreateWorkspace(String title, String templateName, UInt32 lcid, TimeZoneInf timeZoneInformation)
bei ClassLibrary3.CreateSite.Execute(ActivityExecutionContext executionContext)
bei System.Workflow.ComponentModel.ActivityExecutor`1.Execute(T activity, ActivityExecutionContext executionContext)
bei System.Workflow.ComponentModel.CompositeActivityExecutor`1.Execute(T activity, ActivityExecutionContext executionContext)
bei System.Workflow.ComponentModel.ActivityExecutor`1.Execute(Activity activity, ActivityExecutionContext executionContext)
bei System.Workflow.ComponentModel.ActivityExecutorOperation.Run(IWorkflowCoreRuntime workflowCoreRuntime)
bei System.Workflow.Runtime.Scheduler.Run()


Jetzt habe ich da authorisierungs Problem. Nun weiß ich nicht genau an welcher Stelle?
Auf was sich >Workflow terminated: {80828D90-F804-DF11-84FE-00237D2ECAB3} - System.Net.WebException: Fehler bei der Anforderung mit HTTP-Status 401: Unauthorized. bezieht.

Ich hoffe du kannst mir weiterhelfen.

Danke

Re: Sharepoint Anbindung

19. Januar 2010 17:03

Es muss irgendwie an dem CRM Server liegen. Wenn ich den Code Standalone in einem kleinen VB.NET App teste, so wird mir alles korrekt ausgeführt.

Re: Sharepoint Anbindung

19. Januar 2010 18:53

Hallo,

unter welchem Benutzer wird der Workflow ausgeführt. Hat dieser das Recht, die entsprechenden Aktionen im CRM durchzuführen?

Re: Sharepoint Anbindung

19. Januar 2010 19:08

Ich habe den Workflow als Administrator auf dem CRM Server angelegt, wenn in der Entität Firma ein neuer Datensatz erstellt wird, soll er starten.
Und dann habe ich ihn veröffentlicht. Mehr habe ich nicht gemacht.

Muss ich noch was anderes machen?

Re: Sharepoint Anbindung

19. Januar 2010 19:20

Hallo,

die Frage ist nicht, als was du den Workflow angelegt hast, sondern im welchem Contecxt der Workflow läuft. Wenn du den Workflow öffnest steht oben rechts, in welchem Context der Workflow ausgeführt wird.

Re: Sharepoint Anbindung

19. Januar 2010 19:36

michael sulz hat geschrieben:Hallo,

die Frage ist nicht, als was du den Workflow angelegt hast, sondern im welchem Contecxt der Workflow läuft. Wenn du den Workflow öffnest steht oben rechts, in welchem Context der Workflow ausgeführt wird.


ich stehe auch dem Schlauch. Was meinst du? Hier ein Screen:
Unbenannt.JPG
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Sharepoint Anbindung

19. Januar 2010 20:54

Hallo,

der Workflow wird im Context des Benutzers ausgeführt. Hat also der Benutzer, der den Workflow startet, genügend Rechte im CRM um alle Aktionen des Workflows auszuführen?

Re: Sharepoint Anbindung

19. Januar 2010 21:03

Hi,

der Workflow wird (vom Betriebssystem her gesehen) von dem Benutzer ausgeführt, der als Identität des MSCRMAsyncService eingerichtet ist. Du musst diesem Benutzer die entsprechenden Rechte auf Sharepoint-Seite einrichten. Siehe auch

Ein wichtiger Schritt, der gerne übersehen wird, ist im nächsten Screenshot dargelegt: damit „automatisch“ neue Seiten über den Workflow erzeugt werden, muss als Site Collection Administrator der Network Service Account eingetragen sein.


Aus dem StackTrace ist ersichtlich, dass der Fehler aufgrund unzureichender Berechtigungen auf Seite des Sharepoint zurückzuführen ist.

(http://www.dynamicsblog.at/index.php?bl ... &tb=1&pb=1)

Re: Sharepoint Anbindung

19. Januar 2010 21:35

Hallo,
also meinst du ich soll den "Netzwerkdienst" - Benutzer als Websitensammlungs-Administrator angeben?
Im Beispiel heißt dieser ja "NT AUTORITY\network service", aber unter Windows w2k8 müsste das nur der "Netzwerkdienst" sein. Ich werde es morgen früh mal probieren und hier wieder posten...

Danke

Re: Sharepoint Anbindung

19. Januar 2010 22:15

Hi,

genau. Auf einem deutschsprachigen System ist es das Netzwerkdienst-Konto.

Re: Sharepoint Anbindung

20. Januar 2010 08:56

Guten Morgen,

ich habe gerade beimSharepoint entdeckt, dass dieses Konto bereits genutzt wird:

bild.jpg


Was könnte es nun noch sein? Wo sehe ich beim CRM Server, welcher Benutzen den ASYNCDienst stratet? Unter Dienste kann ich da ja nichts finden...

Danke
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Sharepoint Anbindung

20. Januar 2010 13:12

Hallo ckeller, hast du noch eine andere Idee, welchemir weiterhelfen könnte?

Re: Sharepoint Anbindung

21. Januar 2010 09:28

Ich komme hier einfach nicht weiter. Habe nun alle möglichen Benutzer als Administrator versucht. Leider ohne Erfolg.
Ist den sichergestellt, dass es an dem Benutzer liegt, welcher de ASYNC Dienst ausführt? Wo sehe ich welcher Benutzer für diesen Dienst zuständig ist?

Wenn ich im Code des Workflows die Autehtifizeriung änderen:
Code:
MeetingsService.Credentials = System.Net.CredentialCache.DefaultCredentials

in
Code:
MeetingsService.Credentials = New System.Net.NetworkCredential("Administrator", "password", "tw-elektric")


Dann sollte doch die Aktion unter dem Administrator ausgeführt werden. Aber es geht auch nicht! Die Meldung bleibt:
>Workflow terminated: {2E1FB66C-6106-DF11-A564-00237D2ECAB3} - System.Net.WebException: Fehler bei der Anforderung mit HTTP-Status 401: Unauthorized.


So, ich habe nun noch etwas getestet. Ich habe den Workflow Code in ein VB.NET Projekt gesteckt und einmal als DefaultCredentials und einmal als NetworkCredential("Administrator", "password", "tw-elektric") laufen lassen. Beide male hat es auf dem CRM Server funktioniert. Also muss der Fehler ja irgendwo anderst liegen.

Ich freue mich über jeden Tipp. Ich dreche mich nämlich gerade im Kreis.

Re: Sharepoint Anbindung

21. Januar 2010 15:20

Hallo,

gib mir mal das Wochenende Zeit, ich richte mir das einmal auf meinem Testsystem ein.

Re: Sharepoint Anbindung

21. Januar 2010 15:33

Hallo Michael,

danke, das wäre super.
Das Zusammenspiel von CRM und Sharepoint wäre eine spitzen Sache.
Ich hoffe du bekommst es hin.

Re: Sharepoint Anbindung

21. Januar 2010 23:04

Hi,

sind CRM und SharePoint auf zwei unterschiedlichen Servern zuhause? Wenn ja, dann musst du das Computerkonto des Servers (DomainName\MachineName$) auf dem der Async-Dienst des CRM läuft als Site Collection Administrator hinzufügen.
Unter welchem Konto der Dienst läuft, siehst du bei den Diensten (siehe Screenshot)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Sharepoint Anbindung

22. Januar 2010 10:05

Du bist mein Held des Tages :)
Jetzt geht es... Vllt hätte ich von Anfang an sagen müssen, dass es nicht auf dem gleichen Server läuft. Aber jetzt geht es ja.
Nun habe ich nur noch Berechtigungsprobleme. Es werden beim Erstellen der unter Website keine Berechtigungen übernommen, von der Haupt-Website.
Auf diese unter Website hat nun nur die Maschine tw-elektric\srv03$ zugriff.

Wenn ich von Hand eine Website erstelle, habe ich die Möglichkeit einen Haken bei "Berechtigungen wie in übergeordneter Website verwenden".
Aber wie mache ich das über den Webservice als Code?

Vllt hast du da noch eine Idee.

Danke dir.

Re: Sharepoint Anbindung

26. Januar 2010 23:59

Hi,

sorry, da muss ich passen. Mit den SharePoint-Webservices hab ich noch nichts gemacht.

Re: Sharepoint Anbindung

27. Januar 2010 08:56

Hallo,

ich bin nun an der Berechtigungssache dran. Ich habe eine Lösuing gefunden, die zumindest als CODE funktioniert.
Versuche ich nun diesen Code als Workflow für das CRM zu erstellen funktioniet soweit auch alles. Aber wenn ich den Workflow veröffentliche, kommt eine Meldung, dass es nicht geht.

Kann es sein, dass das CRM sowas nicht als Wokflow ausführen kann?

Code:
Dim befehl As String
befehl = "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\BIN\stsadm -o gl-setanonymousaccess -url " + Chr(34) + NewSiteUri.AbsoluteUri + Chr(34) + " -anonstate entireweb"
Shell(befehl)


Danke

Re: Sharepoint Anbindung

27. Januar 2010 09:27

Hallo,

ich glaube nicht, das du diesen Code in einem Workflow im CRM ausführen kannst. Wenn du im CRM etwas unter einem anderen Benutzer ausführen möchtest, musst du impersonation verwenden. Am besten einmal im SDK nach diesem Stichwort suchen, dann solltest du alles finden.

Re: Sharepoint Anbindung

27. Januar 2010 10:00

Ich habe den Workflow nun veröffnetlicht bekommen, aber so wie es aussieht, wird der Code nicht ausgeführt.

Re: Sharepoint Anbindung

27. Januar 2010 11:49

So langsam nervt mich diese Sharepoint-Sache.

Ich habe nun Code um Sieten anzulegen und zu löschen. Und natürlich um Rechte zu setzen bzw. anonymous aktivieren.
Aber wenn ich es als Worklow mache, geht es nicht :(

Hast du über das WE eine Teststelle eingerichtet? Ich könnte Unterstützung gebrauchen.

Ich weiß einfach nicht voran es liegt.

Re: Sharepoint Anbindung

27. Januar 2010 12:02

Hallo,

nein, habe ich nicht eingerichtet. Ich bin davon ausgegangen, das die Frage beantwortet ist. Ich werde auch am nächsten Wochenende nicht dazu kommen, etwas mit Sharepoint auszuprobieren.