Upload
rrisaac
View
229
Download
2
Embed Size (px)
Citation preview
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 1/51
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 2/51
©Copyright 1998 SAP AG. All rights reserved.No part of this description of functions may be reproduced or transmitted in any form or for any purposewithout the express permission of SAP AG. The information contained herein may be changed without priornotice.Some software products marketed by SAP AG and its distributors contain proprietary software componentsof other software vendors.Microsoft®, WINDOWS® and EXCEL®, NT® and SQL-Server® are registered trademarks of MicrosoftCorporation.IBM®, OS/2®, DB2/6000®, AIX®, OS/400® and AS/400® are registered trademarks of IBM Corporation.OSF/Motif® is a registered trademark of Open Software Foundation.ORACLE® is a registered trademark of ORACLE Corporation, California, USA.INFORMIX®-OnLine for SAP is a registered trademark of Informix Software Incorporated.UNIX® and X/Open® are registered trademarks of SCO Santa Cruz Operation.ADABAS® is a registered trademark of Software AG.SAP®, R/2®, R/3®, RIVA®, ABAP/4®, SAPaccess®, SAPmail®, SAPoffice®, SAP-EDI®, SAP BusinessWorkflow®, SAP EarlyWatch®, SAP ArchiveLink®, R/3 Retail®, ALE/WEB®, SAPTRONIC® areregistered trademarks of SAP AG.All rights reserved.
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 3/51
Contents HTTP Content Server Interface `
SAP AG - Business Process Technology 3
1.1 D EFINITION OF TERMS ....................................................... ............................................................ .......... 4
1.2 I MPLEMENTATION .................................................... ............................................................ .................... 61.3 P ROTECTION / R IGHT OF ACCESS ........................................................... .................................................. 61.4 SEC KEY ........................................................... ........................................................... .............................. 7
2.1 G ENERAL ............................................................................................................................... .................. 92.2 C ODING IN THE URL ............................................................ ............................................................ ........ 92.3 F UNCTIONS ...................................................... ........................................................... ............................ 11
2.3.1.1 append........................................................................................................................................................122.3.1.2 attrSearch....................................................................................................................................................142.3.1.3 create..........................................................................................................................................................192.3.1.4 delete..........................................................................................................................................................22
2.3.1.5 docGet ........................................................................................................................................................242.3.1.6 get...............................................................................................................................................................262.3.1.7 info .............................................................................................................................................................282.3.1.8 mCreate ......................................................................................................................................................322.3.1.9 search..........................................................................................................................................................342.3.1.10 update.....................................................................................................................................................37 2.3.2.1 putCert........................................................................................................................................................392.3.2.2 serverInfo ...................................................................................................................................................41
2.4 E RROR CODES .......................................................... ............................................................ .................. 44
3.1 P ARAMETERS AND KEY WORDS ................................................... .......................................................... 453.2 C ONVERTING FROM DOCUMENT CLASSES TO MIME T YPES .......................................................... ........ 50
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 4/51
Introduction, Definition of Terms HTTP Content Server Interface
SAP AG - Business Process Technology 4
This document describes the new .
The new HTTP Content Server Interface replaces the (versions 2.1, 3.0 and3.1). The older versions of the SAP ArchiveLink interface will not be developed any further. As of Release4.5A, all functions which until now have been executed using the SAP ArchiveLink interface, can beexecuted using the new HTTP Content Server Interface or usiness plication nterfaces ( ).
To ensure that storing using the Internet or intranet is possible, providers who have supported the SAPArchiveLink interface must support the new HTTP Content Server Interface.
Points to note when transferring from SAP ArchiveLink to the HTTP Content Server Interface areexplained in the relevant parts of the document.
The aim of the new interface is that only general industry standards such as HTTP and BAPIs should beused in communication with external storage systems.
A certification process ist offered for the new HTTP Content Server Interface.
For the purposes of the following description, a comprises and
• identifies and describes a document.
• The of a document consists of closed datasets. The administrative data identifies anddescribes the content. One closed dataset is a .
In SAP terminology, a is any server that manages content. A content server may be adatabase, a fileserver, an SAP R/3 System or an external archive.
The administrative data terms , and are of particularimportance when identifying documents.
• A represents the logical storage space for documents in a content server onan administrative level. Several content repositories can exist on one content server. A contentrepository is identified by the parameter contRep.
• The is an administrative quantity summarizing several components. It isidentified by the parameter docId . A document header is assigned to one particular contentrepository.
• A represents one particular content unit on an administrative level. It is identifiedby the parameter compId . A component is assigned to one particular document header.
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 5/51
Definition of Terms HTTP Content Server Interface
SAP AG - Business Process Technology 5
The relationship between content repository, document header, component and content is shown in thediagram below:
Document
ContentRepository
Documentheader
docIddateC
docStatus...
Component
compIdContent-Type
compStatus...
Contentunit 1 * 1 1..n 1 1
Administrative data Content
The combination contRep/docId is the for a document header.
The combination contRep/docId/compId is the for a component.
When components are assigned to a document header, one particular component can be identified as the , meaning that this component will exhibit particular default behavior when certain HTTP
Content Server Interface functions are executed.
Under certain circumstances documents are subject to This means that functions executed on thedocument must be legitimized. For each document header, whether or not legitimization is necessary forparticular functions can be defined. This information is not defined in the document header for each HTTPContent Server Interface function, but instead via Access modes are defined as disjunctgroups of HTTP Content Server Interface functions.
yper ext- ransfer- rotocol (HTTP) is a description of a communication process typically used to accessobjects on the orld ide eb (WWW).
This protocol is currently being developed further by the W3C (WWW-Consortium, http://www.w3c.org).
Protocol HTTP/1.1 ( equest or omment 2068) defines communication between client and server software.
The new interface is designed such that communication is always started by the client R/3 System. Thecontent server addressed by the R/3 System is always only a server and never itself a client that instigatescommunication with the R/3 System.
yper ext- arkup- anguage (HTML) is a standard format and description language for WWW pages.
niform esource ocators (URLs, see RFC 1738) are a standardized mechanism used to address uniquelydefined objects on the WWW. As well as the actual address, URLs can contain functions and parametersthat can be interpreted by the object addressed.
UTC ( niversal ime oordinated) is used for all expressions of time in this specification.
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 6/51
Implementation ` , Protection / Right of Access HTTP Content Server Interface
SAP AG - Business Process Technology 6
The following rules apply to the spelling of functions, parameters and key words in this description:
All terms defined in the Hypertext Transfer Protocol HTTP/1.1 (RFC 2068) are used correspondingly(for example, Content-Type ). Terms specific to this interface description are not capitalized if theyconsist of one syntactical term (for example, info ); a combination of lower and upper case is used if they consist of more than one syntactical term (for example, contRep ).
The HTTP protocol is used for communication with content servers. Servers and documents are addressedusing URLs; data is transferred in the Request-Body or in the Response-Body.
The URL specifies the function to be executed on a document: transfer the document from the server to theclient ( get ); retrieve information ( info) about the document or create a new document (create) . Thenecessary parameters for these functions are also part of the URL.
This specification describes the URL syntax and the semantics for the various functions.
The degree of protection is specified when a document is stored. When a document is accessed, the functiona user may execute on this document is defined. Similar functions are grouped together. The groups arecalled access modes and are listed in the following table:
Read r
Create c
Change u
Delete d
Protection applies to all components of the document. If the access mode is “change“, correspondingcomponents of a document can be deleted.
The access mode must be specified in the HTTP request as a parameter ( accessMode ). A combination of access modes can be specified, for example, ud . A secKey confirms the right of access. The correspondingaccess mode is specified in the descriptions of individual functions. When a document is accessed, thecontent server checks whether the secKey should be checked, that is, whether the document is protectedregarding a particular function. It is often sensible that all users may read documents but only certain usersmay change documents. In this case, read protection would be deactivated (no secKey is required), for
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 7/51
Protection / Right of Access ` , secKey HTTP Content Server Interface
SAP AG - Business Process Technology 7
writing or deleting, however, a secKey must be transferred. The fact that the secKey can only begenerated by the R/3 System ensures that an access protection check based on the R/3 authorization conceptwas performed.
For all access modes, it must be possible to set as default on the Content Server whether a secKey must bespecified or not. This default can be overwritten for the functions create and mCreate . If no protection
is specified, the default is used.
Old data and documents that were stored in the content server not using the HTTP interface are subject tothe highest level of protection.
The secKey ensures that a URL cannot be changed after it has been generated by the R/3 System. Thisensures that access to the document is protected and that access protection is managed in the R/3 System.The secKey does not protect the content of the document. The following parameters are always signed inthe secKey :
• contRep Content Repository
• accessMode Access mode
• authId Client ID
• expiration Expiry time (UTC)
authId must be a unique identification of the client (for example, the R/3 System). The UTC expiry timeis written in the format: yyyymmddhhmmss. If the expiry time has been exceeded, the content server mustreport HTTP status code 401 to the client.
If a secKey is transferred with the URL, the parameters accessMode , authId and expiration mustalso be transferred. These parameters need not be transferred if the secKey is not transferred.
Additional parameters must be signed. These depend on the particular function and are specified in thefunction description. The name of the function itself is not signed. The parameters to be signed can appear inthe URL in any order. To check the signature, it must be ensured that the order in which the parameters aretransferred to the signal module is the same as the order in the URL.
The secKey for the chosen procedure is about 500 bytes long.
The parameters to be signed for a particular function are specified in the function definition. They arespecified in the last column of the parameter table. If these are parameters, they must alwaysappear in the URL and are therefore always signed. Optional parameters can clearly only be signed if theyare used. parameters must appear in the URL if a signature is used. They are always signed. If no signature is used, these parameters are not evaluated.
The URL parameters to be signed are the . The message is used to determine a hash value. Theparameters must be kept in the same order for determination of the hash value. The Hash or Message Digestis a one-way function and so cannot be reversed. Using the sender private key, the hash value is digitallysigned according to RSA (Rivest Shamir Adlemen) or DSS (Digital Signature Standard) via the SAP SSF
(Secure Store & Forward) module according to PKCS#7. The digital signature is transferred in the URL inthe parameter secKey (as described above).
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 8/51
secKey HTTP Content Server Interface
SAP AG - Business Process Technology 8
Once the digital signature has been created, the URL parameters are safe from distortion. They are notencoded. All recipients can check the URL parameters using the sender public key. Any changes wouldtherefore be detected. This ensures that an action on the content server can only be started if the URLtransferred has not been distorted.
Using the sender public key, the content server generates the Message Digest again from the transferred
URL. It then forms a hash from the message (the order of the parameters in the URL is important here) andcompares the two hashes (the message hash and the hash generated by the sender). If they match, the URLhas not been distorted during transfer between the R/3 System and the content server.
The library for checking signatures is available from SAP AG if required. Since the standard formatPKCS#7 was used for the signature, other products can also be used for decoding.
• Format of digital signature: PKCS#7 „Signed-Data“
• Public key procedure: RSA or DSS
• Key length: 512 – 1024 Bits
• Public exponent: 2 16 + 1
• Public key format: X.509 v3 certificate
• MD (Message Digest) algorithm MD5 or RIPEMD-160
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 9/51
Syntax, General, Coding in the URL HTTP Content Server Interface
SAP AG - Business Process Technology 9
The URL syntax is:
http://servername:port/script?command¶meters
The servername is the name of the server machine which is accessed and port (optional) is a TCP/IPport that can be used to address the server. script is the name of the program used to access the contentserver. This may be a DLL, a CGI script or an ctive erver age (ASP). The object is created by thecontent server provider. A command must exist, followed by one or more parameters .
There must not be any blank spaces in the URL.
http://bighost:80/script.asp?get&contRep=DV&docId=C%2B%2BDescription%2Ehtml&secKey=g3AhQg%3D%3D
The structure of URLs is described in RFC 1738. It also specifies which character set may be used for aURL and how characters not in this set should be encoded.
Only characters from a ASCII character set may be used in a URL (0x00 - 0x7F). Some of these charactersmust be encoded. These are 0x00 - 0x1F and 0x7F. If they are to appear in the URL, a ‘%’ (percentage sign)followed by the hexadecimal representation of the character should be used.
A line feed (0x0A) is represented as %0A (for example) in a URL.
A set of characters must be encoded in the same way: space, <, >, “, #, %, {, }, |, \, ,̂ ~, [, ], `.These characters are unsafe either because they execute special functions in the URL or because they couldbe interpreted as special characters during transfer.
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 10/51
Coding in the URL HTTP Content Server Interface
SAP AG - Business Process Technology 10
There are also characters: ;, /, ?, :, @, =, &.
Reserved characters must also be encoded.
A further problem occurs if binary data is to be transferred in a URL. This is the case when using thisinterface since the secKey consists of binary data. Coding must first be carried out in the ASCII character
set. Base64 coding must be used (RFC 1521).
The procedure for creating a URL is as follows:
If a parameter contains characters which do not exist in the ASCII set, they must be encoded in accordancewith the URL character set restrictions. The URL is then created.
The parameter secKey is encoded separately using Base64.
http://bighost:80/script.asp?get&contRep=DV&docId=C;;Description.html&compId=data
The secKey is made up of encoded parameters. The parameters to be signed arespecified in the function definition. For reasons of clarity, arbitrary values will betaken for the secKey in this example.
The following values will be used for the secKey : 0x83, 0x70, 0x21, 0x42.
Base64 must always be used to encode the secKey .
0x83, 0x70, 0x21, 0x42 -> g3AhQg==
Characters may need to be encoded. That is the case in this example:
g3AhQg== -> g3AhQg%3D%3D
;; -> %3B%3B
http://bighost:80/script.asp?get&contRep=DV&docId=C%3B%3BDescription.html&compId=data&accessMode=r&authId=hugo_A20_47&expiration=19980623150519?secKey=g3AhQg%3D%3D
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 11/51
Functions HTTP Content Server Interface
SAP AG - Business Process Technology 11
The functions available and their parameters are described below. For each function, the effect, the possibleparameters and an example are given.
• Under , the executed function is described. The meaning of the individual parameters is given.
• Under , the effect of transferring only the mandatory parameters of a function with manyparameters is described.
• Under , the access mode for the function is specified.
• Under → , the parameters that are transferred from the client to the server are listed andspecified as optional or mandatory. s-mandatory means that the relevant parameter must only bespecified if a secKey is transferred. The HTTP-Request type is defined and the way the parameters areto be encoded in the URL and/or in the Body is described.
• Under , a function is performed using example parameters. The examples do not contain line
breaks, even though it may appear so because of the limited page width.
• Under → , the structure of the HTML-Response is defined. This response is generated bythe server and sent to the client.
The HTTP status codes specific to the content server are also listed in this section. If no security key isentered, this may cause (for example) error 401 (unauthorized); a wrongly addressed document can causeerror 404 (not found). If an error occurs, the content server must also deliver an ASCII string describing theerror. The error must be entered in the header field X-ErrorDescription .
info Retrieve information about the document r
get Fetch (an area of) a content unit of a component r
docGet Fetch the whole content of a document r
create Create a new document c
update Modify an existing document u
append Append data to a content unit u
search Search for a text pattern within a content unit r
attrSearch Search for one or more attributes within a document (search withina print list)
r
delete Delete a document or a component d
mCreate Create several new documents c
serverInfo Retrieve information about the content server and thecorresponding content repositories
-
putCert Transfer client (for example, the R/3 System) certificate -
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 12/51
Access Functions, append HTTP Content Server Interface
SAP AG - Business Process Technology 12
Effect
Data is appended to a content unit of a component in the content repository. The parameters contRep ,docId and compId describe the component (see section 1.1). The document addressed and thecorresponding component must exist.
Default
Data is appended to the content unit of the root component or the addressed component.
Access mode
change (u)
Client → Server
The client sends an HTTP-PUT-Request . The URL contains the following parameters:
Optional/mandatory Default Sign
contRep mandatory X
docId mandatory X
compId optional X
pVersion mandatory
accessMode s-mandatory X
authId s-mandatory X
expiration s-mandatory X
secKey optional
The data to be appended is transferred as an entity body.
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 13/51
Access Functions, append HTTP Content Server Interface
SAP AG - Business Process Technology 13
Example
http://voice/script.asp?append&contRep=E1&docId=33%2E834398405%2E107662018&compId=data&pVersion=0045
Data transferred in the request body is appended to the content unit of the component “data“ in the specified
document.
Server → Client
The server responds to the request with a response. The response status code indicates the outcome of thecall.
Meaning
OK, data appended
Unknown function or unknown parameter
Breach of security
Document/component not found
Document/component not accessible
Internal error in content server
The dates (dateM and compDateM) and the times (timeM and compTimeM) for changing the componentand the document must be set by the content server.
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 14/51
attrSearch HTTP Content Server Interface
SAP AG - Business Process Technology 14
Effect
This function is used to search for values in a document, usually a print list. It is a special variant of thesearch function and searches in the content unit of an attribute component. Such an attribute component(compId = descr ) is defined for print lists (for example). The actual data is in the corresponding datacomponent ( compId = data).
The struture of an attribute file is as follows:
To enable access to subobjects of a stored document, the document must be indexed by the R/3 System. Forthis, an attribute component must be transferred. The attribute components contain index information in theform of index lines. Using the information in the attribute component, the client can access the requiredposition in the data component.
Data file: R/3 print list example (extract)
Client 000User WiegandTitle LISZ1S LT70 C3.25Database ...Spool request ...Owner ...Print request ...Created ...Printed ...PC ...Printer type ...Form ...Prio. ...Number ...... Subobject information from subobject 1 print list... Subobject information from subobject 2 print list... Subobject information from subobject 3 print list......... Subobject information from subobject n print list
Index lines map various information. The record types described below present this information. The recordtype is specified in the content unit of the attribute component after Offset and length.
• DPRL: Prolog specification
• DEPL: Epilog specification
• DKEY: Key definition in index lines
• DAIN: Creation of an index for part of a document
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 15/51
attrSearch HTTP Content Server Interface
SAP AG - Business Process Technology 15
Unknown record types must be ignored.
All record types are optional and all combinations of record types are possible. The content server canonly reject the document if the combination cannot be processed in the normal way.
An index line consists of :
• Offset specification:
Specifies the position of a subdocument in relation to the start of the data file (in bytes).
• Length specification:
Specifies the length of the subdocument (in bytes).
• Record type ID:
Name of record type. (Four characters long.)
• Position parameter:
Specified only for record type DKEY.
The end of a line in the attribute component is represented by ’0A’ (in hexadecimal form).
The attribute component (extract) for the data component above is shown below (the Offset specifications73, 211 and 1147 are set for the example):
0 72 DPRL
73 0 DKEYClient 0 3
73 0 DKEYCompanyCode 3 7
73 0 DKEYAccountNumber 7 573 0 DKEYCustomerName 12 35
73 138 DAIN000000147119BrothersInc
211 120 DAIN000000147129ObelixInc
…
1147 1 DEPL
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 16/51
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 17/51
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 18/51
attrSearch HTTP Content Server Interface
SAP AG - Business Process Technology 18
Client → Server
The client sends an HTTP -GET -Request . The URL contains the following parameters:
Optional/mandatory Default Sign
contRep mandatory X
docId mandatory X
pattern mandatory
pVersion mandatory
caseSensitive optional n
fromOffset optional 0
toOffsetoptional - 1
numResults optional 1
accessMode s-mandatory X
authId s-mandatory X
expiration s-mandatory X
secKey optional
Examplehttp://voice/script.asp?searchAttr&contRep=E1&docId=33%2E834398405%2E107662018&fromOffset=80&pattern=Name%2BManfred%20Mueller&pVersion=0045&numResults=5
is searched for in the attribute in a component. Up to 5 hits are found.
Server → Client
See search function.
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 19/51
create HTTP Content Server Interface
SAP AG - Business Process Technology 19
Effect
A document with one or more components is stored in the content repository. The parameters contRep,docId and compId describe the component (see section 1.1). The function is used to create new documents. If a document already exists in the content repository, an error occurs in the function. The functions update andappend can be used to modify existing documents. The create function always creates an entire document.
The function can be called once with a HTTP-PUT or HTTP-POST (see below for details).
Default
A new document with the specified docId is created. One or more components are stored in the contentrepository. Protection is according to the standard set on the content server.
Access mode
create (c)
Client → Server
The following parameters exist:
Optional/ mandatory
Default Position(POST/PUT)
Sign(POST/PUT)
contRep mandatory URL/URL X/X
compId mandatory body/URL -/X
docId mandatory URL/URL X/X
pVersion mandatory URL/URL
Content Type optional body/body
charset optional body/body
version optional body/body
Content Length mandatory body/URL
docProt optional server setting URL/URL X/X
rootObject optional URL/URL X/X
accessMode s-mandatory URL/URL X/X
authId s-mandatory URL/URL X/X
expiration s-mandatory URL/URL X/X
secKey optional URL/URL
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 20/51
create, HTTP-PUT, HTTP-POST multipart/form-data HTTP Content Server Interface
SAP AG - Business Process Technology 20
For HTTP-POST, the Content-Length in the request header is the total length of the body and theContent-Length in each part header is the length of the individual content units. For HTTP-PUT,the Content-Length is always the total length of the body.
The function can be executed in two ways. Either a single component can be transferred using an HTTP-PUT or an HTTP-POST in multipart/form-data format is used. If the former version is used, onlyone component at a time can be loaded onto the content server. There is no such restriction if the latterversion is used.
If HTTP-PUT is used, all parameters except the Content-Type are entered in the URL. The charsetand the version are also entered in the HTTP header as the Content -Type parameter.
http://voice/script.asp?create&contRep=E1&docId=33%2E834398405%2E107662018&compId=data&pVersion=0045
The document component “data“ is stored. The component data is transferred as an entity body.
Data is transferred as HTTP -POST and as multipart/form-data . The document header information istransferred in the URL. One or more components are transferred in the body. This version of the function isparticularly suitable for transferring documents consisting of several components into the content repositoryas a whole. The component information is specified in the header of each part; the data in the body.
In practice, this means that the URL contains the parameters contRep , docId, pVersion ,rootObject , docProt , accessMode , authId , expiration and secKey ; the others are in thebody.
http://voice/script.asp?create&contRep=E1&docId=33%2E834398405%2E107662018&pVersion=0045
The request body is in multipart/form-data format. With this format, it is possible to transfer severalindependent parts to an HTTP content server. The individual parts have a header and a body and are inMIME format (RFC 2045, 2046). This MIME format enables several components to be transferred to thecontent server simultaneously. If an error occurs when storing a component, the entire action is canceled.
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 21/51
create, HTTP-POST multipart/form-data HTTP Content Server Interface
SAP AG - Business Process Technology 21
The parameters compId and Content -Type are contained in the header of each part. The compId mustbe entered in the field under the header entry Content -Disposition (see RFC 1867). Thecomponent length is in the field Content -Length . The parameters charset and version can beappended to the Content -Type .
Example
http://voice/script.asp?create&contRep=E1&docId=33%2E834398405%2E107662018&pVersion=0045
A document consisting of one or more components is transferred in multipart/form-data format.
-----------------------------9599719013618
Content-Disposition: form-data; filename=“string“
Content-Type: application/msword; charset=ISO-8859-1; version=6
Content-Length: 4242
... 4242 Bytes Data ...
-----------------------------9599719013618
Server → ClientThe server responds to the request with a response. The response status code indicates the outcome of thecall.
Meaning
OK, document created
Unknown function or unknown parameter
Breach of security
Document already exists
Internal error in content server
The content server must set the dates (dateC and compDateC) and the times (timeC and compTimeC) forcreating components and the document.
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 22/51
delete HTTP Content Server Interface
SAP AG - Business Process Technology 22
Effect
A component or an entire document is deleted. A document to be deleted is addressed via contRep anddocId . A component to be deleted is addressed via contRep , docId and compId .
Default
The document, including all administrative data (document header and components) and the content, isdeleted completely.
Access modedelete (d)
Client → Server
The client sends an HTTP -GET -Request . The URL contains the following parameters:
Optional/mandatory Default Sign
contRep mandatory X
docId mandatory X
compId optional All components X
pVersion mandatory
accessMode s-mandatory X
authId s-mandatory X
expiration s-mandatory X
secKey optional
Example
http://voice/Script.asp?delete&contRep=E1&docId=33%2E834398405%2E107662018&compId=comp1&pVersion=0045
Component “comp1“ is deleted in the named document.
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 23/51
delete HTTP Content Server Interface
SAP AG - Business Process Technology 23
Server → Client
The server responds to the request with a response. The response status code indicates the outcome of thecall.
Meaning
OK, document/component(s) deleted
Unknown function or unknown parameter
Breach of security
Document/component not found
Document/component not accessible
Internal error in content server
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 24/51
docGet HTTP Content Server Interface
SAP AG - Business Process Technology 24
Effect
The entire content of a document is retrieved from the content repository.
If an incorrect docId was specified, error 404 (not found) occurs.
If the function is executed successfully, the data is transferred as an entity body in format (see RFC 1867) as a response to an HTTP-GET-Request .
Default
-
Access mode
Read (r)
Client → Server
The client sends an HTTP-GET-Request . The URL contains the following parameters:
Optional/mandatory Default Sign
contRep mandatory X
docId mandatory X
pVersion mandatory
accessMode s-mandatory X
authId s-mandatory X
expiration s-mandatory X
secKey optional
Example
http://voice/script.asp?docGet&contRep=E1&docId=33%2E834398405%2E107662018&pVersion=0045
The entire content of a document is transferred to the client.
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 25/51
docGet HTTP Content Server Interface
SAP AG - Business Process Technology 25
Server → Client
The server responds to the request. The response status code indicates the outcome of the call.
Meaning
OK, document is transferred
Unknown function or unknown parameter
Breach of security
Document/component not found
Document/component not accessible
Internal error in content server
The server sends a response in format (see RFC 1867). The individual parts of theresponse body are separated by a boundary defined in the response header. The total length of the body isspecified by the parameter Content-Length in the response header. The component ID is specified bythe parameter X-compId in each part header. The length (Content-Length) and the componentcontent type ( Content-Type ) must also be transferred.
The entries Content-Type and Content-Length must be in the response header as well as ineach part header.
If the charset of a component is known, it must be transferred as a Content-Type parameter. Likewise, theparameter version (that is the version number of the application used to create the component content (seesection 3.1)) of a component must be transferred as a Content-Type parameter, if known.
The entry Content-Disposition (see RFC 1867) can be specified in each component header. In thisinterface, however, the Content-Disposition is not evaluated for this function.
Example
... some header infos ...
Content-Type: multipart/form-data; boundary=---------------------------9599719013618
Content-Length: length of the whole body
-----------------------------9599719013618
X-compId: Id
Content-Length: length of this component
Content-Type: application/msword; version=6; charset=ISO-8859-1
... component data ....
-----------------------------9599719013618
... other components ...
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 26/51
get HTTP Content Server Interface
SAP AG - Business Process Technology 26
Effect
A content unit of a component or a range within a content unit is retrived from the content repository. Theparameters ContRep , docId and compId describe the component. The range of the content unit isdescribed by fromOffset and toOffset.
If the function is executed successfully, the content unit is transferred from the server to the client as anentity body in the response to an HTTP GET-Request.
Default
If no compId is specified, the following conditions must be tested in the corresponding order:
1) If a component is defined as the root object, this component is returned.2) If there is a component “data“, this component is returned. If print lists and outgoing documents have
already been archived using the SAP ArchiveLink interface, the relevant data file is, by definition, thecomponent “data“. The description file has the component name “descr“.
If an incorrect compId was specified, an error occurs in the function. An error also occurs if none of theconditions above was fulfilled and yet no compId was specified The error is always error 404 (not found).
Access mode
Read (r)
Client → Server
The client sends an HTTP-GET-Request . The URL contains the following parameters:
Optional/mandatory Default Sign
contRep mandatory X
docId mandatory X
compId optional see above
pVersion mandatory
fromOffset optional 0
toOffset optional -1
accessMode s-mandatory X
authId s-mandatory X
expiration s-mandatory X
secKey optional
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 27/51
get HTTP Content Server Interface
SAP AG - Business Process Technology 27
Example
http://voice/script.asp?get&contRep=E1&docId=33%2E834398405%2E107662018&compId=data&pVersion=0045
The document component “data“ is requested.
Server → Client
The server responds to the request with a response. The response status code indicates the outcome of thecall.
Meaning
OK, content unit of component is transferred
Unknown function or unknown parameter
Breach of security
Document/component is not found
Document/component not accessible
Internal error in content server
The response content type depends on the content type of the component requested. If the charset of acomponent is known, it must be transferred as a Content-Type parameter.
Likewise, the parameter version (that is, the version number of the application used to create thecomponent content (see section 3.1)) for a component must be transferred as a Content-Type parameter,if known.
The content unit (or range within the content unit) of the component is transferred in the response body.
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 28/51
info HTTP Content Server Interface
SAP AG - Business Process Technology 28
Effect
Document information is retrieved. As well as the document header information, the server sendsinformation on all components. If information on only one component is required, a compId should bespecified.
Using resultAs , you can specify the format in which the information is to be provided. Return values canbe provided in an ASCII format which can be parsed easily or in an HTML file. Use of resultAs isoptional, ascii is standard. The format is defined further below.
Default
Standard information about the document header and the components of the addressed document is returnedin ASCII format.
Access mode
Read (r)
Client → Server
The client sends an HTTP -GET-Request . The URL contains the following parameters:
Optional/mandatory Default Sign
contRep mandatory X
docId mandatory X
compId optional
pVersion mandatory
resultAs optional ascii
accessMode s-mandatory XauthId s-mandatory X
expiration s-mandatory X
secKey optional
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 29/51
info HTTP Content Server Interface
SAP AG - Business Process Technology 29
Example
http://voice/script.asp?info&contRep=E1&docId=33%2E834398405%2E107662018&pVersion=0045
The example is a request for information about the document header and all the document components.
Server → Client
The server answers the request with a response. The response status code indicates the outcome of the call.
Meaning
OK, information delivered
Unknown function or unknown parameter
Breach of security
Document/component not found
Administrative data not accessible
Internal error in content server
The response body contains the following standard information about the document header:
Format Meaning
dateC YYYY-MM-DD Creation date
timeC HH:MM:SS Creation time
dateM YYYY-MM-DD Last changed on
timeM HH:MM:SS Last changed at
numComps Number of components in document
rootObject CompId of root component
contRep Content Repository
docId Document header ID
docStatus Indicates whether or not the document can be accessed:[offline|online]
pVersion Interface version in which document was created/ changed 1
1 If any component has been changed, the document has been changed.
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 30/51
info HTTP Content Server Interface
SAP AG - Business Process Technology 30
Each time the function is called, all document header information is provided and, if no particularcomponent is addressed, information on all components. If information is required on only one component,output can be limited to this component by specifying the compId . The following combinations arepossible:
• docId = , compId = Information about the document header and one component is provided.
• docId = Information about the document header and all components of the document is provided.
The following standard information on a component is provided:
Format Meaning
compId Component ID
Content-Type Content-Type of the component
charset Character set, in which the component content isencoded
version Application version used to create the content of thecomponent
Content-Length
Size of the component content unit in bytes
isRoot Is the root component
compDateC YYYY-MM-DD Creation date
compTimeC HH:MM:SS Creation time
compDateM YYYY-MM-DD Last changed on
compTimeM HH:MM:SS Last changed at
compStatus Indicates whether or not the component can beaccessed: [offline|online]
pVersion Interface version in which the component wascreated/changed
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 31/51
info HTTP Content Server Interface
SAP AG - Business Process Technology 31
There are two ways of coding the results in the response body. The parameter resultAs controls coding.
1) resultAs=ascii (default )
A pure ASCII-Text is returned. The document header information is at the start of the string, thecomponent information follows. The following format is used:
• For the document header:
dateC="string";timeC="string";dateM="string";timeM="string";numComps="integerstring";rootObject="string";contRep="string";docId="string“;docStatus=“string“;pVersion=“0045“CRLF
• For each component:
compId="string";Content-Type="string";charset="string";version=“string“;isRoot="y";Content-Length="integerstring";compDateC="string";compTimeC="string";compDateM="string";compTimeM="string";compstatus=“string“;pVersion=“0045“CRLF
If no value is entered, the value remains free.Content-Type="";compDateC="string";isRoot="";...
The order of the key words does not matter but there must not be any blank characters. The keywords (together with their values) are separated from each other by a semicolon. Thecorresponding values are in quotation marks.
2) resultAs=html
If resultAs=html is set, the server sends an HTML page. The structure of the HTML page isnot specified and graphical elements can be used freely.
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 32/51
mCreate HTTP Content Server Interface
SAP AG - Business Process Technology 32
Effect
One or more documents each with one or more components are stored in the content repository. The
function has a similar effect to that of several sequential create functions, but is significantly moreefficient for signed URLs in storing many new documents at once.
Within an mCreate call, objects can only be stored in one and the same content repository. The contentrepository is described by the URL parameter contRep .
The individual components of the documents are transferred in a entity body.Components of the same document must be transferred one after the other so that transfer of a document canbe assumed to be complete, as soon as a component from a different document begins.
The parameter docId is absolutely necessary for all components (each multipart-part) and is entered as theheaderfield “X-docId”.
The document parameter rootObject is transferred as the headerfield “X-rootObject” in the multipart-part header of the first component that has been transferred.
Storage of one document is performed within one transaction, but not the storage of all documentstransferred in one mCreate call.
Access mode
create (c)
Client Server
The client sends an HTTP -POST -Request .
The following parameters exist:
Header fieldin body
Optional / mandatory
Default Position Sign
contRep mandatory URL X
compId Field “filename” of
header field“contentdisposition”
mandatory body
docId “X-docId” mandatory body (1.docIdalso inURL)
X(1. docId)
pVersion mandatory URL
Content Type optional body
charset optional body
version optional body
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 33/51
mCreate HTTP Content Server Interface
SAP AG - Business Process Technology 33
Content-Length
mandatory body
docProt optional Server setting URL X
rootObject “X-rootObject” optional body
accessMode s-mandatory URL X
authId s-mandatory URL X
expiration s-mandatory URL X
secKey optional URL
The parameters for which the request body is specified as position are transferred in the header fields of themultipart-part of the corresponding components. For special parameters in this interface, the name of theheader field is in column 2 of the table.
Server Client
The server responds to the request with a response. The response status code indicates whether the call wassuccessful. A distinction is made between general status codes, which describe the success of the call as awhole and specific status codes, which document the creation of individual documents.
Meaning
OK, all documents were created
OK, all missing documents were created
Unknown function or unknown parameter
Breach of security
Internal error in content server
Meaning
OK, document created
Document already exists
Internal error in content server
An ASCII text must be returned whether the function is executed successfully or whether an error occurs.The documents stored (HTTP status code 201) and/or not stored (HTTP status code 403) are specified in thistext. The format of the text is shown below:
docId=“string“;retCode=“string“CRLF
The value of the parameter retCode is the corresponding specific HTTP status code.
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 34/51
search HTTP Content Server Interface
SAP AG - Business Process Technology 34
Effect
This function searches for a text pattern in the content unit of a component. The search can be restricted tocertain areas. The search begins at the point specified by fromOffset and continues until the toOffsetpoint. If fromOffset > toOffset , the function searches the component backwards.
A text pattern is found if the following conditions are met:
• if fromOffset < toOffset
- the location of first character of the text found is greater than or equal to fromOffset
- the location of the last character of the text found is smaller than or equal to toOffset
• if fromOffset > toOffset
- the location of the last character of the text found is less than or equal to fromOffset
- the location of the first character of the text found is greater than or equal to toOffset
The pattern contains the string searched for. The string can contain blank characters.
The number of result entries and up to numResults hits are returned as the result. A hit is the entry of thecharacter position. The character position is the position of the found location in relation to the start of thedocument. The position of the first character of the text searched for is defined as the position of the foundlocation, irrespective of the search direction.
Default
The whole addressed component or the root component is searched for the pattern.
Access mode
read (r)
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 35/51
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 36/51
search HTTP Content Server Interface
SAP AG - Business Process Technology 36
Server → Client
The server responds to the request with a response. The response status code indicates the outcome of thecall.
Meaning
OK, component was searched
Unknown function or unknown parameter
Breach of security
Document/component not found
Document/component is not accessible
Internal error in content server
The result of the search is the number of hits and the Offset for each hit. An ASCII string with the followingstructure is returned:
number;offset;offset;...
2;122;222
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 37/51
update HTTP Content Server Interface
SAP AG - Business Process Technology 37
Effect
One or more components of a document in the content repository are overwritten. The parameterscontRep , docId and compId describe the component (see section 1.1). The function is used to modifyexisting documents and components and can be called once with an HTTP -PUT or HTTP -POST .
The variant HTTP -PUT is used to recreate or overwrite a component of an existing document.
The variant HTTP -POST (multipart/form-data) is used to bring an entire document up to date. When thisvariant is used, the entire document is overwritten, not only individual components.
Default
One or more components are stored in the content repository. Protection is according to the standard set onthe server.
Access mode
Change (u);
Client → Server
The following parameters exist:
Optional / mandatory Default Position(POST/PUT) Sign (POST/PUT)
contRep mandatory URL/URL X/X
compId mandatory body/URL -/X
docId mandatory URL/URL X/X
pVersion mandatory URL/URL
Content Type optional body/body
charset optional body/body
version optional body/body
Content Length mandatory body/URL
rootObject optional URL/URL X/X
accessMode s-mandatory URL/URL X/X
authId s-mandatory URL/URL X/X
expiration s-mandatory URL/URL X/X
secKey optional URL/URL
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 38/51
update, HTTP-PUT, HTTP-POST multipart/form-data HTTP Content Server Interface
SAP AG - Business Process Technology 38
This variant is used to create or overwrite an individual component of a document. For further details, seethe create function.
Similarly to the create function, this variant of the function is used to replace a complete document withall its components in the content repository at once. Document components not already in the contentrepository are created if necessary. Components in the content repository that are not transferred when the
update function is executed are considered obsolete and deleted. For this, access mode u must beactivated. The structure of the request is the same as for the function create .
Server → Client
The server responds to the request with a response. The response status code indicates the outcome of thecall.
Meaning
OK, document/component(s) changed
Unknown function or unknown parameter
Breach of security
Document/component not found
Document/component not accessible
Internal error in content server
The dates (dateM, compDateM and compDateC) and the times (timeM, compTimeM and compTimeC) forchanging the components and the document must be set by the content server.
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 39/51
Administrative functions, putCert HTTP Content Server Interface
SAP AG - Business Process Technology 39
In the current HTTP Content Server Interface, only two administrative functions are defined: putCertand serverInfo . Further administration functions will be defined in later versions of the HTTP ContentServer Interface.
Effect
The client certificate is transferred. The system identifies itself via its authenticity ( authId ).
The client certificate (see section 1.4) is decoded in the message body and transferred in binary format.
For reasons of security, it is recommended that after the certificate has been transferred, manual action by anadministrator is necessary before access is actually allowed. This could be a public key fingerprint check orany other plausibility check.
The logon procedure therefore consists of two steps:
• Certificate is transferred and entered in a central location
• Administrator allows access via a tool.
The client can only access after the second step of this procedure. After the first step, the certificate is onlycreated.
Access mode
-
Client→
ServerThe client sends an HTTP -PUT -Request .
Optional/mandatory Sign
authId mandatory
pVersion mandatory
The certificate is transferred in the request body, all the other parameters are transferred in the URL. TheURL does not contain a secKey .
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 40/51
putCert HTTP Content Server Interface
SAP AG - Business Process Technology 40
Server → Client
The server responds to the request with a response. The response status code indicates the success of thecall.
Meaning
OK
Unknown function or unknown parameter
Certificate cannot be recognized
Internal error in the content server
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 41/51
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 42/51
serverInfo HTTP Content Server Interface
SAP AG - Business Process Technology 42
The following information about the content server status is provided:
Format Meaning
serverStatus Status of content server:
[running|stopped|error]serverVendorId Manufacturer and software version
serverTime HH:MM:SS Content server time (UTC)
serverDate YYYY-MM-DD Content server date (UTC)
serverErrorDescription Text describing server status
pVersion Content server interface version
The following information about the status of each content repository is provided:
Format Meaning
contRep Content repository
contRepVendorId Manufacturer and software version
contRepDescription Text describing content repositorycontent
contRepStatus Status of content repository:
[running|stopped|error]contRepTime HH:MM:SS Content repository time (UTC)
contRepDate YYYY-MM-DD Content repository date (UTC)
contRepErrorDescription Text describing content repository status
pVersion Content repository interface version
For each function call, all information about the content server is provided. If no content repository isaddressed, information on all content repositories is provided. contRep can be used to limit the content
repository information to a single content repository.
The results in the response body can be encoded in two ways. Coding is controlled by the parameterresultAs .
1) resultAs =ascii (default )
A pure ASCII text is returned. The information about the content server is at the start of the string, theinformation about the content repositories follows. The following format is used:
• For the content server:
serverStatus="string";serverVendorId="string";serverTime="string";serverDate="string";serverErrorDescription="string";pVersion=“0045“CRLF
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 43/51
serverInfo HTTP Content Server Interface
SAP AG - Business Process Technology 43
• For each content repository:
contRep="string";contRepVendorId="string";contRepDescription="string";contRepStatus=“string“;contRepTime="string";contRepDate="string";contRepErrorDescription="string";pVersion=“0045“CRLF
If no entry is made, the value remains free.
contRepDescription =""; contRepStatus ="string";contRepTime="";...
The order of the key words does not matter, but there must not be any blank characters. The key words(with their values) are separated by a semicolon (;). The corresponding values are in quotation marks.
2) resultAs =html
If resultAs =html is set the server sends an HTML page. The structure of the HTML page isunspecified and graphical elements can be used freely.
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 44/51
Error codes HTTP Content Server Interface
SAP AG - Business Process Technology 44
An error occuring when the function is executed is recognizable from the HTTP status code.
Meaning Used for
OK, information/component isdelivered/transferred/changed
/appended/deleted
info , get , docGet , update ,append , delete , putCert ,search , attrSearch
OK, component(s) created (if create )
OK, (all) document(s) created (if mCreate )
create , mCreate
OK, all missing documents created mCreate
Unknown function or unknownparameter
All functions
Breach of security info , get , docGet , create ,update , append , delete ,mCreate , search ,attrSearch
Document/component already exists create , mCreate
Document/component/ contentrepository not found
info , get , docGet , up d ate,append , delete , search ,attrSearch
Certificate cannot be recognized putCert
Document/component/administrativedata is inaccessible
info , get , docGet , append ,update , de l ete, search ,attrSearch
Internal error in content server All functions
If an error occurs, the content server must also deliver an ASCII string describing and explaining the error.The error must be entered in the header field X- ErrorDescription .
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 45/51
Appendix, Parameters and Key Words HTTP Content Server Interface
SAP AG - Business Process Technology 45
A parameter appears no more than once per URL. The parameters and key words defined are listed below inalphabetical order. The data type is given in square brackets (a “string” consists of characters from theASCII character set and an “integerstring” consists of characters from the set {0,1,2,3,4,5,6,7,8,9}):
• accessMode [string]:
Access mode
• authId [string]:
Client ID
• caseSensitive [y|n]:
Determines whether the search is case-sensitive. Standard is n.
− caseSensitive =n Search is not case-sensitive
− caseSensitive =y Search is case-sensitive
• charset [string]:
Describes the character set in which the component content is encoded (for example, ISO-8859-1; seealso RFC 2046). Further values can be defined, but must have an X placed before them. The characterset is transferred as a Content -Type parameter.
• compDateC [string]:
Date component created (UTC); format: YYYY-MM-DD
• compDateM [string]:
Date component last changed (UTC); format: YYYY-MM-DD
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 46/51
Appendix, Parameters and Key Words HTTP Content Server Interface
SAP AG - Business Process Technology 46
• compId [string]:
Identifies a component within a document.
If a document only contains one component and no compId is specified, the compId default is “data“.If a document contains more components and no compId is specified, the file names (if known) of the
individual components become the compIds .
Additional information for partners who already support the SAP ArchiveLink interface:
Data files for stored print lists and outgoing documents are interpreted as the compId “data“;the corresponding description files as compId “descr“ and notes as compId “note“.
Predefined values for components:
- “data ” data file
- “descr ” attribute file
- “note ” note
• compTimeC [string]:
Time component created (UTC); format: HH:MM:SS
• compTimeM [string]:
Time component last changed (UTC); format: HH:MM:SS
• compStatus [online|offline]:
Status of component in the content repository. Meaning:
− online Component known and accessible
− offline Component known and currently inaccessible
• Content -Length [integerstring]:
Size of body or component in bytes. The parameter Content -Length can occur both in the responseheader and in part headers.
• Content -Type [string]:
Identifies the Content-Type of a component or a transferred document. Can occur in the responseheader and in part headers. With charset , the character set used to write the component content canbe specified as the Content-Type parameter.
• contRep [string]:
Specifies the content repository.
• contRepDate [string]:
Content repository date (UTC); Format: YYYY-MM-DD
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 47/51
Appendix, Parameters and Key Words HTTP Content Server Interface
SAP AG - Business Process Technology 47
• contRepDescription [string]:
Text describing the content repository content
• contRepErrorDescription [string]:
Text describing a content repository error
• contRepStatus [running |stopped |error ]:
Content repository status. Meaning:
− running Content repository is running
− stopped Content repository has been stopped
− error Error in content repository
• contRepTime [string]:
Content repository time (UTC); format HH:MM:SS
• contRepVendorId [string]:
Manufacturer and version of content repository software
• dateC [string]:
Document creation date (UTC); format: YYYY-MM-DD
• dateM [string]:
Date document last changed (UTC); format: YYYY-MM-DD
• docID [string]:
Unique identifier for document header
• docProt [string]:
Document protection. docProt controls protection of a document and its information. docProt is acombination of the access rights r,c,u ,or d . A standard that can be overwritten by the parameter is seton the content server. For example, the combination rcud provides full protection for a document.
• docStatus [online |offline ]:
Status of a document in the content repository. Meaning:
− online Document known and accessible
− offline Document known, but/and currently inaccessible
• expiration [string]:
Expiry time of a signed URL, (UTC) format: YYYYMMDDHHMMSS
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 48/51
Appendix, Parameters and Key Words HTTP Content Server Interface
SAP AG - Business Process Technology 48
• fromOffset [integerstring]:
Specifies the starting point for a search or the beginning of a byte range within the component. Thedefault is 0. This parameter is needed to be able to read parts of the component (with print lists, forexample). fromOffset has priority over a potential Content-Range.
• isRoot [y]:
Identifies a component as a root component.
• numComps [integerstring]:
Number of components in a document.
• numResults [integerstring]:
Determines the maximum number of results a search can give.
• pattern [string]:
Character pattern searched for. Wildcards (for example, * ? ) or logical expressions are not supported.The following characters are not allowed (the list is not exhaustive):CTL | SP | “ | % | < | > | ; | / | ? | : | @ | & | = |
The disallowed characters must be replaced by corresponding escape coding in the form escape =% HEX HEX.
• pVersion [string]:
Specifies the interface version. Versions 0021, 0030 and 0031 were defined for the SAP ArchiveLink interface. The HTTP Content Server Interface begins with version 0045.
• resultAs [string]:
Chooses the presentation form for the result of the info function. Standard is ASCII.
− resultAs =ascii Results given in ASCII format
− resultAs =html Results given in HTML format
• retCode [string]:
Part of the ASCII string sent by the content server to the client after an mCreate call. Contains theHTTP status code for the corresponding document.
• rootObject [string]:
compId of root component
• secKey [string ]:
Specifies an access key that can be used to check access authorization. The access key is generated bythe R/3 System.
• serverDate [string] :
Content server date (UTC); format: YYYY-MM-DD
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 49/51
Appendix, Parameters and Key Words HTTP Content Server Interface
SAP AG - Business Process Technology 49
• serverErrorDescription [string]:
Text describing content server error
• serverStatus [running |stopped |error ]:
Content server status. Meaning:
− running Content server is running
− stopped Content server has been stopped
− error Error in content server
• serverTime [string]:
Content server time (UTC); format: HH:MM:SS
• serverVendorId [string]:
Manufacturer and version of content server software
• timeC [string]:
Document creation date (UTC); format: HH:MM:SS
• timeM [string]:
Time document last changed (UTC); format: HH:MM:SS
• toOffset [integerstring]:
Specifies the end of a byte range within the component. The default -1 means that the search should
continue to the end of the component. toOffset has priority over a potential Content-Range.
• version [string]:
Describes the application version used to create a document/component. The version is transferred asthe Content-Type parameter. For some MIME-Types, version numbers are registered at IANA, sothat they are used in the same way world-wide. For example, versions 2w, 4, 5 and 6 are used forapplication/msword.
• X-ErrorDescription [string]:
Header field in which the content server enters an explanatory text if an error occurs.
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 50/51
Converting from Document Classes to MIME Types HTTP Content Server Interface
SAP AG - Business Process Technology 50
This section is only relevant for those partners who have supported the SAP ArchiveLink interface andnow want to support the new HTTP Content Server Interface.
When a component is stored, the MIME-Type is transferred in the field Content -Type in the requestheader, see RFC 2045 / RFC 2046. The content server holds the MIME-Type, but does not evaluate it. TheMIME-Type is used as the response Content -Type (for the get function, for example).
Until now, only document classes such as ALF, FAX, DOC have been recognized in the archives. An MIME-Type must be determinable from the old document classes in the new interface so that documents already storedcan be accessed. The MIME type is derived from the document class.
Conversion is shown in the following table. The order of the entries is significant. The first appropriate entryfrom the top is used for conversion.
compId MIME-Type
data image/tiff
* application/octet-stream
* application/msword
* application/pdf
* application/postscript
* application/rtf
* application/vnd.ms-excel
* application/vnd.ms-project
* application/vnd.ms-powerpoint
* application/x-alf
* application/x-otf * application/x-raw
* application/octet-stream
* application/x-scr
* image/bmp
* image/gif
* image/jpeg
8/13/2019 bc_alh_45
http://slidepdf.com/reader/full/bcalh45 51/51
Converting from Document Classes to MIME Types HTTP Content Server Interface
* image/pcx
* image/tiff
* image/tiff
* text/html
* text/plain
For document classes not listed above, no MIME-Type is set.