51
8/13/2019 bc_alh_45 http://slidepdf.com/reader/full/bcalh45 1/51

bc_alh_45

  • Upload
    rrisaac

  • View
    229

  • Download
    2

Embed Size (px)

Citation preview

Page 1: bc_alh_45

8/13/2019 bc_alh_45

http://slidepdf.com/reader/full/bcalh45 1/51

Page 2: bc_alh_45

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.

Page 3: bc_alh_45

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

Page 4: bc_alh_45

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.

Page 5: bc_alh_45

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.

Page 6: bc_alh_45

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

Page 7: bc_alh_45

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).

Page 8: bc_alh_45

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

Page 9: bc_alh_45

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&parameters

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.

Page 10: bc_alh_45

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

Page 11: bc_alh_45

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 -

Page 12: bc_alh_45

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.

Page 13: bc_alh_45

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.

Page 14: bc_alh_45

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

Page 15: bc_alh_45

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

Page 16: bc_alh_45

8/13/2019 bc_alh_45

http://slidepdf.com/reader/full/bcalh45 16/51

Page 17: bc_alh_45

8/13/2019 bc_alh_45

http://slidepdf.com/reader/full/bcalh45 17/51

Page 18: bc_alh_45

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.

Page 19: bc_alh_45

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

Page 20: bc_alh_45

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.

Page 21: bc_alh_45

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.

Page 22: bc_alh_45

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.

Page 23: bc_alh_45

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

Page 24: bc_alh_45

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.

Page 25: bc_alh_45

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 ...

Page 26: bc_alh_45

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

Page 27: bc_alh_45

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.

Page 28: bc_alh_45

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

Page 29: bc_alh_45

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.

Page 30: bc_alh_45

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

Page 31: bc_alh_45

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.

Page 32: bc_alh_45

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

Page 33: bc_alh_45

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.

Page 34: bc_alh_45

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)

Page 35: bc_alh_45

8/13/2019 bc_alh_45

http://slidepdf.com/reader/full/bcalh45 35/51

Page 36: bc_alh_45

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

Page 37: bc_alh_45

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

Page 38: bc_alh_45

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.

Page 39: bc_alh_45

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 .

Page 40: bc_alh_45

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

Page 41: bc_alh_45

8/13/2019 bc_alh_45

http://slidepdf.com/reader/full/bcalh45 41/51

Page 42: bc_alh_45

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

Page 43: bc_alh_45

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.

Page 44: bc_alh_45

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 .

Page 45: bc_alh_45

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

Page 46: bc_alh_45

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

Page 47: bc_alh_45

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

Page 48: bc_alh_45

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

Page 49: bc_alh_45

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.

Page 50: bc_alh_45

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

Page 51: bc_alh_45

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.