gelöst: Webservice NAV 2009

16. August 2012 13:52

RTC
Ich benutze Webservices um verschiedene Daten zu ändern. Webservices auf Pages und Codeunits. Auf dem Entwicklungssystem auf dem auch alle NAV Server laufen funktionieren alle Webdienste sauber. Sobald das ganze auf eine separate Maschine portiert wird funktionieren nur noch die Dienste in Pages. Alle Funktionen aus den Codeunits produzieren einen Zugriffsfehler trotz voller Zugriffsrechte der Benutzer.
Hat jemand eine Idee was hier falsch läuft? Die Webdienste bekommen jeweils die Defaultrechte mitgegeben.
Zuletzt geändert von HansF am 20. August 2012 11:32, insgesamt 1-mal geändert.

Re: Webservice NAV 2009

17. August 2012 10:35

Du solltest uns die komplette Fehlermeldung mitteilen, andernfalls könnte es schwierig werden zu Helfen.

Re: Webservice NAV 2009

17. August 2012 12:01

Hallo,

ich vermute eher die ganze Delegierung (von der 3-Tier Architektur) fehlt bei dir.
http://msdn.microsoft.com/en-us/library/dd301254.aspx


Gruß
Aydin

Re: Webservice NAV 2009

17. August 2012 13:14

ich vermute eher die ganze Delegierung (von der 3-Tier Architektur) fehlt bei dir.

Wahrscheinlich nicht, eher das hier http://msdn.microsoft.com/en-us/library/ee414212

Gruß, Fiddi

Re: Webservice NAV 2009

20. August 2012 09:05

Die Delegierung ist okay, soweit ich das einschätzen kann. Ansonsten würden ja auch die Webservices der Pages nicht funktionieren. Oder?
Die Fehlermeldung hier:

System.Net.WebException wurde nicht behandelt.
Message=Fehler bei der Anforderung mit HTTP-Status 401: Unauthorized.
Source=System.Web.Services
StackTrace:
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 BuefaLightWin.WSFunktionen.WSFunktionen.CreateContComment(String comment, String contNo) in C:\Users\freitag\Documents\Visual Studio 2010\Projects\BuefaLightWin\BuefaLightWin\Web References\WSFunktionen\Reference.cs:Zeile 79.
bei BuefaLightWin.ContactComment.txtComment_Leave(Object sender, EventArgs e) in C:\Users\freitag\Documents\Visual Studio 2010\Projects\BuefaLightWin\BuefaLightWin\ContactComment.cs:Zeile 102.
bei System.Windows.Forms.Control.OnLeave(EventArgs e)
bei System.Windows.Forms.Control.NotifyLeave()
bei System.Windows.Forms.ContainerControl.UpdateFocusedControl()
bei System.Windows.Forms.ContainerControl.AssignActiveControlInternal(Control value)
bei System.Windows.Forms.ContainerControl.ActivateControlInternal(Control control, Boolean originator)
bei System.Windows.Forms.ContainerControl.SetActiveControlInternal(Control value)
bei System.Windows.Forms.ContainerControl.SetActiveControl(Control ctl)
bei System.Windows.Forms.ContainerControl.set_ActiveControl(Control value)
bei System.Windows.Forms.Control.Select(Boolean directed, Boolean forward)
bei System.Windows.Forms.Control.SelectNextControl(Control ctl, Boolean forward, Boolean tabStopOnly, Boolean nested, Boolean wrap)
bei System.Windows.Forms.Form.ProcessTabKey(Boolean forward)
bei System.Windows.Forms.ContainerControl.ProcessDialogKey(Keys keyData)
bei System.Windows.Forms.Form.ProcessDialogKey(Keys keyData)
bei System.Windows.Forms.TextBoxBase.ProcessDialogKey(Keys keyData)
bei System.Windows.Forms.Control.PreProcessMessage(Message& msg)
bei System.Windows.Forms.Control.PreProcessControlMessageInternal(Control target, Message& msg)
bei System.Windows.Forms.Application.ThreadContext.PreTranslateMessage(MSG& msg)
bei System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FPreTranslateMessage(MSG& msg)
bei System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
bei System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
bei System.Windows.Forms.Application.Run(Form mainForm)
bei BuefaLightWin.Program.Main() in C:\Users\freitag\Documents\Visual Studio 2010\Projects\BuefaLightWin\BuefaLightWin\Program.cs:Zeile 21.
bei System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
bei System.AppDomain.nExecuteAssembly(RuntimeAssembly assembly, String[] args)
bei System.Runtime.Hosting.ManifestRunner.Run(Boolean checkAptModel)
bei System.Runtime.Hosting.ManifestRunner.ExecuteAsAssembly()
bei System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext, String[] activationCustomData)
bei System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext)
bei System.Activator.CreateInstance(ActivationContext activationContext)
bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone()
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()
InnerException:

Re: Webservice NAV 2009

20. August 2012 09:41

Unter welchem Account/Konto läuft der Webservice Dienst?
Dieser muss sich doch auch am Server authentifizieren.


Gruß
Aydin

Re: Webservice NAV 2009

20. August 2012 11:02

der Account "Netzwerkdienst" und dieser wiederum kommt mit dem Geräteaccount an die Datenbank. Dieser hat auch alle notwendigen Berechtigungen auf der Datenbank.
Komischerweise tut das ja der Webservice für die Pages auch und da funktioniert das Ganze. Nur für die Codeunits nicht.
Die Frage, die sich mir ergibt, ist wo ist der Unterschied im handling zwischen Codeunit und Page?

Re: Webservice NAV 2009 gelöst

20. August 2012 11:32

hausgemachtes Problem.
Ich hatte der Instanz für den Codeunitservice vergessen die Berechtigungen mitzugeben.