Appearance
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
| Parameter | Value |
|---|---|
| Username | TOPAPP |
| Domain | AMZS |
| 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.