Skip to content

Authentication

All SOAP web service calls use NTLM authentication over HTTP.

NTLM Transport

The app uses a custom NtlmTransport class that wraps kSOAP2's HTTP transport with NTLM challenge-response authentication.

Client                          NAV Server
  │                                │
  ├─── HTTP Request ──────────────►│
  │                                │
  │◄── 401 + NTLM Challenge ──────┤
  │                                │
  ├─── NTLM Response ────────────►│
  │                                │
  │◄── 200 + SOAP Response ───────┤
  │                                │

Credentials

ParameterValue
UsernameTOPAPP
DomainAMZS
Workstation(empty)

Transport Configuration

java
NtlmTransport transport = new NtlmTransport(serviceUrl, 20000);
transport.setCredentials(username, password, domain, workstation);

The NTLM authentication is handled transparently for every SOAP request. No session tokens or cookies are maintained between requests -- each request performs the full NTLM handshake.

Offline Request Queue

For critical operations (like AcceptBooking), the app implements an offline request queue with retry logic:

  • Requests are persisted to local storage when the network is unavailable
  • Automatic retry up to 10 attempts
  • Network errors (DNS resolution, connection reset) don't count toward retry limit
  • Requests are prioritized by entry number and creation time
  • Queue is processed FIFO within each entry group

See AcceptBookingSavedRequestsController for the implementation.