Integrator Guide - SAP Help Portal

68
PUBLIC SAP Information Steward Document Version: 4.2 Support Package 13 (14.2.13.0) – 2020-03-26 Integrator Guide © 2020 SAP SE or an SAP affiliate company. All rights reserved. THE BEST RUN

Transcript of Integrator Guide - SAP Help Portal

PUBLICSAP Information StewardDocument Version: 4.2 Support Package 13 (14.2.13.0) – 2020-03-26

Integrator Guide

© 2

020

SAP

SE o

r an

SAP affi

liate

com

pany

. All r

ight

s re

serv

ed.

THE BEST RUN

Content

1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Web Services technologies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1 XSD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2 WSDL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3 Using Information Steward as a web service provider. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83.1 Common Web Services WSDL file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

ping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12login. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13logout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.2 Metapedia Web Services WSDL file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17search. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18getTermDetailsByName. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20getMultipleTermDetailsByName. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23searchPolicyStatement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24searchPolicySet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27getPolicyStatementDetailsByName. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28GetPolicySetDetailsByName. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30getPolicyStatementComplianceScore. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32getPolicySetComplianceScore. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34getPolicyStatementsInPolicySet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.3 Configuring the Web Services security policy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38Enabling and disabling the default security policy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Security checklist: Enabling and using SSL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39Using keytool to generate keystores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40Creating a custom security policy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4 Web Services log. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5 Sample files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445.1 is-common.wsdl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445.2 is-common.xsd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465.3 Metapedia_WebServices.wsdl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485.4 Metapedia_Services.xsd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535.5 Security configuration files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61

policy.properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61default_server.keystore. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

2 P U B L I CIntegrator Guide

Content

default_client.keystore. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63https_policy.xml. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63axis2.xml. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

Integrator GuideContent P U B L I C 3

1 Overview

Use the information in the Integrator Guide and the programming language of your choice to develop an interface to the Metapedia component in SAP Information Steward.

The access mechanism is SOAP (Simple Object Access Protocol). With the provided WSDL (Web Service Description Language) and XSD (XML Schema Definition) interface files, it is possible for you to log in, manage sessions, search, and retrieve operations.

The Common Web Service features include login that supports several SAP BOE authentication methods by using authentication and session management. Authentication and session management enables authorized users to log in and out without compromising the security of SAP BI platform in general. Authentication and session management specifically protects unauthorized users from accessing Information Steward. For stateless operation and security, the software uses short-term sessionID tokens for each information request.

When you use the Metapedia Web Service, term and policy set search and retrieval information is available. The Metapedia Web Service session management features allow you to specify the following:

● Maximum number of terms, policy sets, or policy statements to retrieve● Index value and pagination

Advanced search features allow you to use wildcard characters, such as “*” (for multiple characters) and “?” (for single characters).

NoteUsers who have permissions set within Metapedia are able to access the same information using the web service.

This SDK and documentation is intended for use by web service developers familiar with XSD, WSDL, and web services.

With this SDK, create widgets or plugins for Microsoft Office for Word, Outlook, PowerPoint, or Excel. The widgets and plugins provide quick and direct access to Metapedia business terms. Your users do not have to switch between the SAP BI platform to Metapedia to their favorite program to work with their terms and policy sets.

NoteYou still have to perform maintenance for Metapedia terms, policy set, and policy statement databases using SAP Information Steward.

Related Information

Using Information Steward as a web service provider [page 8]

4 P U B L I CIntegrator Guide

Overview

2 Web Services technologies

Information Steward Metapedia Web Services use WSDL and XSD to define the interface rules. IS Common and Metapedia web services each have a corresponding WSDL and XSD file.

Web service technology Description

SOAP Connection protocol (envelope for XML messages).

WSDL Language used to request a service and return replies (subset of XML).

XML Schema Definition (XSD) Format used for the WSDL file. It is the schema used to describe the input and output for a web service operation.

XML Schema formats are defined in the types element of the WSDL file.

The following table describes the basic SOAP components:

SOAP components

Attribute Description Sample Value

XML Declaration Inclides the version and encoding declaration. <?xml version="1.0" encoding="UTF-8" ?>

soapenv:Envelope

Encompasses the name­space (XMLNS) of the servers, the soap schema, and SAP Infor­mation Steward Web Services.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://common.isws.sap.com/2012/01/01">

soapenv:Header

Encompasses the API. <soapenv:Header> <ns:SessionHeader> <ns:SessionId>AUeUnNX1addNgzkHhHOh70Y</ns:SessionId> <!--Optional:--> <ns:SessionStatus type=""> <!--Optional:--> <ns:Reason>?</ns:Reason> </ns:SessionStatus> </ns:SessionHeader> </soapenv:Header>

soapenv:Body The SOAP body tag con­tains the search method(s).

<soapenv:Body> <ns1:Search recordsPerResult="15" startIndex="0" plainText="true"> <Query>metauth</Query> </ns1:Search> </soapenv:Body>

The Metapedia interface is fully compliant with Web Services Interoperability (WS-I) Basic Profile 1.0, and supports support the standard Java Web Services technologies using SOAP, WSDL and XML.

Integrator GuideWeb Services technologies P U B L I C 5

Related Information

is-common.wsdl [page 44]Metapedia_WebServices.wsdl [page 48]Metapedia_Services.xsd [page 53]is-common.xsd [page 46]

2.1 XSD

XML Schema Definition (XSD) outlines the structure of the Metapedia documents provided. The SDK uses these XSD files:

XSD file Description

ISCommon Services Used to submit authentication information and retrieve a token.

The is-common.xsd file provides the complete specification of all available service options for logging in and out, and server ping. The top level summary of these functions include:

● LoginDetails (UserName, Password, Domain, AuthType, Locale, Additional <sapClient, sapSystem>)

● ISWSException (ID, Message, Operation, CallStackTrace, CauseException, CauseID, CauseMessage, CauseDetail)

● ISSession (SessionId, SessionStatus)● Status (Reason, Type <SUCCESS> or <FAILED> )● LoginResponse (SessionHeader / ISSession)● SessionHeader● LoginInformation (LoginDetails, LoginToken, SerializedSession)● logout (SessionId)● ping (PingResponse=timestamp)

Metapedia Services Provides the interface to access Metapedia search functions and search results.

The Metapedia_Services.xsd file provides operations that retrieve term, policy set, and policy statement information.

Related Information

is-common.xsd [page 46]Metapedia_Services.xsd [page 53]Common Web Services WSDL file [page 12]Metapedia Web Services WSDL file [page 17]

6 P U B L I CIntegrator Guide

Web Services technologies

2.2 WSDL

Web Services Description Language (WSDL) uses XML to define the structure, or schema definition of the XML document that is used in web services communication between client and server.

The Metapedia SDK uses these WSDL definitions:

WSDL definition Description

Common Web Service Provides a WS-Policy-based security infrastructure. Services include login, logout and vali­dation services and logging.

You can access the is-common.wsdl file from the following URL: http://<domain.url>:<port>/BOE/ISWebServices/Common?wsdl

The Common Web Services include login, logout, and ping.

● login token or credentials (LoginToken returns the SessionId)● logout (requires the SessionId)● ping (no parameters are needed)

Metapedia Web Services Provides search and retrieval functions.

You can access the Metapedia_Web Services.wsdl file from the following URL: http://<domain.url>:<port>/BOE/ISWebServices/Metapedia?wsdl

The Metapedia web services term, policy set, and policy statement details by name and by query.

● Term, policy set, and policy statement search (requires the SessionId and the exact spelling of the term, policy set, or policy statement). Additional parameters include:○ SessionStatus○ Formatting (@plainText - the response is formatted as RTF or plain text)○ TermName, policySetName, or policyStatementName (requires that the name be

exact)● Search with wild card (requires the SessionId and a phrase with the * or ? wild card).

Additional parameters include:○ SessionStatus○ Formatting (@recordsPerResult, @startIndex, @plainText)○ Query (the term, policy set, or policy statement name can include a wild card char­

acter * or ?)

Related Information

Common Web Services WSDL file [page 12]Metapedia Web Services WSDL file [page 17]

Integrator GuideWeb Services technologies P U B L I C 7

3 Using Information Steward as a web service provider

The following web service workflow diagram shows a typical query session. The black represents the IS Common services, while the white represents the Metapedia web services.

The following component dependency diagram illustrates how Information Steward web application appears with the Metapedia IS Common Services and the IS Session Management Module leverages existing functionality of other components such as the Apache Rampart security module and the AXIS 2 web services engine.

The following message flow diagram illustrates the path that service requests follow. Secure SOAP messages are initiated by clients, the query is processed, and the requested data is securely returned.

The Axis 2 module handles the Session Management, serving to validate the session token, sampling the thread every minute, and timing out after 10 minutes.

8 P U B L I CIntegrator Guide

Using Information Steward as a web service provider

The following UML sequence diagram illustrates the interactions between the various components, showing swim lanes for the Common Web Services and the IS Repository that contains the Metapedia data.

The client logs on, the Common WS delivers a success message and a logon token to be used for query sessions. Given the stateless operation of the web service, subsequent queries validate the token before allowing the query to proceed. When the query completes, the client can be formally logged out, or the session and token validity can be allowed to expire after 10 minutes.

Integrator GuideUsing Information Steward as a web service provider P U B L I C 9

The overall system design showing how the Common Web Services and the Metapedia Web Services fit into the BOE system is shown in the following diagram:

10 P U B L I CIntegrator Guide

Using Information Steward as a web service provider

Integrator GuideUsing Information Steward as a web service provider P U B L I C 11

3.1 Common Web Services WSDL file

Provides operations for session management.

The ISCommonBinding interface is used for the following operations:

Operation Description

ping Checks to see if a webservice is available by returning a timestamp.

login Facilitates logging in to Information Steward and retrieval of a session token.

logout Ends the session.

NoteThe path for ISCommon webservices is as follows:

http://<IS_WEBSERVER_DOMAIN>:<PORT>/BOE/ISWebServices/Common?wsdl

3.1.1 ping

Verifies that the Information Steward web server that contains the Metapedia SDK is running and responding.

The ping operation is an empty input message with a ping operation request.

Input

Parameter Description

ping The domain name of the server running the BI platform Information Steward. The port number is not required.

The server may be pinged with a URL:

http://<domain.name>:<port>/BOE/InfoStewardApp/<number>/ICCExplorer/services/ISCommon/ping

Where <number> is a server-specific numerical value. For example, 1210021132.

12 P U B L I CIntegrator Guide

Using Information Steward as a web service provider

Output

Method Description

timestamp Timestamp information from the server.

ExampleRequest XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://common.isws.sap.com/2012/01/01"> <soapenv:Header/> <soapenv:Body> <ns:ping></ns:ping> </soapenv:Body> </soapenv:Envelope>

ExampleResponse XML

A successful response from the server displays a timestamp:

<c:PingResponse xmlns:c="http://common.isws.sap.com/2012/01/01"> <c:timestamp>1350189008009</c:timestamp> </c:PingResponse>

3.1.2 login

Submits a logon token or username and password credentials to log in to the BI platform system.

The system returns a logon token, or SessionId, that is used when searching for terms, definitions, and policy sets and statements. Because the system is stateless, the login is not remembered and the token must be used for every search request.

The SessionID is a 23-character case-sensitive token (for example, AX88m9bEEBNAqUqztkzmGdU) that is supplied by BI platform security.

Three authentication methods are available:

● A BOE logon token obtained by other means such as by using the JAVA SDK or RESTful Web Services can be used to avoid having the user enter their name and password.

● A serialized session is used when a login to BOE has already occurred and/or the access is shared by more than one trusted user.

● A username- and password-authenticated login with and a choice of several authentication methods supported by the BI platform.

Integrator GuideUsing Information Steward as a web service provider P U B L I C 13

Input

The login operation uses one input parameter called LoginInformation. The following table describes the three methods that may be used to login to Information Steward. An appropriate login token is returned along with a response and status message:

Method Description Sample value

LoginDetails Parameters:

● Username● Password● Domain● Authentication Method● Locale (optional)● Additional Information (optional)

LoginDetails sample values:

● user.john.doe● pasw0rd.hard.to.guess● test.domain.net● secEnterprise● <ns:Locale>en</ns:Locale>● <ns:SAP sapClient="tenant1"

sapSystem="IBM"/>

LoginToken Client must already be a BOE registered user and must already be logged in to BOE enterprise.

This method avoids having to supply a user name and password to the client.

ASAB6t1Xe333oZ.UUH54am8

SerializedSession ● Client must already be a BOE regis­tered user and must already be logged in to BOE enterprise.

● As with LoginToken, this method avoids having to supply a user name and password to the client.

● The main advantage is to share BOE session with several users.

ASAB6t1Xe444oZ.UUH54am8

Supported authentication types for the username and password login are as follows:

Authentication types

Authentication type Value Notes

Enterprise secEnterprise BOE BI platform enterprise security

LDAP secLDAP Lightweight Directory Access protocol authentication

Windows AD secWinAD Microsoft Windows Active Directory logon

SAP secSAPR3 Requires additional parameters such as the SAP client and SAP system.

JD Edwards EnterpriseOne secPSE1 n/a

Oracle EBC secOraApps n/a

PeopleSoft Enterprise secpsenterprise n/a

Siebel7 secSeibel7 n/a

14 P U B L I CIntegrator Guide

Using Information Steward as a web service provider

NoteThe BI platform passes requests to other layers of the system, including client applications. You can include request header attributes that are not recognized by the BI platform but are recognized by client applications.

Output

Method Description

SessionId A token that is acquired at login and is required in order to log off. The 23-digit token

that is obtained from ISCommonBinding login .

SessionStatus The SessionStatus response is either SUCCESS or FAILED.

If SessionStatus is FAILED, an error message appears.

ExampleRequest XML

The following XML code snippet is an example of a request form:

<?xml version="1.0" encoding="UTF-8" ?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://common.isws.sap.com/2012/01/01"> <soapenv:Header> <ns:LoginInformation><!--You have a CHOICE of the next 3 items at this level--> <ns:LoginDetails> <ns:UserName>AuthorizedUser</ns:UserName> <ns:Password>PasswordHere</ns:Password> <ns:Domain>is_webserverdoman.name.here.com</ns:Domain> <ns:AuthType>secEnterprise</ns:AuthType> <!--Optional:--> <ns:Locale>?</ns:Locale> <!--Optional:--> <ns:Additional> <ns:SAP sapClient="?" sapSystem="?"/> </ns:Additional> </ns:LoginDetails> <ns:LoginToken>?</ns:LoginToken> <ns:SerializedSession>?</ns:SerializedSession> </ns:LoginInformation> </soapenv:Header> <soapenv:Body> <ns:login>?</ns:login> </soapenv:Body> </soapenv:Envelope>

ExampleResponse XML

Integrator GuideUsing Information Steward as a web service provider P U B L I C 15

The following XML code snippet is an example of a successful response from a request, where the SessionID value of AX88m9bEEBNAqUqztkzmGdU is retrieved:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <c:LoginResponse xmlns:c="http://common.isws.sap.com/2012/01/01"> <c:SessionHeader> <c:SessionId>AX88m9bEEBNAqUqztkzmGdU</c:SessionId> <c:SessionStatus type="SUCCESS"> <c:Reason/> </c:SessionStatus> </c:SessionHeader> </c:LoginResponse> </soapenv:Body> </soapenv:Envelope>

3.1.3 logout

Logs you out of the Information Steward web server when web service communication is complete.

You must use the SessionId logon token (a session CUID supplied from an EnterpriseSession) to notify Information Steward that you are leaving. This frees up a license seat for use by another person.

Input

Method Description

SessionId A token that is acquired at login and is required in order to log off. The 23-digit token

that is obtained from ISCommonBinding login .

Output

Method Description

SessionStatus The SessionStatus response is either SUCCESS or FAILED.

If SessionStatus is FAILED, an error message appears.

ExampleRequest XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://common.isws.sap.com/2012/01/01"> <soapenv:Header/> <soapenv:Body> <ns:logout> <ns:SessionId>?</ns:SessionId>

16 P U B L I CIntegrator Guide

Using Information Steward as a web service provider

</ns:logout> </soapenv:Body> </soapenv:Envelope>

ExampleResponse XML

A successful logout response appears as follows:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <c:LogoutResponse type="SUCCESS" xmlns:c="http://common.isws.sap.com/2012/01/01"> <c:Reason/> </c:LogoutResponse> </soapenv:Body> </soapenv:Envelope>

3.2 Metapedia Web Services WSDL file

Provides functions to allow information retrieval.

The MetapediaServiceBinding interface is used for the following operations:

Operation Description

search Searches for matches using an approximate term name plus a wildcard character such as * or ?.

getTermDetailsByName Searches for a term exactly as you enter it.

getMultipleTermDetailsByName Searches for multiple terms exactly as you enter them.

searchPolicyStatement Returns all the policy statements that match the provided search query. The name can be a partial string with an asterisk (*) appended to the name string.

searchPolicySet Returns all the policy sets that match the provided search query. The name can be a partial string with an * appended to the name string.

getPolicyStatementDetailsByName Returns detailed information regarding the policy statement specified by the name in the request.

getPolicySetDetailsByName Returns detailed information about a specific policy set (exact name re­quired).

getPolicyStatementComplianceScore Returns the policy statement compliance score, based on the name of the policy statement.

getPolicySetComplianceScore Returns the policy set compliance score, based on the name of the pol­icy set.

getPolicyStatementsInPolicySet Returns all the policy statements found in a particular policy set, based on the name of the parent policy set.

Integrator GuideUsing Information Steward as a web service provider P U B L I C 17

Related Information

search [page 18]getTermDetailsByName [page 20]getMultipleTermDetailsByName [page 23]searchPolicyStatement [page 24]searchPolicySet [page 27]getPolicyStatementDetailsByName [page 28]GetPolicySetDetailsByName [page 30]getPolicyStatementComplianceScore [page 32]getPolicySetComplianceScore [page 34]getPolicyStatementsInPolicySet [page 36]

3.2.1 search

Searches for matches using an approximate term name, plus a wildcard character such as * or ?.

Input

Method Description

SessionId 23-digit token that is obtained from ISCommonBinding login .

recordsPerResult The maximum number of search results to return. 250 is the default value.

startIndex If there are multiple pages, the number of the page to display. The default is 0.

plainText Specifies how the description text should be returned. Use true for unformatted text and false for RTF (Rich Text Format) text.

Query Name of the term to search (the default is RelTerm). Asterisk (*) and question mark (?) symbols are used for wildcard and character substitution searches. For example, *flower will return wildflower and sunflower and Bra?il will return Brazil and Brasil.

Output

Method Description

totalTerms Total number of terms found. If a term cannot be found, the return value is 0.

Name Name of the term. The terms are sorted in ascending order.

Description Description associated with the term.

18 P U B L I CIntegrator Guide

Using Information Steward as a web service provider

Method Description

MetapediaTermURL URL to the term in Information Steward.

Author Name of the author.

LastModifiedDate Date the term was last modified.

NoteAny errors that result from the query, such as an expired session token, will display a faultcode and faultstring. For example:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <soapenv:Fault> <faultcode>soapenv:Server</faultcode> <faultstring>Session is expired or session ID is not correct. (COM-101)</faultstring> <detail/> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope>

COM is the error prefix code for Common Web Services.

ExampleRequest XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://common.isws.sap.com/2012/01/01" xmlns:ns1="http://metapedia.isws.sap.com/2012/01/01"> <soapenv:Header> <ns:SessionHeader> <ns:SessionId>AUeUnNX1addNgzkHhHOh70Y</ns:SessionId> <!--Optional:--> <ns:SessionStatus type=""> <!--Optional:--> <ns:Reason>?</ns:Reason> </ns:SessionStatus> </ns:SessionHeader> </soapenv:Header> <soapenv:Body> <ns1:Search recordsPerResult="15" startIndex="0" plainText="true"> <Query>metauth</Query> </ns1:Search> </soapenv:Body> </soapenv:Envelope>

ExampleResponse XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <ns1:MetapediaTerms totalTerms="1" xmlns:ns1="http://metapedia.isws.sap.com/2012/01/01"> <Term> <Name>metauth</Name> <Description>metaauth</Description>

Integrator GuideUsing Information Steward as a web service provider P U B L I C 19

<MetapediaTermURL>http://uspalw201.dhcp.pal.sap.corp:8080/BOE/ InfoStewardApp/1209261045/ICCExplorer/metapediaPage.do ?termName=metauth&amp;name=metauth&amp;rdir=y</MetapediaTermURL> <Author>MetaAuth</Author> <LastModifiedDate>2012-09-27 14:30:37</LastModifiedDate> </Term> </ns1:MetapediaTerms> </soapenv:Body> </soapenv:Envelope>

3.2.2 getTermDetailsByName

Searches for a term exactly as you enter it and returns detailed information about the specified term.

Input

Method Description

SessionId A 23-digit token that is obtained from ISCommonBinding login .

PlainText (optional) Specifies how the description text should be returned. Use true for unformatted text and false for RTF (Rich Text Format) text.

TermName Name of the term to search.

Output

Method Description

Name Technical name for the term. Terms are sorted in ascending order.

Description Text that describes this term.

MetapediaTermURL URL to the term in Information Steward.

Author Name of the author.

LastModifiedDate Date the term was last modified.

RelatedTerms Other terms that have a related meaning to this term. Information about each re­lated term includes:

● Name (the business name)● Metapedia term URL

Categories Name of each category to which the term belongs.

Synonyms Words that have the same meaning as the term.

20 P U B L I CIntegrator Guide

Using Information Steward as a web service provider

Method Description

Keywords Words that you can use to search for the term.

CustomAttributes Information about each custom attribute includes:

● Name (the business name)● Value

ExampleRequest XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://common.isws.sap.com/2012/01/01" xmlns:ns1="http://metapedia.isws.sap.com/2012/01/01"> <soapenv:Header> <ns:SessionHeader> <ns:SessionId>?</ns:SessionId> <!--Optional:--> <ns:SessionStatus type="?"> <!--Optional:--> <ns:Reason>?</ns:Reason> </ns:SessionStatus> </ns:SessionHeader> </soapenv:Header> <soapenv:Body> <ns1:GetTermDetailsByName plainText="false"> <TermName>?</TermName> </ns1:GetTermDetailsByName> </soapenv:Body> </soapenv:Envelope>

The following example shows the form that has two items entered, a valid SessionId value, and a TermName:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://common.isws.sap.com/2012/01/01" xmlns:ns1="http://metapedia.isws.sap.com/2012/01/01"> <soapenv:Header> <ns:SessionHeader> <ns:SessionId>AZJKXqzyymBFvJZwcCem6HE</ns:SessionId> <!--Optional:--> <ns:SessionStatus type="?"> <!--Optional:--> <ns:Reason>?</ns:Reason> </ns:SessionStatus> </ns:SessionHeader> </soapenv:Header> <soapenv:Body> <ns1:GetTermDetailsByName plainText="false"> <TermName>flower</TermName> </ns1:GetTermDetailsByName> </soapenv:Body> </soapenv:Envelope>

ExampleResponse XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body>

Integrator GuideUsing Information Steward as a web service provider P U B L I C 21

<ns1:MetapediaTermDetail xmlns:ns1="http://metapedia.isws.sap.com/2012/01/01"> <Name>flower</Name> <Description>&lt;P ALIGN="LEFT">&lt;FONT FACE="Tahoma" SIZE="11" COLOR="#000000" LETTERSPACING="0" KERNING="0">green&lt; /FONT>&lt;/P></Description> <MetapediaTermURL>http://10.162.206.101:8080/BOE/InfoStewardApp/ 1210021132/ICCExplorer/metapediaPage.do?termName=flower &amp;name=flower&amp;rdir=y</MetapediaTermURL> <Author>Administrator</Author> <LastModifiedDate>2012-10-05 12:52:56</LastModifiedDate> <RelatedTerms/> <Categories> <Category> <Name>plant</Name> <Description>something that grows</Description> </Category> </Categories> <Synonyms> <Synonym>grow</Synonym> </Synonyms> <Keywords> <Keyword>plant</Keyword> </Keywords> <CustomAttributes/> </ns1:MetapediaTermDetail> </soapenv:Body> </soapenv:Envelope>

Since the default value of plainText is false, the text is formatted.

Note that MetapediaTermDetail and MetapediaTermURL is URL-encoded. Characters such as "<" are encoded and appear as &lt; . The ampersand symbols (&) appear as &amp;.

NoteNote that formatting of the preceding code snippet for MetapediaTermURL has been shortened to fit the page better. Normally the string does not wrap in this fashion.

If the session has expired, the returned XML will appear as follows:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <soapenv:Fault> <faultcode>soapenv:Server</faultcode> <faultstring>Session is expired or session ID is not correct. (COM-101)</faultstring> <detail/> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope>

22 P U B L I CIntegrator Guide

Using Information Steward as a web service provider

3.2.3 getMultipleTermDetailsByName

Returns detailed information about all the Metapedia terms specified by the same name.

Input

Method Description

SessionId A 23-digit token that is obtained from ISCommonBinding login .

PlainText (optional) Specifies how the description text should be returned. Use true for unformatted text and false for RTF (Rich Text Format) text.

TermName Name of the term to search.

Output

Method Description

Name Technical name for the term. Terms are sorted in ascending order.

Description Text that describes this term.

MetapediaTermURL URL to the term in Information Steward.

Author Name of the author.

LastModifiedDate Date the term was last modified.

RelatedTerms Other terms that have a related meaning to this term. Information about each re­lated term includes:

● Name (the business name)● Metapedia term URL

Categories Name of each category to which the term belongs.

Synonyms Words that have the same meaning as the term.

Keywords Words that you can use to search for the term.

CustomAttributes Information about each custom attribute includes:

● Name (the business name)● Value

ExampleRequest XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://common.isws.sap.com/2012/01/01" xmlns:ns1="http://metapedia.isws.sap.com/2012/01/01"> <soapenv:Header>

Integrator GuideUsing Information Steward as a web service provider P U B L I C 23

<ns:SessionHeader> <ns:SessionId>AZuyU2HI315MrdELdcyauhU</ns:SessionId> </ns:SessionHeader> </soapenv:Header> <soapenv:Body> <ns1:GetMultipleTermDetailsByName plainText="false"> <Term>Macho</Term> </ns1:GetMultipleTermDetailsByName> </soapenv:Body></soapenv:Envelope>

ExampleResponse XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <ns1:MetapediaTermDetailSequence xmlns:ns1="http://metapedia.isws.sap.com/2012/01/01"> <Term> <Name>MACHO</Name> <Description>&lt;P ALIGN="LEFT">&lt;FONT FACE="Tahoma" SIZE="11" COLOR="#000000" LETTERSPACING="0" KERNING="0">MACHO_description&lt;/FONT>&lt;/P></Description> <MetapediaTermURL>http://localhost:8080/BOE/InfoStewardApp/1606101653/ICCExplorer/metapediaPage.do?termName=MACHO&amp;name=MACHO&amp;rdir=y</MetapediaTermURL> <Author>Administrator</Author> <LastModifiedDate>2016-08-01 16:22:23</LastModifiedDate> <RelatedTerms/> <Categories/> <Synonyms/> <Keywords/> <CustomAttributes/> </Term> </ns1:MetapediaTermDetailSequence> </soapenv:Body></soapenv:Envelope>

3.2.4 searchPolicyStatement

Returns all the policy statements that match the provided search query.

Input

Method Description

SessionId 23-digit token that is obtained from ISCommonBinding login .

recordsPerResult The maximum number of search results to return. 250 is the default value.

startIndex If there are multiple pages, the number of the page to display. The default is 0.

24 P U B L I CIntegrator Guide

Using Information Steward as a web service provider

Method Description

plainText Specifies how the description text should be returned. Use true for unformatted text and false for RTF (Rich Text Format) text.

Query Name of the policy statement to search. Asterisk (*) and question mark (?) symbols are used for wildcard and character substitution searches. For example, *flower will return wildflower and sunflower and Bra?il will return Brazil and Brasil.

Output

Method Description

Name Name of the policy statement.

ParentPolicySetName Specifies the name of the parent policy set.

Description Text that describes the policy statement.

MetapediaPolicyStatementURL URL for the policy statement in Information Steward.

LastModifiedDate Date the policy statement was last modified.

Author Name of the author.

EffectiveDate Date on which the policy statement goes into effect.

ExpiryDate Date on which the policy statement expires.

PathFromRootPolicySet Full path to the root policy set to which the policy statement belongs.

ExampleRequest XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://common.isws.sap.com/2012/01/01" xmlns:ns1="http://metapedia.isws.sap.com/2012/01/01"> <soapenv:Header> <ns:SessionHeader> <ns:SessionId>Ab_t3tczR9JFnOd_TKgGdpM</ns:SessionId> </ns:SessionHeader> </soapenv:Header> <soapenv:Body> <ns1:SearchPolicyStatement recordsPerResult="250" startIndex="0" plainText="false"> <Query>Centra*</Query> </ns1:SearchPolicyStatement> </soapenv:Body></soapenv:Envelope>

ExampleResponse XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <ns1:MetapediaPolicyStatements totalPolicyStatements="5" xmlns:ns1="http://metapedia.isws.sap.com/2012/01/01">

Integrator GuideUsing Information Steward as a web service provider P U B L I C 25

<PolicyStatement> <Name>CentralAsia</Name> <ParentPolicySetName>Global Procurement</ParentPolicySetName> <Description><![CDATA[<P ALIGN="LEFT"><FONT FACE="Tahoma" SIZE="11" COLOR="#000000" LETTERSPACING="0" KERNING="0">An operational purchase agreement with total amount assigned that exceeds 50,000 euros, must refer to a request for proposal (RFP). </FONT></P><P ALIGN="LEFT"><FONT FACE="Tahoma" SIZE="11" COLOR="#000000" LETTERSPACING="0" KERNING="0"></FONT></P><P ALIGN="LEFT"><FONT FACE="Tahoma" SIZE="11" COLOR="#000000" LETTERSPACING="0" KERNING="0">The RFP must be marked as closed, and it must have received responses from at least 3 distinct vendors. Evaluation metrics of each vendor response associated with the RFP must be available for compliance and auditing purpose. </FONT></P><P ALIGN="LEFT"><FONT FACE="Tahoma" SIZE="11" COLOR="#000000" LETTERSPACING="0" KERNING="0"></FONT></P><P ALIGN="LEFT"><FONT FACE="Tahoma" SIZE="11" COLOR="#000000" LETTERSPACING="0" KERNING="0">The sourcing activities relevant to ‘Small Spend Countries’ are not subject to these requirements.</FONT></P>]]></Description> <MetapediaPolicyStatementURL>http://localhost:8080/BOE/InfoStewardApp/1606101653/ICCExplorer/metapediaPage.do?policyStatementName=CentralAsia&amp;name=CentralAsia&amp;rdir=y</MetapediaPolicyStatementURL> <Author>Administrator</Author> <LastModifiedDate>2016-08-01 16:22:24</LastModifiedDate> <EffectiveDate>2015-11-13 00:00:01</EffectiveDate> <ExpiryDate>4999-12-31 23:59:59</ExpiryDate> <PathFromRootPolicySet>Global Procurement/CentralAsia</PathFromRootPolicySet> </PolicyStatement> <PolicyStatement> <Name>CentralAsia</Name> <ParentPolicySetName>Asia</ParentPolicySetName> <Description><![CDATA[<P ALIGN="LEFT"><FONT FACE="Tahoma" SIZE="11" COLOR="#000000" LETTERSPACING="0" KERNING="0">An operational purchase agreement with total amount assigned that exceeds 50,000 euros, must refer to a request for proposal (RFP). </FONT></P><P ALIGN="LEFT"><FONT FACE="Tahoma" SIZE="11" COLOR="#000000" LETTERSPACING="0" KERNING="0"></FONT></P><P ALIGN="LEFT"><FONT FACE="Tahoma" SIZE="11" COLOR="#000000" LETTERSPACING="0" KERNING="0">The RFP must be marked as closed, and it must have received responses from at least 3 distinct vendors. Evaluation metrics of each vendor response associated with the RFP must be available for compliance and auditing purpose. </FONT></P><P ALIGN="LEFT"><FONT FACE="Tahoma" SIZE="11" COLOR="#000000" LETTERSPACING="0" KERNING="0"></FONT></P><P ALIGN="LEFT"><FONT FACE="Tahoma" SIZE="11" COLOR="#000000" LETTERSPACING="0" KERNING="0">The sourcing activities relevant to ‘Small Spend Countries’ are not subject to these requirements.</FONT></P>]]></Description> <MetapediaPolicyStatementURL>http://localhost:8080/BOE/InfoStewardApp/1606101653/ICCExplorer/metapediaPage.do?policyStatementName=CentralAsia&amp;name=CentralAsia&amp;rdir=y</MetapediaPolicyStatementURL> <Author>Administrator</Author> <LastModifiedDate>2016-08-02 11:41:18</LastModifiedDate> <EffectiveDate>2015-11-13 00:00:01</EffectiveDate> <ExpiryDate>4999-12-31 23:59:59</ExpiryDate> <PathFromRootPolicySet>Global Procurement/Asia/CentralAsia</PathFromRootPolicySet> </PolicyStatement> </ns1:MetapediaPolicyStatements> </soapenv:Body></soapenv:Envelope>

26 P U B L I CIntegrator Guide

Using Information Steward as a web service provider

3.2.5 searchPolicySet

Returns all the policy sets that match the provided search query.

Input

Method Description

SessionId 23-digit token that is obtained from ISCommonBinding login .

recordsPerResult The maximum number of search results to return. 250 is the default value.

startIndex If there are multiple pages, the number of the page to display. The default is 0.

plainText Specifies how the description text should be returned. Use true for unformatted text and false for RTF (Rich Text Format) text.

Query Name of the policy set to search. Asterisk (*) and question mark (?) symbols are used for wildcard and character substitution searches. For example, *flower will return wild­flower and sunflower and Bra?il will return Brazil and Brasil.

Output

Method Description

Name Name of the policy set.

ParentPolicySetName Specifies the name of the parent policy set.

Description Text that describes the policy set.

MetapediaPolicySetURL URL for the policy set in Information Steward.

LastModifiedDate Date the policy set was last modified.

Author Name of the author.

EffectiveDate Date on which the policy set goes into effect.

ExpiryDate Date on which the policy set expires.

PathFromRootPolicySet Full path to the root policy set to which the policy set belongs.

ExampleRequest XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://common.isws.sap.com/2012/01/01" xmlns:ns1="http://metapedia.isws.sap.com/2012/01/01"> <soapenv:Header> <ns:SessionHeader> <ns:SessionId>Ab_t3tczR9JFnOd_TKgGdpM</ns:SessionId> </ns:SessionHeader> </soapenv:Header>

Integrator GuideUsing Information Steward as a web service provider P U B L I C 27

<soapenv:Body> <ns1:SearchPolicySet recordsPerResult="250" startIndex="0" plainText="false"> <Query>Glob*</Query> </ns1:SearchPolicySet> </soapenv:Body></soapenv:Envelope>

ExampleResponse XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <ns1:MetapediaPolicySets totalPolicySets="1" xmlns:ns1="http://metapedia.isws.sap.com/2012/01/01"> <PolicySet> <Name>Global Procurement</Name> <ParentPolicySetName/> <Description>&lt;P ALIGN="LEFT">&lt;FONT FACE="Tahoma" SIZE="11" COLOR="#000000" LETTERSPACING="0" KERNING="0">The processes and rules the organization must follow when obtaining the products or services needed to run the business.&lt;/FONT>&lt;/P></Description> <MetapediaPolicySetURL>http://localhost:8080/BOE/InfoStewardApp/1606101653/ICCExplorer/metapediaPage.do?policySetName=Global Procurement&amp;name=Global Procurement&amp;rdir=y</MetapediaPolicySetURL> <Author>Administrator</Author> <LastModifiedDate>2016-08-01 16:22:23</LastModifiedDate> <EffectiveDate>2015-11-13 00:00:01</EffectiveDate> <ExpiryDate>4999-12-31 23:59:59</ExpiryDate> <PathFromRootPolicySet>Global Procurement</PathFromRootPolicySet> </PolicySet> </ns1:MetapediaPolicySets> </soapenv:Body></soapenv:Envelope>

3.2.6 getPolicyStatementDetailsByName

Returns detailed information regarding the policy statement specified by the name in the request.

Input

Method Description

SessionId A 23-digit token that is obtained from ISCommonBinding login .

parentPolicySetName Specifies the name of the policy set to which the policy statement belongs.

PlainText (optional) Specifies how the description text should be returned. Use true for unformatted text and false for RTF (Rich Text Format) text.

policyStatementName Name of the policy statement for which you are searching.

28 P U B L I CIntegrator Guide

Using Information Steward as a web service provider

Output

Method Description

Name Technical name for the policy statement.

ParentPolicySetName Specifies the name of the policy set to which the policy statement belongs.

Description Text that describes the policy statement.

MetapediaPolicyStatementURL URL for the policy statement in Information Steward.

Author Name of the author.

EffectiveDate Date on which the policy statement goes into effect.

ExpiryDate Date on which the statement expires.

LastModifiedDate Date the policy statement was last modified.

PathFromRootPolicySet Full path to the root policy set to which the policy statement belongs.

RelatedTerms Terms that are related to the policy statement. Information about each related term includes the name (the business name) and the URL for the term.

AssociatedPolicyStatements Name of associated policy statements.

Keywords Words that you can use to search for the policy statement.

CustomAttributes Information about each custom attribute includes:

● Name (the business name)● Value

ExampleRequest XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://common.isws.sap.com/2012/01/01" xmlns:ns1="http://metapedia.isws.sap.com/2012/01/01"> <soapenv:Header> <ns:SessionHeader> <ns:SessionId>Ab_t3tczR9JFnOd_TKgGdpM</ns:SessionId> <!--Optional:--> <ns:SessionStatus type="?"> <!--Optional:--> <ns:Reason>?</ns:Reason> </ns:SessionStatus> </ns:SessionHeader> </soapenv:Header> <soapenv:Body> <ns1:GetPolicyStatementDetailsByName parentPolicySetName="Africa" plainText="false"> <PolicyStatementName>Payment Run</PolicyStatementName> </ns1:GetPolicyStatementDetailsByName> </soapenv:Body></soapenv:Envelope>

ExampleResponse XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">

Integrator GuideUsing Information Steward as a web service provider P U B L I C 29

<soapenv:Body> <ns1:MetapediaPolicyStatementDetailSequence xmlns:ns1="http://metapedia.isws.sap.com/2012/01/01"> <PolicyStatement> <Name>Payment Run</Name> <ParentPolicySetName>Africa</ParentPolicySetName> <Description><![CDATA[<P ALIGN="LEFT"><FONT FACE="Tahoma" SIZE="11" COLOR="#000000" LETTERSPACING="0" KERNING="0">Payment is executed based on payment type and agreed payment timetable for that payment type according to company code. </FONT></P><P ALIGN="LEFT"><FONT FACE="Tahoma" SIZE="11" COLOR="#000000" LETTERSPACING="0" KERNING="0"></FONT></P><P ALIGN="LEFT"><FONT FACE="Tahoma" SIZE="11" COLOR="#000000" LETTERSPACING="0" KERNING="0">The payment is marked as pending when vendor is blocked. All pending payments are executed within 30 days from the day of vendor block removal.</FONT></P><P ALIGN="LEFT"><FONT FACE="Tahoma" SIZE="11" COLOR="#000000" LETTERSPACING="0" KERNING="0"></FONT></P><P ALIGN="LEFT"><FONT FACE="Tahoma" SIZE="11" COLOR="#000000" LETTERSPACING="0" KERNING="0">Each instance of vendor block and vendor block removal must have appropriate reasons and justifications documented for compliance and auditing purpose.</FONT></P>]]></Description> <MetapediaPolicyStatementURL>http://localhost:8080/BOE/InfoStewardApp/1606101653/ICCExplorer/metapediaPage.do?policyStatementName=Payment Run&amp;name=Payment Run&amp;rdir=y</MetapediaPolicyStatementURL> <Author>Administrator</Author> <LastModifiedDate>2016-08-02 11:30:07</LastModifiedDate> <EffectiveDate>2015-11-13 00:00:01</EffectiveDate> <ExpiryDate>2016-08-02 11:30:07</ExpiryDate> <PathFromRootPolicySet>Global Procurement/Africa/Payment Run</PathFromRootPolicySet> <RelatedTerms/> <AssociatedPolicyStatements/> <Keywords/> <CustomAttributes/> </PolicyStatement> </ns1:MetapediaPolicyStatementDetailSequence> </soapenv:Body></soapenv:Envelope>

3.2.7 GetPolicySetDetailsByName

Returns detailed information about a specific policy set (exact name required).

Input

Method Description

SessionId A 23-digit token that is obtained from ISCommonBinding login .

PlainText (optional) Specifies whether the description text should be returned in the plain text (true) or in the rich text format (false).

policySetName Name of the policy set for which you are searching.

30 P U B L I CIntegrator Guide

Using Information Steward as a web service provider

Output

Method Description

Name Name of the policy set.

ParentPolicySetName Specifies the name of the parent policy set (if applicable).

Description Text that describes the policy set.

MetapediaPolicySetURL URL for the policy set in Information Steward.

Author Name of the author.

EffectiveDate Date on which the policy set goes into effect.

ExpiryDate Date on which the policy set expires.

PathFromRootPolicySet Full path to the root policy set to which the policy set belongs (if applicable).

Keywords Words that you can use to search for the policy set.

CustomAttributes Information about each custom attribute, including the name (the business name) and the value.

ExampleRequest XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://common.isws.sap.com/2012/01/01" xmlns:ns1="http://metapedia.isws.sap.com/2012/01/01"> <soapenv:Header> <ns:SessionHeader> <ns:SessionId>Ab_t3tczR9JFnOd_TKgGdpM</ns:SessionId> </ns:SessionHeader> </soapenv:Header> <soapenv:Body> <ns1:GetPolicySetDetailsByName plainText="false"> <PolicySetName>Asia</PolicySetName> </ns1:GetPolicySetDetailsByName> </soapenv:Body></soapenv:Envelope>

ExampleResponse XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <ns1:MetapediaPolicySetDetailSequence xmlns:ns1="http://metapedia.isws.sap.com/2012/01/01"> <PolicySet> <Name>Asia</Name> <ParentPolicySetName>Global Procurement</ParentPolicySetName> <Description>&lt;P ALIGN="LEFT">&lt;FONT FACE="Tahoma" SIZE="11" COLOR="#000000" LETTERSPACING="0" KERNING="0">Policies that apply to all regions within the Asian continent.&lt;/FONT>&lt;/P></Description> <MetapediaPolicySetURL>http://localhost:8080/BOE/InfoStewardApp/1606101653/ICCExplorer/metapediaPage.do?policySetName=Asia&amp;name=Asia&amp;rdir=y</MetapediaPolicySetURL> <Author>Administrator</Author> <LastModifiedDate>2016-08-01 16:22:23</LastModifiedDate>

Integrator GuideUsing Information Steward as a web service provider P U B L I C 31

<EffectiveDate>2016-05-18 00:00:01</EffectiveDate> <ExpiryDate>4999-12-31 23:59:59</ExpiryDate> <PathFromRootPolicySet>Global Procurement/Asia</PathFromRootPolicySet> <Keywords/> <CustomAttributes/> </PolicySet> <PolicySet> <Name>Asia</Name> <ParentPolicySetName>North America</ParentPolicySetName> <Description>&lt;P ALIGN="LEFT">&lt;FONT FACE="Tahoma" SIZE="11" COLOR="#000000" LETTERSPACING="0" KERNING="0">Temporary Policy Set&lt;/FONT>&lt;/P></Description> <MetapediaPolicySetURL>http://localhost:8080/BOE/InfoStewardApp/1606101653/ICCExplorer/metapediaPage.do?policySetName=Asia&amp;name=Asia&amp;rdir=y</MetapediaPolicySetURL> <Author>Administrator</Author> <LastModifiedDate>2016-08-01 16:22:23</LastModifiedDate> <EffectiveDate>2016-07-29 00:00:01</EffectiveDate> <ExpiryDate>2016-08-31 23:59:59</ExpiryDate> <PathFromRootPolicySet>Global Procurement/North America/Asia</PathFromRootPolicySet> <Keywords/> <CustomAttributes/> </PolicySet> </ns1:MetapediaPolicySetDetailSequence> </soapenv:Body></soapenv:Envelope>

3.2.8 getPolicyStatementComplianceScore

Returns the policy statement compliance score, based on the name of the policy statement.

Input

Method Description

SessionId A 23-digit token that is obtained from ISCommonBinding login .

parentPolicySetName (optional) Specifies the name of the parent policy set.

PlainText Specifies how the description text should be returned. Use true for unformatted text and false for RTF (Rich Text Format) text.

PolicyStatementName Name of the policy statement for which you want to see the compliance score.

32 P U B L I CIntegrator Guide

Using Information Steward as a web service provider

Output

Method Description

PolicyStatementName Name of the policy statement.

ComplianceScore The overall compliance score for the policy statement.

Note“Expired” appears if a policy statement is in the Expired state.

“No Score” appears if:

● the policy statement doesn't have any rules associated with it.● none of the rules associated with a policy statement have bindings.

If some of the rules have bindings, a score will appear, but the rules that have no bindings are left out of the score calculation.

● none of the rules associated with a statement have been run.If some of the rules have been run, a score will appear, but the rules that have not been run are left out of the score calculation.

For more information about compliance scores, see the User Guide.

ParentPolicySetName Specifies the name of the policy set to which the policy statement belongs.

PathFromRootPolicySet Full path to the root policy set.

ExampleRequest XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://common.isws.sap.com/2012/01/01" xmlns:ns1="http://metapedia.isws.sap.com/2012/01/01"> <soapenv:Header> <ns:SessionHeader> <ns:SessionId>Ab_t3tczR9JFnOd_TKgGdpM</ns:SessionId> </ns:SessionHeader> </soapenv:Header> <soapenv:Body> <ns1:GetPolicyStatementComplianceScore parentPolicySetName="" plainText="false"> <PolicyStatementName>CentralAsia</PolicyStatementName> </ns1:GetPolicyStatementComplianceScore> </soapenv:Body></soapenv:Envelope>

ExampleResponse XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <ns1:MetapediaPolicyStatementComplianceScoreSequence xmlns:ns1="http://metapedia.isws.sap.com/2012/01/01"> <PolicyStatementComplianceScoreObject> <PolicyStatementName>CentralAsia</PolicyStatementName> <ComplianceScore>7.81</ComplianceScore>

Integrator GuideUsing Information Steward as a web service provider P U B L I C 33

<ParentPolicySetName>South America</ParentPolicySetName> <PathFromRootPolicySet>Global Procurement/CentralAsia</PathFromRootPolicySet> </PolicyStatementComplianceScoreObject> <PolicyStatementComplianceScoreObject> <PolicyStatementName>CentralAsia</PolicyStatementName> <ComplianceScore>10.0</ComplianceScore> <ParentPolicySetName>South America</ParentPolicySetName> <PathFromRootPolicySet>Global Procurement/Africa/CentralAsia</PathFromRootPolicySet> </PolicyStatementComplianceScoreObject> <PolicyStatementComplianceScoreObject> <PolicyStatementName>CentralAsia</PolicyStatementName> <ComplianceScore>No Score</ComplianceScore> <ParentPolicySetName>South America</ParentPolicySetName> <PathFromRootPolicySet>Global Procurement/Asia/CentralAsia</PathFromRootPolicySet> </PolicyStatementComplianceScoreObject> <PolicyStatementComplianceScoreObject> <PolicyStatementName>CentralAsia</PolicyStatementName> <ComplianceScore>Expired</ComplianceScore> <ParentPolicySetName>South America</ParentPolicySetName> <PathFromRootPolicySet>Global Procurement/North America/CentralAsia</PathFromRootPolicySet> </PolicyStatementComplianceScoreObject> <PolicyStatementComplianceScoreObject> <PolicyStatementName>CentralAsia</PolicyStatementName> <ComplianceScore>No Score</ComplianceScore> <ParentPolicySetName>South America</ParentPolicySetName> <PathFromRootPolicySet>Global Procurement/South America/CentralAsia</PathFromRootPolicySet> </PolicyStatementComplianceScoreObject> </ns1:MetapediaPolicyStatementComplianceScoreSequence> </soapenv:Body></soapenv:Envelope>

3.2.9 getPolicySetComplianceScore

Returns the policy set compliance score, based on the name of the policy set.

Input

Method Description

SessionId A 23-digit token that is obtained from ISCommonBinding login .

parentPolicySetName Specifies the name of the parent policy set (if applicable).

PlainText (optional) Specifies how the description text should be returned. Use true for unformatted text and false for RTF (Rich Text Format) text.

policySetName Name of the policy set for which you want to see the compliance score.

34 P U B L I CIntegrator Guide

Using Information Steward as a web service provider

Output

Method Description

PolicySetName Name of the policy set.

ComplianceScore The overall compliance score for the policy set.

Note“Expired” appears if a policy set is in the Expired state.

For more information about compliance scores, see the User Guide.

ParentPolicySetName Specifies the name of the parent policy set.

PathFromRootPolicySet Full path to the root policy set.

ExampleRequest XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://common.isws.sap.com/2012/01/01" xmlns:ns1="http://metapedia.isws.sap.com/2012/01/01"> <soapenv:Header> <ns:SessionHeader> <ns:SessionId>Ab_t3tczR9JFnOd_TKgGdpM</ns:SessionId> </ns:SessionHeader> </soapenv:Header> <soapenv:Body> <ns1:GetPolicySetComplianceScore parentPolicySetName="" plainText="false"> <PolicySetName>Global Procurement</PolicySetName> </ns1:GetPolicySetComplianceScore> </soapenv:Body></soapenv:Envelope>

ExampleResponse XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <ns1:MetapediaPolicySetComplianceScoreSequence xmlns:ns1="http://metapedia.isws.sap.com/2012/01/01"> <PolicySetComplianceScoreObject> <PolicySetName>Global Procurement</PolicySetName> <ComplianceScore>7.40</ComplianceScore> <ParentPolicySetName/> <PathFromRootPolicySet>Global Procurement</PathFromRootPolicySet> </PolicySetComplianceScoreObject> </ns1:MetapediaPolicySetComplianceScoreSequence> </soapenv:Body></soapenv:Envelope>

Integrator GuideUsing Information Steward as a web service provider P U B L I C 35

3.2.10 getPolicyStatementsInPolicySet

Returns all the policy statements found in a particular policy set, based on the name of the parent policy set.

Input

Method Description

SessionId A 23-digit token that is obtained from ISCommonBinding login .

PlainText (optional) Specifies how the description text should be returned. Use true for unformatted text and false for RTF (Rich Text Format) text.

policySetName Specifies the name of the policy set to which the policy statements belong.

ParentPolicySetName Specifies the name of the parent policy set.

Output

Method Description

Name Technical name for the policy statement.

ParentPolicySetName Specifies the name of the policy set to which the policy statement belongs.

Description Text that describes the policy statement.

MetapediaPolicyStatementURL URL for the policy statement in Information Steward.

Author Name of the author.

LastModifiedDate Date the policy statement was last modified.

EffectiveDate Date on which the policy statement goes into effect.

ExpiryDate Date on which the statement expires.

PathFromRootPolicySet Full path to the root policy set to which the policy statement belongs.

RelatedTerms Terms that are related to the policy statement. Information about each related term includes the name (the business name) and the URL for the term.

AssociatedPolicyStatements Name of associated policy statements.

Keywords Words that you can use to search for the policy statement.

CustomAttributes Information about each custom attribute includes the name (the business name) and the value.

ExampleRequest XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://common.isws.sap.com/2012/01/01" xmlns:ns1="http://metapedia.isws.sap.com/2012/01/01">

36 P U B L I CIntegrator Guide

Using Information Steward as a web service provider

<soapenv:Header> <ns:SessionHeader> <ns:SessionId>Ab_t3tczR9JFnOd_TKgGdpM</ns:SessionId> </ns:SessionHeader> </soapenv:Header> <soapenv:Body> <ns1:GetPolicyStatementsInPolicySet plainText="true"> <ParentPolicySetName>Africa</ParentPolicySetName> </ns1:GetPolicyStatementsInPolicySet> </soapenv:Body></soapenv:Envelope>

ExampleResponse XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <ns1:MetapediaPolicyStatementDetailSequence xmlns:ns1="http://metapedia.isws.sap.com/2012/01/01"> <PolicyStatement> <Name>Payment Run</Name> <ParentPolicySetName>Africa</ParentPolicySetName> <Description>Payment is executed based on payment type and agreed payment timetable for that payment type according to company code.</Description> <MetapediaPolicyStatementURL>http://localhost:8080/BOE/InfoStewardApp/1606101653/ICCExplorer/metapediaPage.do?policyStatementName=Payment Run&amp;name=Payment Run&amp;rdir=y</MetapediaPolicyStatementURL> <Author>Administrator</Author> <LastModifiedDate>2016-08-02 11:30:07</LastModifiedDate> <EffectiveDate>2015-11-13 00:00:01</EffectiveDate> <ExpiryDate>2016-08-02 11:30:07</ExpiryDate> <PathFromRootPolicySet>Global Procurement/Africa/Payment Run</PathFromRootPolicySet> <RelatedTerms/> <AssociatedPolicyStatements/> <Keywords/> <CustomAttributes/> </PolicyStatement> <PolicyStatement> <Name>Invoice Processing</Name> <ParentPolicySetName>Africa</ParentPolicySetName> <Description>Invoices are documented and time-stamped when received. Accounts Payable (AP) team must process an invoice within 15 days from the date of submission.</Description> <MetapediaPolicyStatementURL>http://localhost:8080/BOE/InfoStewardApp/1606101653/ICCExplorer/metapediaPage.do?policyStatementName=Invoice Processing&amp;name=Invoice Processing&amp;rdir=y</MetapediaPolicyStatementURL> <Author>Administrator</Author> <LastModifiedDate>2016-08-01 16:22:24</LastModifiedDate> <EffectiveDate>2015-11-13 00:00:01</EffectiveDate> <ExpiryDate>4999-12-31 23:59:59</ExpiryDate> <PathFromRootPolicySet>Global Procurement/Africa/Invoice Processing</PathFromRootPolicySet> <RelatedTerms/> <AssociatedPolicyStatements/> <Keywords/> <CustomAttributes/> </PolicyStatement> <PolicyStatement> <Name>Payment Proposal</Name> <ParentPolicySetName>Africa</ParentPolicySetName>

Integrator GuideUsing Information Steward as a web service provider P U B L I C 37

<Description>The total accumulated invoiced amount must be less than or equal to the amount covered by original purchase order or the extended purchase order whenever the order has been extended.</Description> <MetapediaPolicyStatementURL>http://localhost:8080/BOE/InfoStewardApp/1606101653/ICCExplorer/metapediaPage.do?policyStatementName=Payment Proposal&amp;name=Payment Proposal&amp;rdir=y</MetapediaPolicyStatementURL> <Author>Administrator</Author> <LastModifiedDate>2016-08-02 11:36:40</LastModifiedDate> <EffectiveDate>2015-11-13 00:00:01</EffectiveDate> <ExpiryDate>4999-12-31 23:59:59</ExpiryDate> <PathFromRootPolicySet>Global Procurement/Africa/Payment Proposal</PathFromRootPolicySet> <RelatedTerms/> <AssociatedPolicyStatements/> <Keywords/> <CustomAttributes/> </PolicyStatement> </ns1:MetapediaPolicyStatementDetailSequence> </soapenv:Body></soapenv:Envelope>

3.3 Configuring the Web Services security policy

The Web Services Policy Framework (WS-Policy) has been designed to meet SAP security standards as shipped. Customers can modify the configuration files to apply their own policy.

The WS-Policy current meets the following standards:

● HTTPS● STS (Security Token Service)● X509 certificate● Symmetric encryption● Asymmetric encryption (using private and public keys)

Setting up the Web Services security policy involves configuration of the following files:

● axis2.xml● https_policy.xml ● policy.properties

Configuration files are located outside the WAR/JAR file locations. After changing any configuration file settings, restart the application server and Tomcat.

Related Information

axis2.xml [page 64]https_policy.xml [page 63]policy.properties [page 61]

38 P U B L I CIntegrator Guide

Using Information Steward as a web service provider

3.3.1 Enabling and disabling the default security policy

The security policy is enabled by default, by means of the true setting of the policy.enabled flag found in the policy.properties configuration file.

To further secure web services, it is necessary to set up the client and server keystores and generate certificates and import them as described in the following instructions.

Disabling the default security policy

By disabling the web service security, the web service client can communicate to web services via HTTP as opposed to HTTPS. Turning off security makes it easier to develop and test web services.

This setting is a true or false boolean flag setting that enables or disables the security policy found in the policy.properties configuration file using the policy.enabled property.

To disable the default security policy:

1. Locate the policy.properties configuration file.

<SAP BusinessObjects install path>\Tomcat6\webapps\BOE\WEB-INF\config\default\policy.properties

2. Change the property policy.enabled value to false.

policy.enabled=false

3. Save the modified file.4. Restart Tomcat.

3.3.2 Security checklist: Enabling and using SSL

Use the following checklist when you are at the stage where you want to activate and test secure services:

● The policy.enabled flag has been set to true in the policy.properties configuration file.● SSL has been enabled on Tomcat.● The java keytool application has been used to create the client and server keystores.● The paths pointing to the client and server keystores have been updated from the policy.properties

configuration file.○ The default location of the default_client.keystore is located at:

<SAP BusinessObjects install path>\InformationSteward\MM\config\default_client.keystore

● Access to the HTTPS port has been verified.○ Check that the CMC is accessible using HTTPS using the default port 8443:

<boe_server_installed.url>:<8443>/BOE/CMC

Integrator GuideUsing Information Steward as a web service provider P U B L I C 39

○ Check that the Information Steward is accessible using HTTPS using the default port 8443:

<boe_server_installed.url>:<8443>/BOE/InfoSteward

● The web service you are using has the location of the default_client.keystore and password● The secure paths to the WSDL are established, for example:

https://uspalw201:8443/BOE/InfoStewardApp/1210151455/ICCExplorer/services/ISCommon?wsdl https://uspalw201:8443/BOE/InfoStewardApp/1210151455/ICCExplorer/services/MetapediaService?wsdl

● The request header includes the password request, for example:

Set WSS-Password Type: Select the drop down and select “PasswordText” WSS TimeToLive: 2000

Related Information

policy.properties [page 61]

3.3.3 Using keytool to generate keystores

The following instruction illustrates how to use the Java application called keytool to generate server.keystore and client.keystore (using an example password of nosecret), and export and then import certificate files, servercert.cer and clientcert.cer, so that both client and server have copies.

The client.keystore default location for the preceeding server.keystore is in the <SAP BOE path>\InformationSteward\MM\config directory, for example:

C:\Program Files (x86)\SAP BusinessObjects\InformationSteward\MM\config\default_client.keystore

Configure the security policy for using the serverkey.alias property named server as follows:

1. In the policy.property configuration file, ensure the value of policy.enabled is set to true to turn on security features.

2. Locate the java application keytool.exe. Note that if a java_home environment variable exists, this will point to your preferred Java installation. In a typical SAP Business Objects installation, the java installation may be located at:

C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\win32_x86\jdk\bin\keytool.exe

3. Use the java keystore command to generate keystore for server and client, and export and import client and server certificates as follows:

# Generate keystore for server and client using password 'nosecret'

40 P U B L I CIntegrator Guide

Using Information Steward as a web service provider

keytool -genkey -alias server -keypass nosecret -keyalg RSA -sigalg SHA1withRSA -keystore server.keystore -storepass nosecret -validity 3650 keytool -genkey -alias client -keypass nosecret -keyalg RSA -sigalg SHA1withRSA -keystore client.keystore -storepass nosecret -validity 3650# Server certificate, export from server.keystore, import to client.keystore keytool -export -alias server -keystore server.keystore -storepass nosecret -file servercert.cer keytool -import -alias server -keystore client.keystore -storepass nosecret -file servercert.cer# Client certificate, export from client.keystore, import to server.keystore keytool -export -alias client -keystore client.keystore -storepass nosecret -file clientcert.cer keytool -import -alias client -keystore server.keystore -storepass nosecret -file clientcert.cer

4. Optionally, you can uncomment the #stskey properties, and generate an sts.keystore and sts.cer certificate. The following code snippet is an example that shows how to create the STS keystore, how to import the server and client certificates (that were created in the previous step), and export the sts.cer certificate, then import that into the client.keystore:

# Generate keystore for sts.keystore using password 'nosecret' keytool -genkey -alias stskey -keypass stspass -keyalg RSA -sigalg SHA1withRSA -keystore sts.keystore -storepass nosecret -validity 3650# Import into sts.keystore the previously generated server and client certificates keytool -import -alias serverkey -keystore sts.keystore -storepass nosecret -file servercert.cer keytool -import -alias clientkey -keystore sts.keystore -storepass nosecret -file clientcert.cer# Export sts certificate and import that into the client.keystore keytool -export -alias stskey -keystore sts.keystore -storepass nosecret -file sts.cer keytool -import -alias stskey -keystore client.keystore -storepass nosecret -file sts.cer

NoteThe default_client.keystore is located in a default SAP BEO installation at <SAP BOE path>\InformationSteward\MM\config\>.

5. Update the policy document.

NoteSample policy documents can be found at http://axis.apache.org/axis2/java/rampart/samples.html

. For more information regarding policy definitions, see http://specs.xmlsoap.org/ws/2005/07/securitypolicy/ws-securitypolicy.pdf .

6. Update clientkey.alias and clientkey.password , serverkey.alias and serverkey.password and update the keystore.password. Note that the keystore.type should always be JKS. If applicable, uncomment and update the stskey.alias and stskey.password according to the keys that were generated.

7. If there are any changes to the <transportReceiver> http or https port number, update axis2.xml. The following fragment is the relevant section:

<!-- This is where you'd put custom transports. See the transports project --> <!-- for more. http://ws.apache.org/commons/transport --><!-- ================================================= --><!-- Transport Outs -->

Integrator GuideUsing Information Steward as a web service provider P U B L I C 41

<!-- ================================================= --><transportSender name="local" class="org.apache.axis2.transport.local.LocalTransportSender"/><transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender"> <parameter name="PROTOCOL">HTTP/1.1</parameter> <parameter name="Transfer-Encoding">chunked</parameter> <!-- If following is set to 'true', optional action part of the Content-Type will not be added to the SOAP 1.2 messages --> <!-- <parameter name="OmitSOAP12Action">true</parameter> --></transportSender><transportSender name="https" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender"> <parameter name="PROTOCOL">HTTP/1.1</parameter> <parameter name="Transfer-Encoding">chunked</parameter> <!-- If following is set to 'true', optional action part of the Content-Type will not be added to the SOAP 1.2 messages --> <!-- <parameter name="OmitSOAP12Action">true</parameter> --></transportSender><transportReceiver name="http" class="org.apache.axis2.transport.http.AxisServletListener"> <parameter name="port">8080</parameter></transportReceiver><transportReceiver name="https" class="org.apache.axis2.transport.http.AxisServletListener"> <parameter name="port">8443</parameter> </transportReceiver>

8. Restart Tomcat using the SAP BI platform CMC (Central Configuration Manager).

3.3.4 Creating a custom security policy

Administrators that want to modify the default policy as is delivered in the https_policy.xml file would create their own policy and save the updated file in the \config\custom directory, and change the path parameter policy.file.path found in the policy.properties configuration file.

The default path as shown in this example shows that https_policy.xml is in the same directory as the policy.properties configuration file.

. .## keystore.file.path=default_server.keystore policy.file.path=https_policy.xml

Related Information

https_policy.xml [page 63]policy.properties [page 61]

42 P U B L I CIntegrator Guide

Using Information Steward as a web service provider

4 Web Services log

If an error occurs when using the Information Steward Web Services, change the log level to show more details.

1. Log in to the Central Management Console (CMC) as administrator.2. At the top of the CMC Home screen, select Applications from the navigation list.3. Select Information Steward Application in the Applications Name list.

4. Click Action Configure Web Services in the top menu tool bar.5. From the Log Level drop-down list, select one of the following values:

Log level Description

Debug Log debugging, informational, warning, and error messages. To avoid security risks associated with clear text passwords and logins stored in this logfile, use a lower log level setting.

Information Log informational, warning, and error messages

Warning Log messages that indicate a potential problem

Error Log messages that indicate a serious failure

6. Run your Information Steward Web Services client and view the Web Services log in the Information Steward log file, which is located in this directory:

<SAP install path>\SAP BusinessObjects Enterprise XI 4.x\logging

Integrator GuideWeb Services log P U B L I C 43

5 Sample files

5.1 is-common.wsdl

The contents of the file is-common.wsdl appears as follows:

<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:IS="http://common.isws.sap.com/2012/01/01" targetNamespace="http://common.isws.sap.com/2012/01/01"> <wsdl:types> <xsd:schema elementFormDefault="qualified" attributeFormDefault="unqualified"> <xsd:import namespace="http://common.isws.sap.com/2012/01/01" schemaLocation="is-common.xsd"/> </xsd:schema> </wsdl:types> <wsdl:message name="login"> <wsdl:part name="parameter" element="IS:login"/> </wsdl:message> <wsdl:message name="loginHeader"> <wsdl:part name="request_header" element="IS:LoginInformation"/> </wsdl:message> <wsdl:message name="loginResponse"> <wsdl:part name="parameter" element="IS:LoginResponse"/> </wsdl:message> <wsdl:message name="logout"> <wsdl:part name="parameter" element="IS:logout"/> </wsdl:message> <wsdl:message name="logoutResponse"> <wsdl:part name="parameter" element="IS:LogoutResponse"/> </wsdl:message> <wsdl:message name="sessionHeader"> <wsdl:part name="sessionHeader" element="IS:SessionHeader"/> </wsdl:message> <wsdl:message name="ping"> <wsdl:part name="parameter" element="IS:ping"/> </wsdl:message> <wsdl:message name="pingResponse"> <wsdl:part name="parameter" element="IS:PingResponse"/> </wsdl:message> <wsdl:message name="ISWSCommonException"> <wsdl:part name="parameter" element="IS:ISWSException"/> </wsdl:message> <wsdl:portType name="ISCommonPort"> <wsdl:operation name="login"> <wsdl:documentation> It is a way of IS web service authentication, which is supported by BOE authentication. It returns a valid session ID when user name, password, domain and authentication type parameters are passed authentication. Otherwise it returns a fault message </wsdl:documentation>

44 P U B L I CIntegrator Guide

Sample files

<wsdl:input message="IS:login"/> <wsdl:output message="IS:loginResponse"/> <wsdl:fault name="ISWSException" message="IS:ISWSCommonException"/> </wsdl:operation> <wsdl:operation name="logout"> <wsdl:documentation> This operation provides IS web service logout in order to release BOE enterprise session object. It returns a status of SUCCESS if logout sessionID parameter is valid. Otherwise it returns a status of FAILED. </wsdl:documentation> <wsdl:input message="IS:logout"/> <wsdl:output message="IS:logoutResponse"/> <wsdl:fault name="ISWSException" message="IS:ISWSCommonException"/> </wsdl:operation> <wsdl:operation name="ping"> <wsdl:documentation> This operation returns the current timestamp of the server. It returns exception if the webservice is not running. </wsdl:documentation> <wsdl:input message="IS:ping"/> <wsdl:output message="IS:pingResponse"/> <wsdl:fault name="ISWSException" message="IS:ISWSCommonException"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="ISCommonBinding" type="IS:ISCommonPort"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="login"> <!-- <wsp:PolicyReference xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" URI="is-security-policy.xml#EntryptPassword"/>--> <soap:operation soapAction="http://common.isws.sap.com/2012/01/01/login" style="document"/> <wsdl:input> <soap:header use="literal" part="request_header" message="IS:loginHeader"/> <soap:body use="literal" parts="parameter"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="ISWSException"> <soap:fault name="ISWSException" use="literal"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="logout"> <soap:operation soapAction="http://common.isws.sap.com/2012/01/01/logout" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="ISWSException"> <soap:fault name="ISWSException" use="literal"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="ping"> <soap:operation soapAction="http://common.isws.sap.com/2012/01/01/ping" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output>

Integrator GuideSample files P U B L I C 45

<wsdl:fault name="ISWSException"> <soap:fault name="ISWSException" use="literal"/> </wsdl:fault> </wsdl:operation> </wsdl:binding> <wsdl:service name="ISCommon"> <wsdl:port name="ISCommon" binding="IS:ISCommonBinding"> <soap:address location="http://papgc3b4:8085/BOE/InfoStewardApp/1107141550/ICCExplorer/services/ISCommon"/> </wsdl:port> </wsdl:service> </wsdl:definitions>

5.2 is-common.xsd

The contents of the file is-common.xsd appears as follows:

<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://common.isws.sap.com/2012/01/01" xmlns:c="http://common.isws.sap.com/2012/01/01" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xsd:element name="login"> <xsd:complexType> <xsd:sequence> <xsd:element name="LoginInformation" type="c:LoginInformation" minOccurs="0"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:complexType name="LoginDetails"> <xsd:sequence> <xsd:element name="UserName" type="xsd:string" minOccurs="0"/> <xsd:element name="Password" type="xsd:string" minOccurs="0"/> <xsd:element name="Domain" type="xsd:string" /> <xsd:element name="AuthType"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:enumeration value="secEnterprise" /> <xsd:enumeration value="secLDAP" /> <xsd:enumeration value="secOraApps" /> <xsd:enumeration value="secpsenterprise" /> <xsd:enumeration value="secPSE1" /> <xsd:enumeration value="secSAPR3" /> <xsd:enumeration value="secSiebel7" /> <xsd:enumeration value="secWinAD" /> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="Locale" type="xsd:string" minOccurs="0" /> <xsd:element name="Additional" minOccurs="0"> <xsd:complexType> <xsd:choice> <xsd:element name="SAP"> <xsd:complexType> <xsd:attribute name="sapClient" use="required" type="xsd:string" /> <xsd:attribute name="sapSystem" use="required" type="xsd:string" /> </xsd:complexType>

46 P U B L I CIntegrator Guide

Sample files

</xsd:element> </xsd:choice> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ISWSException"> <xsd:sequence> <xsd:element name="ID" type="xsd:string" minOccurs="0" /> <xsd:element name="Message" type="xsd:string" /> <xsd:element name="Operation" type="xsd:string" minOccurs="0" /> <xsd:element name="CallStackTrace" type="xsd:string" nillable="true" minOccurs="0" /> <xsd:element name="CauseException" type="xsd:string" nillable="true" minOccurs="0" /> <xsd:element name="CauseID" type="xsd:string" nillable="true" minOccurs="0" /> <xsd:element name="CauseMessage" type="xsd:string" nillable="true" minOccurs="0" /> <xsd:element name="CauseDetail" type="xsd:string" nillable="true" minOccurs="0" /> </xsd:sequence> </xsd:complexType> <xsd:element name="ISWSException" type="c:ISWSException" /> <xsd:complexType name="ISSession"> <xsd:sequence> <xsd:element name="SessionId" type="xsd:string" /> <xsd:element name="SessionStatus" type="c:Status" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="Status"> <xsd:sequence> <xsd:element name="Reason" type="xsd:string" minOccurs="0" maxOccurs="1"/> </xsd:sequence> <xsd:attribute name="type" use="required"> <xsd:simpleType> <xsd:restriction base="xsd:string"> <xsd:enumeration value="SUCCESS" /> <xsd:enumeration value="FAILED" /> </xsd:restriction> </xsd:simpleType> </xsd:attribute> </xsd:complexType> <xsd:complexType name="LoginResponse"> <xsd:sequence> <xsd:element name="SessionHeader" type="c:ISSession"/> </xsd:sequence> </xsd:complexType> <xsd:element name="SessionHeader" type="c:ISSession"/> <xsd:element name="LoginInformation" type="c:LoginInformation"/> <xsd:complexType name="LoginInformation"> <xsd:choice> <xsd:element name="LoginDetails" type="c:LoginDetails"/> <xsd:element name="LoginToken" type="xsd:string"/> <xsd:element name="SerializedSession" type="xsd:string"/> </xsd:choice> </xsd:complexType> <xsd:element name="LoginResponse" type="c:LoginResponse" /> <xsd:element name="logout"> <xsd:complexType> <xsd:sequence> <xsd:element name="SessionId" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element>

Integrator GuideSample files P U B L I C 47

<xsd:element name="LogoutResponse" type="c:Status"/> <xsd:element name="ping" type="xsd:string" /> <xsd:element name="PingResponse" type="c:PingResponse" /> <xsd:complexType name="PingResponse"> <xsd:sequence> <xsd:element name="timestamp" type="xsd:long"/> </xsd:sequence> </xsd:complexType> </xsd:schema>

5.3 Metapedia_WebServices.wsdl

The contents of the file metapedia_webservices.wsdl appears as follows:

<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ISC="http://common.isws.sap.com/2012/01/01" xmlns:ISM="http://metapedia.isws.sap.com/2012/01/01" xmlns:ISMWS="http://metapediaws.isws.sap.com/2012/01/01" targetNamespace="http://metapediaws.isws.sap.com/2012/01/01"> <wsdl:types> <xs:schema targetNamespace="http://metapediaws.isws.sap.com" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xsd:import namespace="http://common.isws.sap.com/2012/01/01" schemaLocation="../../../ISWSCommon/resources/META-INF/is-common.xsd"/> <xsd:import namespace="http://metapedia.isws.sap.com/2012/01/01" schemaLocation="metapedia-service.xsd"/> </xs:schema> </wsdl:types> <wsdl:message name="search"> <wsdl:part name="parameter" element="ISM:Search"/> </wsdl:message> <wsdl:message name="searchResponse"> <wsdl:part name="parameter" element="ISM:MetapediaTerms"/> </wsdl:message> <wsdl:message name="getTermDetailsByName"> <wsdl:part name="parameter" element="ISM:GetTermDetailsByName"/> </wsdl:message> <wsdl:message name="getMultipleTermDetailsByName"> <wsdl:part name="parameter" element="ISM:GetMultipleTermDetailsByName"/> </wsdl:message> <wsdl:message name="getTermDetailsResponse"> <wsdl:part name="parameter" element="ISM:MetapediaTermDetail"/> </wsdl:message> <wsdl:message name="getMultipleTermDetailsResponse"> <wsdl:part name="parameter" element="ISM:MetapediaTermDetailSequence"/> </wsdl:message> <wsdl:message name="getPolicySetDetailsByName"> <wsdl:part name="parameter" element="ISM:GetPolicySetDetailsByName"/> </wsdl:message> <wsdl:message name="getPolicySetDetailsByNameResponse"> <wsdl:part name="parameter" element="ISM:MetapediaPolicySetDetailSequence"/> </wsdl:message> <wsdl:message name="getPolicyStatementDetailsByName"> <wsdl:part name="parameter" element="ISM:GetPolicyStatementDetailsByName"/>

48 P U B L I CIntegrator Guide

Sample files

</wsdl:message> <wsdl:message name="getPolicyStatementDetailsByNameResponse"> <wsdl:part name="parameter" element="ISM:MetapediaPolicyStatementDetailSequence"/> </wsdl:message> <wsdl:message name="getPolicySetComplianceScore"> <wsdl:part name="parameter" element="ISM:GetPolicySetComplianceScore"/> </wsdl:message> <wsdl:message name="getPolicySetComplianceScoreResponse"> <wsdl:part name="parameter" element="ISM:MetapediaPolicySetComplianceScoreSequence"/> </wsdl:message> <wsdl:message name="getPolicyStatementComplianceScore"> <wsdl:part name="parameter" element="ISM:GetPolicyStatementComplianceScore"/> </wsdl:message> <wsdl:message name="getPolicyStatementComplianceScoreResponse"> <wsdl:part name="parameter" element="ISM:MetapediaPolicyStatementComplianceScoreSequence"/> </wsdl:message> <wsdl:message name="searchPolicySet"> <wsdl:part name="parameter" element="ISM:SearchPolicySet"/> </wsdl:message> <wsdl:message name="searchPolicySetResponse"> <wsdl:part name="parameter" element="ISM:MetapediaPolicySets"/> </wsdl:message> <wsdl:message name="searchPolicyStatement"> <wsdl:part name="parameter" element="ISM:SearchPolicyStatement"/> </wsdl:message> <wsdl:message name="searchPolicyStatementResponse"> <wsdl:part name="parameter" element="ISM:MetapediaPolicyStatements"/> </wsdl:message> <wsdl:message name="getPolicyStatementsInPolicySet"> <wsdl:part name="parameter" element="ISM:GetPolicyStatementsInPolicySet"/> </wsdl:message> <wsdl:message name="getPolicyStatementsInPolicySetResponse"> <wsdl:part name="parameter" element="ISM:MetapediaPolicyStatementDetailSequence"/> </wsdl:message> <wsdl:message name="sessionHeader"> <wsdl:part name="sessionHeader" element="ISC:SessionHeader"/> </wsdl:message> <wsdl:message name="MetapediaWSExceptionMsg"> <wsdl:part name="parameter" element="ISC:ISWSException"/> </wsdl:message> <wsdl:portType name="MetapediaServicePortType"> <wsdl:operation name="search"> <wsdl:documentation> Returns all the Metapedia terms that match the provided search string. It returns following summary information for each term: Name, Description, Data Steward, Metapedia Term URL and Last Modified By </wsdl:documentation> <wsdl:input message="ISMWS:search"/> <wsdl:output message="ISMWS:searchResponse"/> <wsdl:fault name="ISWSException" message="ISMWS:MetapediaWSExceptionMsg"/> </wsdl:operation> <wsdl:operation name="getTermDetailsByName"> <wsdl:documentation>Returns detailed information about the Metapedia term, based on the name. It returns the following information about the term: Categories, Synonyms, Keywords, Related terms and Custom Attributes in addition to the summary information (Name, Description, Data Steward, Metapedia Term URL and Last Modified By)</wsdl:documentation> <wsdl:input message="ISMWS:getTermDetailsByName"/> <wsdl:output message="ISMWS:getTermDetailsResponse"/> <wsdl:fault name="ISWSException" message="ISMWS:MetapediaWSExceptionMsg"/>

Integrator GuideSample files P U B L I C 49

</wsdl:operation> <wsdl:operation name="getMultipleTermDetailsByName"> <wsdl:documentation>Returns detailed information about all the Metapedia terms that match a specific name. It returns the following term information: Categories, Synonyms, Keywords, Related terms and Custom Attributes in addition to the summary information (Name, Description, Data Steward, Metapedia Term URL and Last Modified By)</wsdl:documentation> <wsdl:input message="ISMWS:getMultipleTermDetailsByName"/> <wsdl:output message="ISMWS:getMultipleTermDetailsResponse"/> <wsdl:fault name="ISWSException" message="ISMWS:MetapediaWSExceptionMsg"/> </wsdl:operation> <wsdl:operation name="getPolicySetDetailsByName"> <wsdl:documentation>Returns detailed information regarding the Metapedia policy set specified by the name. It returns the following information about the policy set: Keywords and Custom Attributes in addition to the summary information (Name, parent policy set Name, Description, Data Steward, Metapedia policy set URL, Last Modified By, Effective date, Expiry date, and full path from the root policy set).</wsdl:documentation> <wsdl:input message="ISMWS:getPolicySetDetailsByName"/> <wsdl:output message="ISMWS:getPolicySetDetailsByNameResponse"/> <wsdl:fault name="ISWSException" message="ISMWS:MetapediaWSExceptionMsg"/> </wsdl:operation> <wsdl:operation name="getPolicyStatementDetailsByName"> <wsdl:documentation>Returns detailed information regarding the Metapedia policy statement specified by the name. It returns the following information about the policy statement: Related terms, Associated policy statements, Keywords and Custom Attributes in addition to the summary information (Name, parent policy set name, Description, Data Steward, Metapedia policy statement URL, Last Modified By, Effective date, Expiry date, and full path from the root policy set).</wsdl:documentation> <wsdl:input message="ISMWS:getPolicyStatementDetailsByName"/> <wsdl:output message="ISMWS:getPolicyStatementDetailsByNameResponse"/> <wsdl:fault name="ISWSException" message="ISMWS:MetapediaWSExceptionMsg"/> </wsdl:operation> <wsdl:operation name="getPolicySetComplianceScore"> <wsdl:documentation>Returns the policy set compliance score, based on the name of the policy set. It returns the following information about the policy set: policy set name, parent policy set name, compliance score, and full path from the root policy set. </wsdl:documentation> <wsdl:input message="ISMWS:getPolicySetComplianceScore"/> <wsdl:output message="ISMWS:getPolicySetComplianceScoreResponse"/> <wsdl:fault name="ISWSException" message="ISMWS:MetapediaWSExceptionMsg"/> </wsdl:operation> <wsdl:operation name="getPolicyStatementComplianceScore"> <wsdl:documentation>Returns the policy statement compliance score, based on the name of the policy set. It returns the following information about the policy statement: policy statement name, parent policy set name, compliance score, and full path from the root policy set.</wsdl:documentation> <wsdl:input message="ISMWS:getPolicyStatementComplianceScore"/> <wsdl:output message="ISMWS:getPolicyStatementComplianceScoreResponse"/> <wsdl:fault name="ISWSException" message="ISMWS:MetapediaWSExceptionMsg"/> </wsdl:operation> <wsdl:operation name="searchPolicySet"> <wsdl:documentation>Returns all the Metapedia policy sets that match the provided search query. It returns the following summary information for each policy set: Name, parent policy set name, Description, Data Steward, Metapedia policy set URL, Last Modified By, Effective date, Expiry date, and full path from the root policy set.</wsdl:documentation> <wsdl:input message="ISMWS:searchPolicySet"/> <wsdl:output message="ISMWS:searchPolicySetResponse"/>

50 P U B L I CIntegrator Guide

Sample files

<wsdl:fault name="ISWSException" message="ISMWS:MetapediaWSExceptionMsg"/> </wsdl:operation> <wsdl:operation name="searchPolicyStatement"> <wsdl:documentation>Returns all the Metapedia policy statements that match the provided search query. It returns the following summary information for each policy statement: Name, parent policy set name, Description, Data Steward, Metapedia policy statement URL, Last Modified By, Effective date, Expiry date, and full path from the root policy set.</wsdl:documentation> <wsdl:input message="ISMWS:searchPolicyStatement"/> <wsdl:output message="ISMWS:searchPolicyStatementResponse"/> <wsdl:fault name="ISWSException" message="ISMWS:MetapediaWSExceptionMsg"/> </wsdl:operation> <wsdl:operation name="getPolicyStatementsInPolicySet"> <wsdl:documentation>Returns all the Policy Statements found in a particular policy set, specified by the name of the policy set. It returns the following information about the policy statement: Related terms, Associated policy statements, Keywords and Custom Attributes in addition to the summary information (Name, parent policy set name, Description, Data Steward, Metapedia policy statement URL, Last Modified By, Effective date, Expiry date, and full path from the root policy set).</wsdl:documentation> <wsdl:input message="ISMWS:getPolicyStatementsInPolicySet"/> <wsdl:output message="ISMWS:getPolicyStatementsInPolicySetResponse"/> <wsdl:fault name="ISWSException" message="ISMWS:MetapediaWSExceptionMsg"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="MetapediaServiceBinding" type="ISMWS:MetapediaServicePortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="search"> <soap:operation soapAction="http://metapedia.isws.sap.com/search" style="document"/> <wsdl:input> <soap:body parts="parameter" use="literal"/> <soap:header message="ISMWS:sessionHeader" part="sessionHeader" use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="ISWSException"> <soap:fault name="ISWSException" use="literal"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="getTermDetailsByName"> <soap:operation soapAction="http://metapedia.isws.sap.com/getTermDetailsByName" style="document"/> <wsdl:input> <soap:body parts="parameter" use="literal"/> <soap:header message="ISMWS:sessionHeader" part="sessionHeader" use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="ISWSException"> <soap:fault name="ISWSException" use="literal"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="getMultipleTermDetailsByName"> <soap:operation soapAction="http://metapedia.isws.sap.com/getMultipleTermDetailsByName" style="document"/> <wsdl:input> <soap:body parts="parameter" use="literal"/>

Integrator GuideSample files P U B L I C 51

<soap:header message="ISMWS:sessionHeader" part="sessionHeader" use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="ISWSException"> <soap:fault name="ISWSException" use="literal"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="getPolicySetDetailsByName"> <soap:operation soapAction="http://metapedia.isws.sap.com/getPolicySetDetailsByName" style="document"/> <wsdl:input> <soap:body parts="parameter" use="literal"/> <soap:header message="ISMWS:sessionHeader" part="sessionHeader" use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="ISWSException"> <soap:fault name="ISWSException" use="literal"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="getPolicyStatementDetailsByName"> <soap:operation soapAction="http://metapedia.isws.sap.com/getPolicyStatementDetailsByName" style="document"/> <wsdl:input> <soap:body parts="parameter" use="literal"/> <soap:header message="ISMWS:sessionHeader" part="sessionHeader" use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="ISWSException"> <soap:fault name="ISWSException" use="literal"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="getPolicySetComplianceScore"> <soap:operation soapAction="http://metapedia.isws.sap.com/getPolicySetComplianceScore" style="document"/> <wsdl:input> <soap:body parts="parameter" use="literal"/> <soap:header message="ISMWS:sessionHeader" part="sessionHeader" use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="ISWSException"> <soap:fault name="ISWSException" use="literal"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="getPolicyStatementComplianceScore"> <soap:operation soapAction="http://metapedia.isws.sap.com/getPolicyStatementComplianceScore" style="document"/> <wsdl:input> <soap:body parts="parameter" use="literal"/> <soap:header message="ISMWS:sessionHeader" part="sessionHeader" use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="ISWSException"> <soap:fault name="ISWSException" use="literal"/>

52 P U B L I CIntegrator Guide

Sample files

</wsdl:fault> </wsdl:operation> <wsdl:operation name="searchPolicySet"> <soap:operation soapAction="http://metapedia.isws.sap.com/searchPolicySet" style="document"/> <wsdl:input> <soap:body parts="parameter" use="literal"/> <soap:header message="ISMWS:sessionHeader" part="sessionHeader" use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="ISWSException"> <soap:fault name="ISWSException" use="literal"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="searchPolicyStatement"> <soap:operation soapAction="http://metapedia.isws.sap.com/searchPolicyStatement" style="document"/> <wsdl:input> <soap:body parts="parameter" use="literal"/> <soap:header message="ISMWS:sessionHeader" part="sessionHeader" use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="ISWSException"> <soap:fault name="ISWSException" use="literal"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="getPolicyStatementsInPolicySet"> <soap:operation soapAction="http://metapedia.isws.sap.com/getPolicyStatementsInPolicySet" style="document"/> <wsdl:input> <soap:body parts="parameter" use="literal"/> <soap:header message="ISMWS:sessionHeader" part="sessionHeader" use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="ISWSException"> <soap:fault name="ISWSException" use="literal"/> </wsdl:fault> </wsdl:operation> </wsdl:binding> <wsdl:service name="MetapediaService"> <wsdl:port name="MetapediaService" binding="ISMWS:MetapediaServiceBinding"> <soap:address location="http://localhost:8080/BOE/InfoStewardApp/1109121622/ICCExplorer/services/MetapediaService"/> </wsdl:port> </wsdl:service> </wsdl:definitions>

5.4 Metapedia_Services.xsd

The contents of the file Metapedia_Services.xsd appears as follows:

<?xml version="1.0" encoding="UTF-8"?>

Integrator GuideSample files P U B L I C 53

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://java.sun.com/xml/ns/j2ee" targetNamespace="http://metapedia.isws.sap.com/2012/01/01" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" elementFormDefault="unqualified" attributeFormDefault="unqualified"> <xsd:complexType name="Category"> <xsd:sequence> <xsd:element name="Name" type="xsd:string"/> <xsd:element name="Description" type="xsd:string" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="CustomAttribute"> <xsd:sequence> <xsd:element name="Name" type="xsd:string"/> <xsd:element name="Value" type="xsd:string" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="RelatedTerm"> <xsd:sequence> <xsd:element name="Name" type="xsd:string"/> <xsd:element name="MetapediaTermURL" type="xsd:string" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="MetapediaTermSummary"> <xsd:sequence> <xsd:element name="Name" type="xsd:string"/> <xsd:element name="Description" type="xsd:string"/> <xsd:element name="MetapediaTermURL" type="xsd:string" minOccurs="0"/> <xsd:element name="Author" type="xsd:string" minOccurs="0"/> <xsd:element name="LastModifiedDate" type="xsd:string" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="RelatedTerms"> <xsd:sequence> <xsd:element name="RelatedTerm" type="RelatedTerm" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="Categories"> <xsd:sequence> <xsd:element name="Category" type="Category" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="Synonyms"> <xsd:sequence> <xsd:element name="Synonym" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="Keywords"> <xsd:sequence> <xsd:element name="Keyword" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="CustomAttributes"> <xsd:sequence> <xsd:element name="CustomAttribute" type="CustomAttribute" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="MetapediaTermDetail"> <xsd:complexContent>

54 P U B L I CIntegrator Guide

Sample files

<xsd:extension base="MetapediaTermSummary"> <xsd:sequence> <xsd:element name="RelatedTerms" type="RelatedTerms" minOccurs="0"/> <xsd:element name="Categories" type="Categories" minOccurs="0"/> <xsd:element name="Synonyms" type="Synonyms" minOccurs="0"/> <xsd:element name="Keywords" type="Keywords" minOccurs="0"/> <xsd:element name="CustomAttributes" type="CustomAttributes" minOccurs="0"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="MetapediaTermDetailSequence"> <xsd:sequence> <xsd:element name="Term" type="MetapediaTermDetail" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="MetapediaSearchQuery"> <xsd:annotation> <xsd:documentation>The query to search for Metapedia Terms. It allows clients to specify a query string and two optional parameters to specify the start index and records per result values</xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="Query" type="xsd:string"/> </xsd:sequence> <xsd:attribute name="recordsPerResult" type="xsd:integer" use="optional" default="250"/> <xsd:attribute name="startIndex" type="xsd:integer" use="optional" default="0"/> <xsd:attribute name="plainText" type="xsd:boolean" use="optional" default="false"/> </xsd:complexType> <xsd:element name="MetapediaTerms"> <xsd:complexType> <xsd:sequence> <xsd:element name="Term" type="MetapediaTermSummary" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="totalTerms" type="xsd:integer" use="required"/> </xsd:complexType> </xsd:element> <xsd:element name="MetapediaTermDetail" type="MetapediaTermDetail"/> <xsd:element name="MetapediaTermDetailSequence" type="MetapediaTermDetailSequence"/> <xsd:element name="Search" type="MetapediaSearchQuery"> <xsd:annotation> <xsd:documentation>Returns all the Metapedia Terms that match the provided search query. It returns following summary information for each term: Name, Description, Data Steward, Metapedia Term URL and Last Modified By</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="MetapediaPolicySetDetail" type="MetapediaPolicySetDetail"/> <xsd:element name="MetapediaPolicySetDetailSequence" type="MetapediaPolicySetDetailSequence"/> <xsd:element name="MetapediaPolicyStatementDetail" type="MetapediaPolicyStatementDetail"/> <xsd:element name="MetapediaPolicyStatementDetailSequence" type="MetapediaPolicyStatementDetailSequence"/> <xsd:element name="MetapediaPolicySetComplianceScoreDetail" type="MetapediaPolicySetComplianceScoreDetail"/> <xsd:element name="MetapediaPolicyStatementComplianceScoreDetail" type="MetapediaPolicyStatementComplianceScoreDetail"/>

Integrator GuideSample files P U B L I C 55

<xsd:element name="MetapediaPolicySetComplianceScoreSequence" type="MetapediaPolicySetComplianceScoreSequence"/> <xsd:element name="MetapediaPolicyStatementComplianceScoreSequence" type="MetapediaPolicyStatementComplianceScoreSequence"/> <xsd:complexType name="AssociatedPolicySet"> <xsd:sequence> <xsd:element name="Name" type="xsd:string"/> <xsd:element name="MetapediaPolicySetURL" type="xsd:string" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="AssociatedPolicySets"> <xsd:sequence> <xsd:element name="AssociatedPolicySet" type="AssociatedPolicySet" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="AssociatedPolicyStatement"> <xsd:sequence> <xsd:element name="Name" type="xsd:string"/> <xsd:element name="MetapediaPolicyStatementURL" type="xsd:string" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="AssociatedPolicyStatements"> <xsd:sequence> <xsd:element name="AssociatedPolicyStatement" type="AssociatedPolicyStatement" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="MetapediaPolicySetSummary"> <xsd:sequence> <xsd:element name="Name" type="xsd:string"/> <xsd:element name="ParentPolicySetName" type="xsd:string"/> <xsd:element name="Description" type="xsd:string"/> <xsd:element name="MetapediaPolicySetURL" type="xsd:string" minOccurs="0"/> <xsd:element name="Author" type="xsd:string" minOccurs="1"/> <xsd:element name="LastModifiedDate" type="xsd:string" minOccurs="1"/> <xsd:element name="EffectiveDate" type="xsd:string" minOccurs="1"/> <xsd:element name="ExpiryDate" type="xsd:string" minOccurs="1"/> <xsd:element name="PathFromRootPolicySet" type="xsd:string" minOccurs="1"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="MetapediaPolicySetDetail"> <xsd:complexContent> <xsd:extension base="MetapediaPolicySetSummary"> <xsd:sequence> <xsd:element name="Keywords" type="Keywords" minOccurs="0"/> <xsd:element name="CustomAttributes" type="CustomAttributes" minOccurs="0"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="MetapediaPolicySetDetailSequence"> <xsd:sequence> <xsd:element name="PolicySet" type="MetapediaPolicySetDetail" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:element name="MetapediaPolicySets"> <xsd:complexType> <xsd:sequence> <xsd:element name="PolicySet" type="MetapediaPolicySetSummary" minOccurs="0" maxOccurs="unbounded"/>

56 P U B L I CIntegrator Guide

Sample files

</xsd:sequence> <xsd:attribute name="totalPolicySets" type="xsd:integer" use="required"/> </xsd:complexType> </xsd:element> <xsd:complexType name="MetapediaPolicyStatementSummary"> <xsd:sequence> <xsd:element name="Name" type="xsd:string"/> <xsd:element name="ParentPolicySetName" type="xsd:string"/> <xsd:element name="Description" type="xsd:string"/> <xsd:element name="MetapediaPolicyStatementURL" type="xsd:string" minOccurs="0"/> <xsd:element name="Author" type="xsd:string" minOccurs="0"/> <xsd:element name="LastModifiedDate" type="xsd:string" minOccurs="1"/> <xsd:element name="EffectiveDate" type="xsd:string" minOccurs="1"/> <xsd:element name="ExpiryDate" type="xsd:string" minOccurs="1"/> <xsd:element name="PathFromRootPolicySet" type="xsd:string" minOccurs="1"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="MetapediaPolicyStatementDetail"> <xsd:complexContent> <xsd:extension base="MetapediaPolicyStatementSummary"> <xsd:sequence> <xsd:element name="RelatedTerms" type="RelatedTerms" minOccurs="0"/> <xsd:element name="AssociatedPolicyStatements" type="AssociatedPolicyStatements" minOccurs="0"/> <xsd:element name="Keywords" type="Keywords" minOccurs="0"/> <xsd:element name="CustomAttributes" type="CustomAttributes" minOccurs="0"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="MetapediaPolicyStatementDetailSequence"> <xsd:sequence> <xsd:element name="PolicyStatement" type="MetapediaPolicyStatementDetail" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:element name="MetapediaPolicyStatements"> <xsd:complexType> <xsd:sequence> <xsd:element name="PolicyStatement" type="MetapediaPolicyStatementSummary" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="totalPolicyStatements" type="xsd:integer" use="required"/> </xsd:complexType> </xsd:element> <xsd:complexType name="MetapediaPolicySetComplianceScoreSequence"> <xsd:sequence> <xsd:element name="PolicySetComplianceScoreObject" type="MetapediaPolicySetComplianceScoreDetail" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:element name="MetapediaPolicySetComplianceScores"> <xsd:complexType> <xsd:sequence> <xsd:element name="PolicySet" type="MetapediaPolicySetComplianceScoreDetail" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="totalPolicySets" type="xsd:integer" use="required"/>

Integrator GuideSample files P U B L I C 57

</xsd:complexType> </xsd:element> <xsd:complexType name="MetapediaPolicyStatementComplianceScoreSequence"> <xsd:sequence> <xsd:element name="PolicyStatementComplianceScoreObject" type="MetapediaPolicyStatementComplianceScoreDetail" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:element name="MetapediaPolicyStatementComplianceScores"> <xsd:complexType> <xsd:sequence> <xsd:element name="PolicyStatement" type="MetapediaPolicyStatementComplianceScoreDetail" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="totalPolicyStatements" type="xsd:integer" use="required"/> </xsd:complexType> </xsd:element> <xsd:complexType name="MetapediaSearchQueryPolicySet"> <xsd:annotation> <xsd:documentation>The query to search for Metapedia policy sets. It allows clients to specify a query string and two optional parameters to specify the start index and records per result values</xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="Query" type="xsd:string"/> </xsd:sequence> <xsd:attribute name="recordsPerResult" type="xsd:integer" use="optional" default="250"/> <xsd:attribute name="startIndex" type="xsd:integer" use="optional" default="0"/> <xsd:attribute name="plainText" type="xsd:boolean" use="optional" default="false"/> </xsd:complexType> <xsd:complexType name="MetapediaSearchQueryPolicyStatement"> <xsd:annotation> <xsd:documentation>The query to search for Metapedia policy statements. It allows clients to specify a query string and two optional parameters to specify the start index and records per result values</xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="Query" type="xsd:string"/> </xsd:sequence> <xsd:attribute name="recordsPerResult" type="xsd:integer" use="optional" default="250"/> <xsd:attribute name="startIndex" type="xsd:integer" use="optional" default="0"/> <xsd:attribute name="plainText" type="xsd:boolean" use="optional" default="false"/> </xsd:complexType> <xsd:complexType name="MetapediaPolicySetComplianceScoreDetail"> <xsd:annotation> <xsd:documentation>Returns the policy set compliance score, along with the name of the parent policy set, and full path from the root policy set.</xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="PolicySetName" type="xsd:string"/> <xsd:element name="ComplianceScore" type="xsd:string"/> <xsd:element name="ParentPolicySetName" type="xsd:string"/> <xsd:element name="PathFromRootPolicySet" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="MetapediaPolicyStatementComplianceScoreDetail"> <xsd:annotation>

58 P U B L I CIntegrator Guide

Sample files

<xsd:documentation>Returns the policy statement compliance score, along with the name of the parent policy set, and full path from the root policy set.</xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="PolicyStatementName" type="xsd:string"/> <xsd:element name="ComplianceScore" type="xsd:string"/> <xsd:element name="ParentPolicySetName" type="xsd:string"/> <xsd:element name="PathFromRootPolicySet" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:element name="GetTermDetailsByName"> <xsd:annotation> <xsd:documentation>Returns detail information regarding the Metapedia Term specified by the name. It returns following information about the term: Categories, Synonyms, Keywords, Related terms and Custom Attributes in addition to the summary information (Name, Description, Data Steward, Metapedia Term URL and Last Modified By) </xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element name="TermName" type="xsd:string"/> </xsd:sequence> <xsd:attribute name="plainText" type="xsd:boolean" use="optional" default="false"/> </xsd:complexType> </xsd:element> <xsd:element name="GetMultipleTermDetailsByName"> <xsd:annotation> <xsd:documentation>Returns detail information of all the Metapedia Terms specified by the same name. It returns following information about the term: Categories, Synonyms, Keywords, Related terms and Custom Attributes in addition to the summary information (Name, Description, Data Steward, Metapedia Term URL and Last Modified By) </xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element name="Term" type="xsd:string"/> </xsd:sequence> <xsd:attribute name="plainText" type="xsd:boolean" use="optional" default="false"/> </xsd:complexType> </xsd:element> <xsd:element name="GetPolicySetDetailsByName"> <xsd:annotation> <xsd:documentation>Returns detail information regarding the Metapedia policy set specified by the name. It returns the following information about the policy set: Keywords and Custom Attributes in addition to the summary information (Name, parent policy set Name, Description, Data Steward, Metapedia policy set URL, Last Modified By, Effective date, Expiry date, and full path from the root policy set).</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element name="PolicySetName" type="xsd:string"/> </xsd:sequence> <xsd:attribute name="plainText" type="xsd:boolean" use="optional" default="false"/> </xsd:complexType> </xsd:element> <xsd:element name="GetPolicyStatementDetailsByName"> <xsd:annotation> <xsd:documentation>Returns detail information regarding the Metapedia policy statement specified by the name. It returns the following information about the policy statement: Related terms, Associated policy statements, Keywords and Custom Attributes in addition to the summary

Integrator GuideSample files P U B L I C 59

information (Name, parent policy set name, Description, Data Steward, Metapedia policy statement URL, Last Modified By, Effective date, Expiry date, and full path from the root policy set).</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element name="PolicyStatementName" type="xsd:string"/> </xsd:sequence> <xsd:attribute name="parentPolicySetName" type="xsd:string" use="optional" default=""/> <xsd:attribute name="plainText" type="xsd:boolean" use="optional" default="false"/> </xsd:complexType> </xsd:element> <xsd:element name="GetPolicySetComplianceScore"> <xsd:annotation> <xsd:documentation>Returns the policy set compliance score, based on the name of the policy set. It returns the following information about the policy set: policy set name, parent policy set name, compliance score, and full path from the root policy set.</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element name="PolicySetName" type="xsd:string"/> </xsd:sequence> <xsd:attribute name="parentPolicySetName" type="xsd:string" use="optional" default=""/> <xsd:attribute name="plainText" type="xsd:boolean" use="optional" default="false"/> </xsd:complexType> </xsd:element> <xsd:element name="GetPolicyStatementComplianceScore"> <xsd:annotation> <xsd:documentation>Returns the policy statement compliance score, based on the name of the policy set. It returns the following information about the policy statement: policy statement name, parent policy set name, compliance score, and full path from the root policy set.</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element name="PolicyStatementName" type="xsd:string"/> </xsd:sequence> <xsd:attribute name="parentPolicySetName" type="xsd:string" use="optional" default=""/> <xsd:attribute name="plainText" type="xsd:boolean" use="optional" default="false"/> </xsd:complexType> </xsd:element> <xsd:element name="SearchPolicySet" type="MetapediaSearchQueryPolicySet"> <xsd:annotation> <xsd:documentation>Returns all the Metapedia policy sets that match the provided search query. It returns the following summary information for each policy set: Name, parent policy set name, Description, Data Steward, Metapedia policy set URL, Last Modified By, Effective date, Expiry date, and full path from the root policy set.</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="SearchPolicyStatement" type="MetapediaSearchQueryPolicyStatement"> <xsd:annotation> <xsd:documentation>Returns all the Metapedia policy statements that match the provided search query. It returns the following summary information for each policy statement: Name, parent policy set name, Description, Data Steward, Metapedia policy statement URL, Last Modified By, Effective date, Expiry date, and full path from the root policy set.</xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="GetPolicyStatementsInPolicySet">

60 P U B L I CIntegrator Guide

Sample files

<xsd:annotation> <xsd:documentation>Returns all the Policy Statements found in a particular policy set, specified by the name of the policy set. It returns the following information about the policy statement: Related terms, Associated policy statements, Keywords and Custom Attributes in addition to the summary information (Name, parent policy set name, Description, Data Steward, Metapedia policy statement URL, Last Modified By, Effective date, Expiry date, and full path from the root policy set).</xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element name="ParentPolicySetName" type="xsd:string"/> </xsd:sequence> <xsd:attribute name="plainText" type="xsd:boolean" use="optional" default="false"/> </xsd:complexType> </xsd:element></xsd:schema>

5.5 Security configuration files

5.5.1 policy.properties

The policy.properties is a bootstrap file that is first loaded by the Information Steward Web Service security. For development purposes, this policy can be disabled by setting the policy.enabled flag to false. This file stores the names and passwords for the server and client, the keystore type and password, and optionally, the STS (Security Token Service) name and password.

The path to the server keystore can be changed (by default this is <SAP BOE Installation>\Information Steward\MM\Config) as well as the path to https_policy.xml.

A modified version of the policy.properties is located at:

<SAP BusinessObjects install path>\Tomcat6\webapps\BOE\WEB-INF\config\custom\policy.properties

The following table lists the relevant properties, the default value, their purpose and description.

Property name Default value Description

policy.enabled true A boolean flag to enable or disable the security policy with a setting of true or false. If this flag is set to false, web service security is disabled and the web service client can communicate to web services via HTTP. Turning off security makes it easier to develop and test web services.

clientkey.alias Client The name used to refer to the location of the client public keystore.

clientkey.password nosecret The password used to access the key pair for the client.

serverkey.alias server The name used to refer to the location of the server public keystore.

Integrator GuideSample files P U B L I C 61

Property name Default value Description

serverkey.password nosecret The password used to access the key pair for the server.

keystore.type JKS The keystore type. Use the value JKS, (Java Key Store). JKS is currently the only certified keystore.

keystore.password nosecret The password used to open the keystore.

stskey.alias n/a The name used to refer to the location of the STS (Security Token Service). By default, this line is commented out.

stskey.password n/a The Password used to access the key pair for the STS. By de­fault, this line is commented out.

keystore.file.path default_server.keystore The filename, relative or absolute file path to the server’s keystore file. By default, this keystore is located in <SAP BOE path>\InformationSteward\MM\config\>.

policy.file.path https_policy.xml The filename, relative or absolute file path to the policy file. Note that after making changes to https_policy.xml configuration, also update the transportReceveiver section in axis2.xml and the connector section in Tomcat's server.xml configuration files.

The listing of the policy.properties document and the default values for the current version of Information Steward appears as follows:

policy.enabled =true clientkey.alias =clientclientkey.password =nosecretserverkey.alias =serverserverkey.password =nosecretkeystore.type =JKSkeystore.password =nosecret#stskey.alias =sts#stskey.password =stspass#### keystore and policy file path can be a filename in current directory or absolute file path## default_client.keystore is located in MM Configuration directory e.g. C:\\Program Files (x86)\SAP BusinessObjects\InformationSteward\MM\config## When changes to the default https policy are made, it is required to update transportReceveiver section in axis2.xml and connector section in Tomcat's server.xml accordingly ## keystore.file.path =default_server.keystore policy.file.path =https_policy.xml

Related Information

https_policy.xml [page 63]

62 P U B L I CIntegrator Guide

Sample files

5.5.2 default_server.keystore

The default_server.keystore file is a binary file that contains several encoded public and private keys security certificates (*.cer), aliases, and their access passwords. As such, this file cannot be modified with a text editor. This information is used to encrypt the HTTP channel to HTTPS, which prevents interception of passwords and data.

The default_server.keystore file is located at:

C:\Program Files (x86)\SAP BusinessObjects\InformationSteward\MM\config\

Names and keystore passwords are stored in the axis2.xml configuration file. This information is necessary to open and modify a keystore.

In the file policy.properties, the property keystore.file.path contains the path to the default_server.keystore binary file.

The location of the customized keystore:

<SAP BusinessObjects install path>\Tomcat6\webapps\BOE\WEB-INF\config\custom\default_server.keystore

5.5.3 default_client.keystore

The default_client.keystore file is a binary that contains several encoded public and private keys security certificates (*.cer), aliases and their access passwords. As such, this file cannot be modified with a text editor. This information is used to encrypt the HTTP channel to HTTPS, which prevents interception of passwords and data.

The default_client.keystore is located at:

C:\Program Files (x86)\SAP BusinessObjects\InformationSteward\MM\config\

Names and keystore passwords are stored in the axis2.xml configuration file. This information is necessary to open and modify a keystore.

In the file policy.properties, the property keystore.file.path contains the path to the default_client.keystore binary file.

The location of the customized keystore:

<SAP BusinessObjects install path>\Tomcat6\webapps\BOE\WEB-INF\config\custom\default_client.keystore

5.5.4 https_policy.xml

The HTTP policy configuration can be changed to suit your business needs.

Integrator GuideSample files P U B L I C 63

As shipped, HTTPS-based security is enabled to ensure secure delivery of passwords and data between the server and the end user.

(should a table for all settings be included here even though this is not "our" file, or can we put a link to a reputable site that will not break)

The https_policy.xml file is a standard Apache configuration document that can be found at:

<SAP BusinessObjects install path>\Tomcat6\webapps\BOE\WEB-INF\config\custom\https_policy.xml

The default settings of the file are as follows:

<wsp:Policy xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" wsu:Id="HttpsPolicy"><wsp:ExactlyOne> <wsp:All> <sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> <wsp:Policy> <sp:TransportToken> <wsp:Policy> <sp:HttpsToken RequireClientCertificate="false"/> </wsp:Policy> </sp:TransportToken> <sp:AlgorithmSuite> <wsp:Policy> <sp:Basic128/> </wsp:Policy> </sp:AlgorithmSuite> <sp:Layout> <wsp:Policy> <sp:Lax/> </wsp:Policy> </sp:Layout> <sp:IncludeTimestamp/> </wsp:Policy> </sp:TransportBinding></wsp:All></wsp:ExactlyOne> </wsp:Policy>

5.5.5 axis2.xml

Configuration of the HTTP and HTTPS transport sender and receivers can be enabled or disabled, and their associated ports changed.

The axis2.xml file is a standard Apache configuration document that can be found at:

<SAP BusinssObjects install path>\Tomcat6\webapps\BOE\WEB-INF\config\default

The following table lists the relevant property names found within axis2.xml that relates to Information Steward web service configuration.

64 P U B L I CIntegrator Guide

Sample files

Property name Description

transportSender There are two transport senders that are enabled by default.

● http● https

Comment out the relevant section to disable it.

transportReceiver There are two transport receivers that are enabled by default, along with standard listening port numbers. Note that the port numbers must be the same as what is defined in the server configuration within server.xml on Tomcat.

● http, port 8080● https, port 8443

Disable one or the other by commenting out the relevant section. You can also change the port number in the <parameter name="port"> setting.

The following code fragment is an excerpt from the axis2.xml file located at:

<SAP BusinessObjects install path>\Tomcat6\webapps\BOE\WEB-INF\config\default

<!-- This is where you'd put custom transports. See the transports project --> <!-- for more. http://ws.apache.org/commons/transport --><!-- ================================================= --><!-- Transport Outs --><!-- ================================================= --><transportSender name="local" class="org.apache.axis2.transport.local.LocalTransportSender"/><transportSender name="http" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender"> <parameter name="PROTOCOL">HTTP/1.1</parameter> <parameter name="Transfer-Encoding">chunked</parameter> <!-- If following is set to 'true', optional action part of the Content-Type will not be added to the SOAP 1.2 messages --> <!-- <parameter name="OmitSOAP12Action">true</parameter> --></transportSender><transportSender name="https" class="org.apache.axis2.transport.http.CommonsHTTPTransportSender"> <parameter name="PROTOCOL">HTTP/1.1</parameter> <parameter name="Transfer-Encoding">chunked</parameter> <!-- If following is set to 'true', optional action part of the Content-Type will not be added to the SOAP 1.2 messages --> <!-- <parameter name="OmitSOAP12Action">true</parameter> --></transportSender><transportReceiver name="http" class="org.apache.axis2.transport.http.AxisServletListener"> <parameter name="port">8080</parameter></transportReceiver><transportReceiver name="https" class="org.apache.axis2.transport.http.AxisServletListener"> <parameter name="port">8443</parameter> </transportReceiver>

NoteFor detailed documentation on all Axis2 properties, see http://axis.apache.org/axis2/java/core/docs/userguide.html .

Integrator GuideSample files P U B L I C 65

Important Disclaimers and Legal Information

HyperlinksSome links are classified by an icon and/or a mouseover text. These links provide additional information.About the icons:

● Links with the icon : You are entering a Web site that is not hosted by SAP. By using such links, you agree (unless expressly stated otherwise in your agreements with SAP) to this:

● The content of the linked-to site is not SAP documentation. You may not infer any product claims against SAP based on this information.● SAP does not agree or disagree with the content on the linked-to site, nor does SAP warrant the availability and correctness. SAP shall not be liable for any

damages caused by the use of such content unless damages have been caused by SAP's gross negligence or willful misconduct.

● Links with the icon : You are leaving the documentation for that particular SAP product or service and are entering a SAP-hosted Web site. By using such links, you agree that (unless expressly stated otherwise in your agreements with SAP) you may not infer any product claims against SAP based on this information.

Beta and Other Experimental FeaturesExperimental features are not part of the officially delivered scope that SAP guarantees for future releases. This means that experimental features may be changed by SAP at any time for any reason without notice. Experimental features are not for productive use. You may not demonstrate, test, examine, evaluate or otherwise use the experimental features in a live operating environment or with data that has not been sufficiently backed up.The purpose of experimental features is to get feedback early on, allowing customers and partners to influence the future product accordingly. By providing your feedback (e.g. in the SAP Community), you accept that intellectual property rights of the contributions or derivative works shall remain the exclusive property of SAP.

Example CodeAny software coding and/or code snippets are examples. They are not for productive use. The example code is only intended to better explain and visualize the syntax and phrasing rules. SAP does not warrant the correctness and completeness of the example code. SAP shall not be liable for errors or damages caused by the use of example code unless damages have been caused by SAP's gross negligence or willful misconduct.

Gender-Related LanguageWe try not to use gender-specific word forms and formulations. As appropriate for context and readability, SAP may use masculine word forms to refer to all genders.

Videos Hosted on External PlatformsSome videos may point to third-party video hosting platforms. SAP cannot guarantee the future availability of videos stored on these platforms. Furthermore, any advertisements or other content hosted on these platforms (for example, suggested videos or by navigating to other videos hosted on the same site), are not within the control or responsibility of SAP.

66 P U B L I CIntegrator Guide

Important Disclaimers and Legal Information

Integrator GuideImportant Disclaimers and Legal Information P U B L I C 67

www.sap.com/contactsap

© 2020 SAP SE or an SAP affiliate company. All rights reserved.

No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE or an SAP affiliate company. The information contained herein may be changed without prior notice.

Some software products marketed by SAP SE and its distributors contain proprietary software components of other software vendors. National product specifications may vary.

These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP or its affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP or SAP affiliate company products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.

SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE (or an SAP affiliate company) in Germany and other countries. All other product and service names mentioned are the trademarks of their respective companies.

Please see https://www.sap.com/about/legal/trademark.html for additional trademark information and notices.

THE BEST RUN