doc: ISDS replaces some characters with their ASCII approximation
[libisds.git] / doc / web_service_interface
blob95c54cc30418476b349b22a3d052b1818a7c7e38
1 Web service interface
2 =====================
4 Source: Provozní řád informačního systému (2015-06-07)
5 Source: Webové služby ISDS pro manipulaci s datovými zprávami,
6     version 2.49 (206-02-01)
7 Source: Webové služby ISDS pro vyhledávání datových schránek,
8     version 2 (2009-07-26)
11 Web services for messages are synchronous, web services for boxes are
12 asynchronous.
15 Error Reporting
16 ===============
18 Result code of web service operation is stored in dmStatus/@dmStatusCode.
19 Known values:
21 Code    Meaning
22 -----------------------------------------------------------------------------
23 0000    Means success
24 0002    FindDataBox: No box suits to search request (by name)
25 0003    FindDataBox: To much boxes suit to search request (by name), response
26             truncated
27 1201    Sending messages from inaccessible box is not possible
28 3006    Marking messages as delivered takes too long. Try again.
29 3008    Too many parallel requests. Try again later.
30 3009    Too many requests. Try again later.
31 5001    FindDataBox: No such box exists (by box ID or registry identifier)
33 NON-NORMATIVE: ISDS on bogus ISDS request but still valid SOAP request
34 responses with SOAP non-Fault 200-HTTP Code message. Example:
36 POST https://www.czebox.cz/DS/dz
37 <?xml version="1.0" encoding="UTF-8"?>
38 <Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
39   <Body>
40     <X-BogusOperation xmlns="http://isds.czechpoint.cz/v20"/>
41   </Body>
42 </Envelope>
44 200
45 <?xml version='1.0' encoding='utf-8'?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Body><q:X-BogusOperationResponse xmlns:q="http://isds.czechpoint.cz/v20" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><q:dmStatus><q:dmStatusCode>2006</q:dmStatusCode><q:dmStatusMessage>Unknown operation: X-BogusOperation</q:dmStatusMessage></q:dmStatus></q:X-BogusOperationResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
48 Overloading ISDS
49 ================
51 The server monitors client's activity (downloading messages, delivery details,
52 message details, marking messages) and warns user about excessive usage by
53 sending a system message to his box. The ISDS can limit access to a box per
54 user as a reaction to abusive server usage. Limiting access means delaying
55 responses or returning error responses.
57 Clients must maintain their own history or delivered messages and download
58 only messages or list of messages that have not yet been delivered.
61 String rewrite
62 ==============
64 The dmFileDescr document message value and some unspecified other values are transformed to
65 more simple and "secure" form by the ISDS server when receving them from
66 a client:
68 Class           Input characters                    Output
69 -------------------------------------------------------------------------
70 XML             <, >                                _ (underscore)
71 White space     \r, \n, \t,                         \x20 (an ASCII space)
72 White space     \u2028, \u2029, \u202F, \u00A0,     \x20 (an ASCII space)
73 Control         \u0080--\u009F                      removed
74 Spaces          \u2000--\u200A, \u205F,             \x20 (an ASCII space)
75 Word splitting  \u200B, \u00AD                      removed
76 Dashes          \u2010--\u2015                      - (an ASCII hyphen)
77 Quotes          \u201C--\u201F                      " (ASCII double quotes)
78 Formatting      \u200C--\u200F                      removed
79 Formatting      \u202A--\u202F                      removed
80 Invisible       \u2061--\u206F                      removed