Wiki - eIntranet.net

Deutsch flag Čeština flag English flag Español flag Slovenčina flag Magyar flag Polski flag

WSDL (SOAP Web Services)

Introduction

What is WSDL and SOAP?

WSDL (Web Services Description Language) is an XML-based language for describing web services. SOAP (Simple Object Access Protocol) is a protocol for exchanging structured information in web services implementation.

Module Purpose

The WSDL module provides standardized interface for integration with external applications via SOAP web services. Main capabilities:

  • Single Sign-On (SSO) - Automatic user login from external systems without credentials
  • Secure Integration - Time-limited access URLs for specific users and modules
  • Platform Independence - SOAP services callable from any language (PHP, C#, Java, Python)
  • External Access - External apps can redirect users directly to specific eIntranet modules

Typical Use Cases

  • Corporate portal SSO integration
  • Mobile app deep linking with auto-login
  • Iframe integration in external systems
  • Automated email links with user authentication
  • Workflow integration between business applications

Main Features

eIAccess Service

The module provides the eIAccess SOAP service for generating secure, time-limited access URLs.

Key Features:

  • Generates unique URL for specific user
  • URL valid for 15 minutes only
  • Contains encrypted authentication token
  • Redirects user to specific eIntranet module
  • Automatically logs in user without password
  • Records login in user history

Security Mechanisms

  • WSDLAuthCode - 66-character authentication code
  • User Verification - UserID and UserEmail must match database
  • Time Limitation - Generated URL valid 15 minutes only
  • Token Encryption - AES-256-CBC encrypted AuthToken
  • Module Validation - Only existing active modules allowed

Module Configuration

Activation

  1. Login as administrator
  2. Go to Settings > Modules
  3. Find WSDL (SOAP Web Services)
  4. Activate and save

Getting WSDLAuthCode

  1. Open Settings > WSDL (SOAP)
  2. Go to General Settings tab
  3. Find WSDLAuthCode: section
  4. Copy the 66-character code

Security Warning: WSDLAuthCode is highly sensitive. Never share publicly. Store only in secure server configuration files.

Access Rights

WSDL Settings Access

  • Global Administrators - Users with "admin" flag
  • Module Administrators - Users with "WSDL" in AdminToModules

User Requirements for WSDL Access

  • User must be imported in Settings > Users
  • User must have active account
  • User must have rights for target module
  • Email must be unique and correctly filled
  • UserID must match internal database identifier

Using eIAccess Service

Service Information

WSDL URL: https://your-domain.eintranet.net/wsdl/eIAccess.php?wsdl

SOAP Endpoint: https://your-domain.eintranet.net/wsdl/eIAccess.php

SOAP Version: SOAP 1.2, RPC style

GenerateAccessUrl Function

Input Parameters

  • WSDLAuthCode (string) - 66-character authentication code
  • UserID (string) - Internal user ID number
  • UserEmail (string) - User email exactly as stored
  • ModuleName (string) - Target module name (e.g., "wiki", "dochazka")

Return Values

  • ResponseCode (integer) - 1 for success, 0 for failure
  • ResponseErrorText (string) - Error message if failed
  • ResponseURL (string) - Generated access URL
  • ResponseURLValidTill (string) - URL expiration timestamp (ISO 8601)

Error Messages

  • "Bad WSDLAuthCode!" - Invalid authentication code
  • "Bad UserID!" - Invalid user ID format
  • "Bad UserEmail!" - Invalid email format
  • "Not existing ModuleName!" - Module not found or inactive
  • "Not existing User!" - UserID/UserEmail combination not found

Available Modules

Common modules for ModuleName parameter:

  • wiki - Company wiki and knowledge base
  • dochazka - Attendance tracking
  • dovolena - Vacation management
  • cestaky - Travel orders and expenses
  • ukoly - Task management
  • crm - Customer relationship management
  • faktury_vydane - Issued invoices
  • prijate_faktury - Received invoices
  • sklad - Warehouse management
  • helpdesk - Helpdesk and tickets
  • projekty - Project management
  • smlouvy - Contract management
  • dokumenty - Document management

Code Examples

PHP Example

$client = new SoapClient("https://domain.eintranet.net/wsdl/eIAccess.php?wsdl");
$result = $client->GenerateAccessUrl(
    "YOUR_WSDL_AUTH_CODE",
    "42",
    "user@company.com",
    "wiki"
);
if ($result["ResponseCode"] == 1) {
    $url = html_entity_decode($result["ResponseURL"]);
    header("Location: " . $url);
}

C# Example

var client = new eIAccessClient();
var result = client.GenerateAccessUrl(
    "YOUR_WSDL_AUTH_CODE",
    "42",
    "user@company.com",
    "wiki"
);
if (result.ResponseCode == 1) {
    string url = WebUtility.HtmlDecode(result.ResponseURL);
    Response.Redirect(url);
}

Security Best Practices

  • Store WSDLAuthCode in secure server configuration files only
  • Never commit WSDLAuthCode to version control
  • Use HTTPS for all WSDL communications
  • Monitor WSDL access logs regularly
  • Regenerate WSDLAuthCode if compromised
  • Limit server access to WSDLAuthCode

Troubleshooting

Common Issues

  • URL not working - Check if URL is still valid (15 min limit)
  • User not found - Verify UserID and UserEmail match exactly
  • Module not found - Verify module is active for your company
  • HTML entities in URL - Decode & to & before redirecting