Options

Problem using a WebService from a Web App

AitorEGAitorEG Member Posts: 342
Hi everyone,

I'm finding an issue with the upgrad and migration of NAV. In the old server, I was running a self developed WebApp, that was consuming different webServices from NAV2013 without any problem. The WebApp is develoepd in C#.

Now, I've migrated NAV to a new server, and upgraded to NAV2018. In the WebApp, I've changed the references to the webService in the new server. I'm connecfting to the app forms without any problem, but when it needs to use any of the webServices, I found this error in the Event Viewer:
Event code: 3005 
Event message: Excepción no controlada. 
Event time: 17/04/2018 9:33:56 
Event time (UTC): 17/04/2018 7:33:56 
Event ID: 1377ba09b69b4676912727c7c2a74b71 
Event sequence: 12 
Event occurrence: 1 
Event detail code: 0 
 
Application information: 
    Application domain: /LM/W3SVC/2/ROOT/Picking-1-131684240033263190 
    Trust level: Full 
    Application Virtual Path: /Picking 
    Application Path: C:\Websites\Picking\ 
    Machine name: SRV-DC01 
 
Process information: 
    Process ID: 4724 
    Process name: w3wp.exe 
    Account name: IIS APPPOOL\Website 
 
Exception information: 
    Exception type: WebException 
    Exception message: Error de la solicitud con el código de estado HTTP 401: Unauthorized.
   en System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   en System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   en WebService.PDAMgt.ExistePicking(String numPicking)
   en Picking.Entrada.txtCodigo_TextChanged(Object sender, EventArgs e)
   en System.Web.UI.WebControls.TextBox.OnTextChanged(EventArgs e)
   en System.Web.UI.Page.RaiseChangedEvents()
   en System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

 
 
Request information: 
    Request URL: http://srv-dc01:8090/Picking/Entrada.aspx 
    Request path: /Picking/Entrada.aspx 
    User host address: 192.168.2.140 
    User:  
    Is authenticated: False 
    Authentication Type:  
    Thread account name: IIS APPPOOL\Website 
 
Thread information: 
    Thread ID: 7 
    Thread account name: IIS APPPOOL\Website 
    Is impersonating: False 
    Stack trace:    en System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   en System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   en WebService.PDAMgt.ExistePicking(String numPicking)
   en Picking.Entrada.txtCodigo_TextChanged(Object sender, EventArgs e)
   en System.Web.UI.WebControls.TextBox.OnTextChanged(EventArgs e)
   en System.Web.UI.Page.RaiseChangedEvents()
   en System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
 
 
Custom event details:

The access to Nav is navUserPassword.

Any hint with this issue? If any infor is needed, I will ansewr inmediately, I'm quite desperate with this...

Thank you all

Best Answer

  • Options
    AitorEGAitorEG Member Posts: 342
    Answer ✓
    Thanks for your answer @Peter+is1 . I've just solved the problem. The issue was that the authentication mode, now is navUserPassword, so the "betea" user, isn't part of any domain.
    I should configure the credentials this way:
    ws.Credentials = new System.Net.NetworkCredential("betea", "xxxxxxxxx");
    

Answers

  • Options
    AitorEGAitorEG Member Posts: 342
    edited 2018-04-17
    The sentence I am using for the credentials in Visual Studio is:
    ws.Credentials = new System.Net.NetworkCredential("betea", "xxxxxxxxx", "localhost");
    

    Where "betea" is a valid user in NAV

  • Options
    Peter+is1Peter+is1 Member Posts: 174
    edited 2018-04-17
    Hi,

    Perhaps you can check the (security) settings on the ISS APPOOL?
    And you can check the authorisation for IUSR on the wwwroot folder. (and C:\Websites\Picking\ )

    Regards, Peter
    \\
    The truth exists in seven versions.
  • Options
    AitorEGAitorEG Member Posts: 342
    Answer ✓
    Thanks for your answer @Peter+is1 . I've just solved the problem. The issue was that the authentication mode, now is navUserPassword, so the "betea" user, isn't part of any domain.
    I should configure the credentials this way:
    ws.Credentials = new System.Net.NetworkCredential("betea", "xxxxxxxxx");
    
Sign In or Register to comment.