Developer`s Guide: Managing Integration Content

Transcription

Developer`s Guide: Managing Integration Content
PUBLIC
SAP HANA Cloud Integration for process integration
2015-07-30
Developer's Guide: Managing
Integration Content
Content
1
Managing Integration Content. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2
Developing Integration Content Using the Integration Designer. . . . . . . . . . . . . . . . . . . . . . . . 6
2.1
Understanding the Basic Concepts and the Development Environment . . . . . . . . . . . . . . . . . . . . . . 6
Elements of an Integration Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Understanding the Integration Content Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Restrictions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2
Installing and Configuring the Tool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Configuring the Tool Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
Uninstalling a Feature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3
Developing Integration Flows and Projects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Creating Integration Project for an Integration Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12
(Optional) Creating a Working Set of Projects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Importing SAP NetWeaver PI Objects from On-Premise Repository. . . . . . . . . . . . . . . . . . . . . . 15
Modifying an Integration Flow Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Saving Integration Flow as a Template. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Using Custom Functions in Message Mapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4
Configuring an Integration Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Assigning the Sender and Receiver Participants. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Defining Channels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Defining Message Transformers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Defining Message Persistence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100
Defining Message Routing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105
Defining Security Elements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Defining Events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Defining Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Defining Additional Elements (Others). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Defining Error Handling Strategy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Specifying Runtime Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
2.5
Developing Value Mappings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Creating a Value Mapping Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Externalizing Parameters of Integration Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Editing the Value Mapping Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Exporting and Importing Value Mapping Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Referencing Value Mappings from a Message Mapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Checking the Value Mapping Consistency. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172
2.6
2
Working with the Mapping Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Content
Creating a Message Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Handling Inconsistencies in Mapping Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Exporting Mapping Details to Excel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
2.7
Testing an Integration Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
Checking the Consistency. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180
2.8
Operations-Related Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Deploying an Integration Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Viewing Error Logs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Activating Tenant and Integration Flow Tracing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183
2.9
References to Additional Help. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
3
Packaging Integration Content in SAP HCI Spaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
3.1
Importing Integration Packages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
3.2
Creating an Integration Package. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
3.3
Working with an Integration Package. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
3.4
Editing an Integration Package. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
3.5
Locking Integration Packages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
3.6
Exporting Integration Packages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
4
Accessing Integration Content in SAP HCI Web Application. . . . . . . . . . . . . . . . . . . . . . . . . . 193
4.1
View Integration Packages in Catalog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
4.2
Add Integration Packages to Customer Workspace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
4.3
Configure Integration Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
4.4
Configure Multiple Integration Flows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
4.5
Assign Adapters to Communication Channels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
4.6
Configure Adapter in Communication Channels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Configure Communication Channel with SOAP (SAP RM) Adapter. . . . . . . . . . . . . . . . . . . . . .200
Configure Communication Channel with SOAP (1.x) Adapter. . . . . . . . . . . . . . . . . . . . . . . . . . 202
Configure Communication Channel with SuccessFactors (SOAP) Adapter. . . . . . . . . . . . . . . . 207
Configure Communication Channel with SuccessFactors (REST) Adapter. . . . . . . . . . . . . . . . . 211
Configure Communication Channel with SuccessFactors (OData) Adapter. . . . . . . . . . . . . . . . 213
Configure Communication Channel with IDoc Adapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .216
Configure Communication Channel with OData Adapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Configure Communication Channel with HTTP Adapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .222
Configure Communication Channel with Ariba Adapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Configure Communication Channel with SFTP Adapter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
4.7
Define Events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Define an Escalation Event. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
4.8
Define Message Transformers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
Configure CSV to XML Converter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .231
Configure XML to CSV Converter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Define the XML-to-JSON Converter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Developer's Guide: Managing Integration Content
Content
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
3
Define Content Modifier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Define Script. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
4.9
Define Message Routers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Define General Splitter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Define Iterating Splitter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Define PKCS#7/CMS Splitter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Define Sequential Multicast. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
General and Iterating Splitter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
4.10
Define Security Elements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Sign the Message Content with PKCS#7/CMS Signer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Encrypt and Sign the Message Content with PKCS#7/CMS. . . . . . . . . . . . . . . . . . . . . . . . . . .246
Define PGP Encryptor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Define PGP Decryptor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Define PKCS7 Decryptor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
4.11
Define Message Persistence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .251
Define Data Store Operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Define Write Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
4.12
Define Additional Elements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Define Local Integration Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
4.13
Define Tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Define Content Enricher. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
4.14
Viewing Mapping Details in Mapping Viewer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
4.15
Editing Mapping Details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
4.16
Changing Source and Target Message Structuring. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
4.17
Working with Value Mappings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
4.18
Custom Functions in Message Mapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
4.19
Testing a Message Mapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .264
4.20
Deploying Data Flows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
4
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Content
1
Managing Integration Content
Design integration content in order to specify how messages are to be exchanged between the connected
components.
SAP HANA Cloud Integration provides a set of tools and applications that help you perform end-to-end tasks
on development and deployment, packaging and publishing, accessing and editing the integration content.
This topic provides an overview of roles, working environment and tasks involved in managing integration
content.
Since the tasks are performed by different roles, in different working environment such as, Integration
Designer on Eclipse platform or SAP HCI Spaces on SAP UI5, the figure below helps you understand the
relationship between the roles, tools/applications, and tasks:
Developer's Guide: Managing Integration Content
Managing Integration Content
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
5
2
Developing Integration Content Using the
Integration Designer
SAP HANA Cloud Integration provides integration tools on the Eclipse platform to model integration flows,
configure attributes of the integration flows, and deploy them to the runtime.
You can work with the integration tools in the local development mode, which means that you create an
integration project in your local Eclipse workspace and start developing integration content using the features
available in the Integration Designer perspective. Once the content is ready, you deploy the project to the
runtime in the SAP HANA Cloud Integration infrastructure.
Installing Features of SAP HANA Cloud Integration
To develop and configure integration content, install the features as described on the installation page SAP
HANA Cloud Integration Tools .
The Integration Designer feature can be used with the Luna release (Eclipse 4.4).
2.1
Understanding the Basic Concepts and the
Development Environment
2.1.1
Elements of an Integration Flow
An integration flow allows you to specify how a message is processed on a tenant.
You can use integration flows to specify specific integration patterns like mapping or routing.
A graphical editor allows you, the integration developer, to model the message processing steps and specify
in detail what happens to the message during processing.
In detail, you define the following aspects in an integration flow:
● The senders and receivers of the message
● How the senders and receivers are connected to the tenant (adapters)
● The processing steps that define the message processing
The following figure provides a simplified and generalized representation of an integration flow.
6
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Senders and Receivers
You define a participant of an integration scenario as a sender or receiver. The senders and receivers typically
represent the customer systems that are connected to the tenant and exchange messages with each other.
More information: Assigning the Sender and Receiver Participants [page 23]
Connectivity (Adapters)
An integration flow channel allows you to specify which technical protocols should be used to connect a
sender or a receiver to the tenant.
Note
To specify an adapter, click the connection arrow between the sender/receiver and the Integration Process
box.
Message Processing (Steps)
You use integration flow steps to specify what should happen to a message during processing. Various step
types support the wide range of integration capabilities of the Cloud-based integration platform.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
7
Note
To insert a step into an integration flow, drag and drop the desired step type from the palette on the right of
the graphical modeling area.
2.1.2
Understanding the Integration Content Types
SAP HANA Cloud Integration provides features on Eclipse to develop and configure integration content.
The feature, called the Integration Designer, provides options to develop integration flows in your local Eclipse
workspace, which implies no network connection is required during development. Each integration flow is
associated with a project and can refer to other entities, such as message mappings, operation mappings, and
WSDL definitions, that are available within the same project.
The integration flow can also refer to an entity, such as a value mapping, that is not available within its project.
You create a separate value mapping project such that the reference takes place across the projects within the
workspace.
The integration flow along with other referenced entities form the integration content. Once you complete the
development of integration content, you deploy the integration flow project as well as the referenced value
mapping to the runtime.
Note
Another feature, called the Integration Operation Monitoring, provides options to monitor the deployed
integration projects in runtime.
Types of Integration Projects
The sections below introduce you to different project types that the tooling provides based on the entities.
Integration Flow Project Type
The Integration Flow project type contains packages for creating integration content, where each package
consists of a particular entity.
Integration Flow Project Structure
Table 1:
Elements in Project Structure
Description
src.main.resources.mapping
Package for mappings to be used in scenario
src.main.resources.scenarioflows.integrationflow
Package for BPMN integration flow
src.main.resources.wsdl
Package for interfaces like IDOC , WSDL used in scenario
MANIFEST.MF
File contains dependencies to runtime components and in­
tegration content metadata
Note
Additional files that are available in the Integration Flow project types are:
8
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Table 2:
Additional Elements in Project Structure
Description
src.main.resources
Package for parameters.prop and parameters.propdef
files
parameters.prop
File contains externalized attributes representing a varia­
ble such as a the customer's landscape information.
parameters.propdef
File contains metadata such as value type of the parame­
terized attribute, its description and whether the attribute
should be configured mandatorily.
Value Mapping Project Type
The Value Mapping project type is used for scenarios that require you to map different representations of an
object to each other. Each value mapping project contains one or more value mapping group that is a set of
values of the object.
Value Mapping Project Structure
Table 3:
Elements in Project Structure
Description
MANIFEST.MF
File contains dependencies to runtime components
value_mapping.XML
File contains value mapping groups that hold the objects
and their corresponding representations
2.1.3
Restrictions
The Integration Designer allows you to model specific patterns which are handled at runtime in an unexpected
way.
The following table lists the restrictions.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
9
Table 4: Restrictions and Alternative Configuration Settings
Modelled Pattern
Expected Behavior at Run­
time
Actual Behavior at Runtime
Alternative Modelling Op­
tion
Integration flow step with
more than one outgoing se­
quence flows
The same message is proc­
essed in parallel after the in­
tegration flow step.
The messages are delivered
to the different receivers in a
sequence.
Configure only one outgoing
sequence flow and parallel
processing using a multicast
of messages.
For example, after a Mes­
Hereby, the order in that the
sage Persistence step the
messages are delivered is
message is supposed to be
randomly generated.
sent to multiple receivers in
parallel.
In addition to that, the follow­
ing behavior may occur: the
message which results from
the processing in the previ­
ous sequence flow is taken
as input for the next se­
quence flow.
Note
As an example, consider
two parallel sequence
flows where the first one
contains an encryption
step and the second one
not. In that case, the re­
ceiver of the second se­
quence flow also gets an
encrypted message (al­
though in the second se­
quence flow no encryp­
tion step has been config­
ured).
2.2
10
Installing and Configuring the Tool
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
2.2.1
Configuring the Tool Settings
Context
You perform the tasks below to configure the tool settings with attributes you would most likely require when
you work with the Eclipse IDE.
Opening the Integration Designer Perspective
1. In the main menu, choose
Windows
Open Perspective
Other... .
2. In the Open Perspective dialog, select the Integration Designer.
Configuring the Operations Server
This setting is required if you are deploying integration flows.
1. Obtain the URL of the Operations Server and the SCN user credentials from SaaS Admin.
2. Enter details at
Window
Preferences
SAP HANA Cloud Integration
Operations Server .
3. Choose OK.
Setting the Connections to the On-Premise Repository
If you need to import interfaces or mappings from an On-Premise repository, such as the ES Repository, you
have to set the connection details to establish connection with the ES Repository.
Note
Connection to ES Repository is supported for both Advanced Adapter Engine (AEX) and Dual Stack.
1. In the main menu, choose
Window
2. In the Preferences window, select
Preferences .
SAP HANA Cloud Integration
Repository Connection .
3. In the Repository Connection page, enter URL of the On-Premise repository in the format http(s)://
<host>:<port> and enter the user credentials.
4. Choose Test Connection to validate the connection.
2.2.2
Uninstalling a Feature
Context
You use this task only if you need to uninstall a feature of an installed software plugin.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
11
Procedure
1. From the main menu, choose
Help
About Eclipse SDK .
2. In the About Eclipse SDK dialog, choose Installation Details.
3. In the Eclipse SDK Installation Details wizard, select the required feature to be uninstalled.
4. Choose Uninstall....
5. In the Uninstall dialog, review the plugin you have selected and choose Finish.
6. In the Software Update dialog, choose Restart Now.
2.3
Developing Integration Flows and Projects
2.3.1
Creating Integration Project for an Integration Flow
Context
An integration flow is a graphical representation of how the integration content can be configured to enable the
flow of messages between two or more participants using SAP HANA Cloud Integration, and thus, ensure
successful communication.
You perform this task to create a BPMN 2.0-based integration flow model in your integration project under the
src.main.resources.scenarioflows.integrationflow package. You can create an integration flow by using the
built-in patterns, templates provided by SAP, or user-defined templates.
Note
You can use the templates provided by SAP in the New Integration Flow wizard page to help you create and
modify integration flows based on certain scenarios. These templates are based on some of the SAP
supported scenarios.
Restriction
In this release, SAP supports only limited number of possible integration scenarios.
12
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Procedure
1. In the main menu, choose
perspective.
Window
2. In the main menu, choose
File
Open Perspective
New
Integration Designer
Integration Project…
to open the
to create a new integration project.
3. In the New Integration Project wizard, enter a project name.
Note
By default, Node Type is set to IFLMAP, which indicates that the integration flow is deployed to that
node in the runtime environment.
4. If you want to add the project to the working set at this point, select the option Add project to working set.
Note
If you do not choose to add the project to the working set in this step, you can add it later. For more
information about working sets, see Creating a Working Set of Projects [page 14].
5. If you want to create an integration flow of a specific pattern for the new integration project, choose Next.
Note
You can also create an integration project together with a point-to-point integration flow. To enable this
option, choose
Window
Preferences
SAP HANA Cloud Integration
Integration Flow
Preferences page, and select the Auto-create integration flow on 'Finish' during integration project
creation option.
6. In the New Integration Flow page, enter a name for the integration flow.
7. If you want to create an integration flow using the built-in patterns, select the Enterprise Integration
Patterns category and choose the required pattern.
8. If you want to create an integration flow using SAP templates, select the SAP Defined Template category
and choose the required template.
9. If you want to create an integration flow using templates specific to your scenario, select the User Defined
Template category and choose the required template.
Note
You can find the templates in the User Defined Template category only if you have saved an integration
flow as a template. For more information, see Saving Integration Flow as a Template [page 18].
10. Choose Finish.
A new project with <integration flow>.iflw is available in the Project Explorer view.
11. If you want to provide a description for the integration project, follow the steps below:
a. In the Project Explorer, select the integration project and choose the Properties view.
b. In the Properties view, select the Project Configuration tab.
c. In the Project Configuration tab page, provide basic details about the integration project, and enter the
bundle name and bundle ID.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
13
Note
○ The bundle name and bundle ID that you enter get updated in the MANIFEST.MF file.
○ The bundle name and the integration project name are two different attributes.
○ The Node Type shows the runtime node type on which the integration flow is deployed.
○ The description field allows you to enter brief information about the integration project to help
other users understand the use of the project.
12. Click the graphical area, and in the Properties view, select the Integration Flow tab page.
13. Enter a description about the integration flow that provides information to other users who will view or
work with the integration flow.
14. Save the changes.
2.3.2
(Optional) Creating a Working Set of Projects
Context
You perform this task to group projects using the Working Sets feature provided by Eclipse.
For example, you can create a Working Set for grouping projects based on customer or you can create each
Working Set for specific integration scenarios.
Note
The actions available in the context menu of the projects that are added to the Working Set remain as
before.
Procedure
1. In the Project Explorer view of the Integration Designer perspective, select the dropdown icon from the
toolbar of the view.
2. Choose Select Working Set…
3. In the Select Working Set dialog, choose New….
4. In the New Working Set dialog, select Resource and choose Next.
5. Enter a name for the working set.
6. Select a resource from the Working set contents section.
7. Choose Finish.
8. If you want to edit the working set, select the dropdown icon and choose Edit Active Working Set.
9. Select the dropdown icon in the toolbar of the Project Explorer and choose
Working Sets
14
Top Level Elements
to display the Working Set and its content in the Project Explorer.
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
10. Select
sets, .
Top Level Elements
Projects
to display only the projects belonging to the existing working
Note
If you want to go back to the default Project Explorer view that displays all the projects irrespective of
the Working Sets, select the dropdown icon in the toolbar of the Project Explorer and choose Deselect
Working Set.
2.3.3
Importing SAP NetWeaver PI Objects from OnPremise Repository
Context
You perform this task to import interfaces and mappings from an On-Premise repository, such as the ES
Repository, into the integration project. In case of mappings, you can import message mappings (.mmap) and
operation mappings (.opmap).
Restriction
See the table below to know about the list of unsupported functionalities of the mappings being imported:
Table 5: Unsupported functionalities of imported mappings
Type of Mappings
Limitations
Message Mapping
User Defined Functions with Channel type parameter
RFC and JDBC lookups used in Mappings
Parameters declared through Parameter section of mapping edi­
tor (in ES Repository Builder )
Used Imported Archives
Used Function Libraries
Containing schema from .xml or .zip files
Operation Mapping
Operations (source or target) with cardinality '0..unbonded' are
not supported
Operation mappings with cardinality 0..1 are not supported
Operation mapping containing multiple operations are not sup­
ported
Since parameters are not supported in Message Mapping, so op­
eration mappings with binding are also not supported
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
15
Type of Mappings
Limitations
Operation Mappings with Java Mappings (Imported Archives,
Java programs) and external programs are not supported
Operation Mappings, with Do Not Resolve XOP Includes, Read
Attachments are not supported
Only synchronous operation mappings with atleast one mapping
program present- either request, response or fault, is supported.
If the WSDL is already present, WSDLs are not overwritten
Procedure
1. In the Project Explorer, right-click on an integration project and from the context menu choose Import PI
Object.
2. In the Import PI Object dialog, select ES Repository below the object type you want to import.
For example, if you want to import operation mappings, select ES Repository below Operation Mapping
object type.
3. Choose Next.
4. In the Import Mappings from ES Repository dialog, select one or more objects and choose Finish.
Results
The imported objects are placed under their respective src.main.resources.<object> folder. For example,
check the imported mapping under src.main.resources.mapping and imported interface under
src.main.resources.wsdl.
WSDLs/XSDs corresponding to Message Types and Fault Message Types are placed under
src.main.resources.mapping folder, other interfaces get placed under src.main.resources.wsdl.
The imported operation mapping has the following features:
● If operation mapping contains message mapping, then the message mapping is downloaded as a jar under
src.main.resources.mapping package.
● If the operation mapping contains XSLTs, then the files are downloaded as .xsl under
src.main.resources.mapping.
● Imported source or target WSDLs are not supported in integration flows.
16
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
2.3.4
Modifying an Integration Flow Model
Context
You perform this task if you want to modify the existing integration flow model. For example, if the templates
provided by SAP do not exactly match your requirement, you can modify the integration flow created from the
templates while adhering to SAP's modeling constraints.
To add integration flow elements, you can drag the notations for systems, connections, mappings, routers,
and so on, from the palette and drop it at the required location of the integration flow model in the graphical
editor. Alternatively, you can add elements, such as mapping and split, to the integration flow model using the
context menu options available on the connections of the model.
Note
The integration flow should match the SAP supported scenarios to avoid deployment failure.
Example
Consider an example which requires you to model an integration flow with multiple pools. The scenario with
multiple pool may involve any of the following:
● Hosting same endpoint with different connectors, such as SFTP and SOAP connector
● Polling content from different servers
● Grouping similar integration logic that uses different interfaces
The list of elements that you require to model a multiple pool integration flow are:
1. One Sender element
2. N Receiver elements
3. N Integration Process pools for each incoming message from the Sender to a Receiver
4. N Message Flows from the Sender to the Start Message element in the Integration Process pool. This
indicates N incoming message.
5. N Message Flows from each End Message element in the Integration Process pool to the corresponding
Receivers. This indicates N outgoing message flows.
6. Finally, Sequence Flows to connect the Start Message and End Message within each pools. This
completes the integration flow modeling.
Procedure
1. Open the <integration flow>.iflw in the Model Configuration editor.
2. To modify the graphical diagram using the notations in the Palette, follow the substeps below:
a. If the Palette pane is hidden in the Model Configuration editor, choose Show Palette arrow at the right
edge of the editor.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
17
b. Choose the required BPMN notation to modify the integration flow model.
3. To modify the graphical diagram using the context menu options, follow the substeps below:
a. In the Model Configuration editor, right-click on the connections within the pool.
b. From the context menu, choose the necessary action to add an element. For example, Add Routing
adds an Exclusive Gateway notation to your graphical diagram that can be used either as a receiver
router or an interface router.
c. Save the changes.
2.3.5
Saving Integration Flow as a Template
Prerequisites
You have specified the location path to store the user-defined templates at
HANA Cloud Integration
Windows
Preferences
SAP
Personalize .
Context
You perform this task to save an integration flow as a template. The integration flow saved as template retain
the attribute values so that you can reuse the template for similar configuration scenarios.
Procedure
1. In the Project Explorer view, open the <integration flow>.iflw from your project.
2. From the main menu, choose
File
Save As… .
3. In the Save As Integration Flow Template dialog, enter a name for the template.
4. If you want to retain the externalized parameters in the template then select Retain the externalized
parameter(s) option.
Note
If the integration flow contains externalized parameters and you do not select this option, the
integration flow gets saved with the most recent values you have assigned to the externalized
parameters.
5. Choose OK.
18
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Results
You can find the new template in the location you have mentioned in the Preferences page. When you create
the integration flow using the template, you can find the saved configurations.
2.3.6
Using Custom Functions in Message Mapping
Prerequisites
Make sure you have created a valid Integration project with Message Mapping associated scripts.
Context
In Message Mapping, you can create your own custom functions by using groovy scripts and use them as
required. You can use custom functions from the function palette for modeling the mapping expressions.
Procedure
1. In the Project explorer view, select src.main.resources.mapping package.
2. In the context menu of src.main.resources.mapping, choose
New
Other .
The New dialog box appears.
3. Choose
Message Mapping
Next .
The New Message Mapping dialog box appears.
4. In the General Details section, enter the message mapping name in the Name field.
5. In the Location Details section, select the project name using Browse…
The path of the selected project gets added to the Path field, and the selected message mapping page
opens.
6. In the Signature section of the message mapping, select the Source Element (.xsd) and Target Element
(.xsd) by choosing Add…
7. In the Properties section, double-click the Definition tab to see the message mapping.
The Standard Functions and Custom Functions appear on the function palette of the Properties section.
8. Choose Custom Functions.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
19
Note
In the Properties section, if you do not find any groovy scripts under Custom Functions in the function
palette, then can add an existing groovy script or create a new groovy script.
9. In the context menu of Custom Functions, choose Add to use and existing groovy script file.
The Add Script dialog box appears.
a. Select a groovy script (.gsh) file, and choose OK.
The selected groovy script along with all the functions that fulfill the message mapping requirements
appear under Custom Functions in the functions palette.
10. In the context menu of Custom Functions, choose Create to create a new groovy script file.
The New Mapping Script dialog box appears.
a. Enter or select the parent folder for the new groovy script file.
b. Enter the name of the new groovy script file in the File name field.
c. Choose Finish.
The new groovy script file appears under Custom Functions in the function palette. You can expand
the new groovy script to see all the functions under it.
In the function palette, you can select any groovy script under Custom functions and you can use it
and customize it according to your requirements.
11. If you want to add a function to the Expression editor, select a function under the groovy script in the
function palette.
12. Drag and drop the function from the groovy script to the text area of the expression editor.
13. You can define your mapping logic by using your custom functions.
14. Choose
File
Save .
Note
○ You can validate your mapping and check for errors by viewing the Problems tab, or Console tab, or
Error log tab. If your mapping has any errors, then they are displayed with error markers
.
○ In the function palette, if you have used a function from one of your scripts under Custom
Functions, and if that script is removed is from the functions palette, then an error marker
displayed.
is
○ You can access the Message Processing logs using
messageLogFactory.getMessageLog(context);. For access specific logs, please refer
Javadocs.
○ When you launch Eclipse, if you do not see your local workspace, choose
Other...
20
File
Switch workspace
and select the required workspace.
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
2.3.6.1
Guidelines for Creating Groovy Script using
Custom Functions
If you want to add a groovy script to a Message Mapping function palette, ensure that the following conditions
are fulfilled:
● Make sure that each function has at least one argument, and also make sure that their type is also
declared along with it.
● Any groovy script supports only String, Int,Float, or Boolean. Make sure that the groovy script
contains these types only.
● Make sure that the function’s return type is specified and that it can only be a String.
● Functions which you declare as private cannot be seen in the Message Mapping function palette, but it can
be used in other functions internally.
● You can use JAR files in your functions to achieve a certain functionality.
Example
import com.sap.it.api.mapping.MappingContext
def String extParam(String P1,String P2,MappingContext context) {
String value1 = context.getHeader(P1);
String value2 = context.getProperty(P2);
return value1+value2;
}
2.4
Configuring an Integration Flow
Context
You perform this task to configure an integration flow to represent a specific scenario.
You configure the integration flow by adding elements to the graphical model and assigning values to the
elements relevant to the scenario. The basic integration flow requires you to configure the sender and receiver
channels to enable a point-to-point process flow from the sender to a receiver.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
21
The figure below helps you understand how a scenario is configured using an integration flow and is followed
by an explanation:
The scenario involves communication of System A with System P and System Q, where System A sends
messages to System P and System Q.
System A and System P have different communication protocols, whereas, System Q requires additional field
information in the message format sent by System A. In such a case, you do the following configurations in the
integration flow:
● Create an integration flow with a gateway branching out to two receivers.
● Configure conditions to route messages to the correct receiver.
● Place a mapping component in the communication between System A and System Q
After configuration, the resulting integration flow should be similar to the example shown below:
22
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
2.4.1
Assigning the Sender and Receiver Participants
Context
You perform this task to assign the sender participant and receiver participant to the integration flow. To allow
the sender participant to connect to the Enterprise Service Bus, you have to provide either the client
certificates or authenticate using the SDN username and password.
Procedure
1. Assign the Sender Participant
a. In the Model Configuration editor tab page, select the sender.
b. In the Properties page, enter a name for the sender system that may represent a single participant or a
group of logically related participants in a communication.
c. Either select Basic Authentication option or provide a client certificate in the Sender Authorization
table to authenticate the sender.
Note
You can either browse for the client certificate, for example <UserID>.crt, from your local file
system or add and enter the Subject DN (information used to authorize the sender) and Issuer DN
(information about the Certificate Authority who issues the certificate) manually.
d. In the Sender Authorization section, choose Add… to browse and add an authorized client certificate
or enter the Subject DN and Issuer DN manually.
Note
To quickly add an authorized client certificate from the Model Configuration editor tab page, select
Import Certificate from the context menu of the sender element.
e. Save the changes.
2. Assign the Receiver Participant
a. In the Model Configuration editor page, select the receiver.
b. In the Properties page, enter a name for the receiver system.
c. Save the changes.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
23
2.4.2
Defining Channels
Prerequisites
● You have configured connections to an On-Premise repository if you have to obtain interface WSDL from
the repository into this project.
Note
You can import service interfaces from ES Repository with server version 7.1 onwards. The imported
service interface WSDLs get added to src.main.resources.wsdl.
For more information on setting the connections to the repository, see Setting the Connections to OnPremise Repository under Configuring the Tool Settings [page 11].
● If you want to use a WSDL available in your local file system, you have copied the file under
src.main.resources.wsdl in your project.
Context
You perform this task to enable communication between the sender and receiver participants by defining
connectors for the sender and receiver channels of the integration flow.
Procedure
1. In the Model Configuration editor page, select the sender or receiver channel (dotted lines at sender and
receiver side).
2. To configure the channel with a saved configuration that is available as a template, choose Load Channel
Template from the context menu of the channel.
3. To specify new configurations, follow the instructions mentioned in the adjacent topic for the required
connector.
Tip
If you want to reuse the connector configurations for channels that are within or across integration
flows, then select the Copy and Paste option from the context menu of the channel.
4. To save the configurations of the channel as a template, choose Save as Template from the context menu
of the channel.
Note
When you save the configuration of the channel as a template:
24
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
○ The tool stores the template in the workspace as <ElementTemplateName>.fst.
○ The tool saves the parameter key of the externalized parameters and not the values.
2.4.2.1
Configuring a Channel with Mail Adapter
The receiver mal adapter allows you to send out encrypted messages by e-mail.
Context
You configure the receiver mail adapter to send out encrypted messages by e-mail.
Procedure
1. In the Model Configuration editor, double-click the receiver channel.
2. In the Adapter Type section of the General tab page, select Mail from the Adapter Type dropdown.
3. Choose the
Adapter-Specific
General
tab page and enter the details as shown in the table below:
Table 6: Parameters and Values of Receiver Mail Adapter (General)
Section
Parameters
Description
Connection
Details
Address
Specifies the host name and optionally a port number of the SMTP
server.
An external mail server can be used.
Use one of the following open ports for external mail servers:
○
587 for SMTP+STARTTLS
○
465 for SMTPS
Note that if only the host name is specified, the default SMTP port 25 is
assumed. To use a different port, the format <host>:<port> must be
entered.
When you use GMail Server, make sure that during server configuration
you allow insecure applications (GMail considers only communication
based on OAuth2 as secure).
Timeout (in ms)
Specifies the network timeout for the connection attempt to the server.
This is only used for Transmission Control Protocol (TCP), there is no
timeout for SMTP commands.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
25
Section
Parameters
Description
Protection
Controls whether encryption is used. The possible values are:
○
STARTTLS Mandatory
If the server does not support the STARTTLS command, the con­
nection fails.
○
STARTTLS Optional
If the server supports the STARTTLS command, the connection is
upgraded to Transport Layer Security encryption. This works with
the normal port 25.
○
SMTPS
The TCP connection to the server is encrypted using SSL/TLS.
This usually requires an SSL proxy on the server side and access to
the port it runs on.
○
Off
No encryption is initiated, whether the server requests it or not.
Authentication
Specifies which mechanism is used to authenticate against the server
with a user name and password combination. Possible values are:
○
None
○
Plain User Name/Password
No authentication is attempted. No credential can be chosen.
The user name and password are sent in plain text. It is not recom­
mended to use this method over a public or insecure network with­
out a protected connection , but it may be necessary if the server
does not support SSL or other authentication mechanisms.
○
CRAM-MD5
The user name and password are hashed before being sent to the
server. This mechanism is secure even without encryption.
Mail Attributes
Credential Name (only in
case CRAM-MD5 or Plain
User Name/Password
has been chosen for
Authentication)
Specifies the name of a deployed credential to use for authentication (if
one of the mechanisms in Authentication Method is selected).
From
E-mail address that the message comes from.
To
E-mail address that the message is sent to.
Cc
Additional e-mail addresses that the e-mail is to be sent to.
These addresses are visible to the receiver.
Bcc
Additional e-mail addresses that the e-mail is to be sent to.
These addresses are not visible to the receiver.
Attachments
26
Subject
Subject of the e-mail message.
Mail Body
Specifies the text of an electronic mail message.
Name
Specifies the file name of the attachment.
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Section
Parameters
Description
Mime-Type
The Multipurpose Internet Mail Extensions (Mime)-Type Specifies data
format of the email.
You can select from the following Mime-Types:
Source
○
Text/Plain
○
Text/CSV
○
Text/HTML
○
Application/XML
○
Application/JSON
○
Application/Octet-Stream
Specifies the source of the data - either Body, meaning the body of the
input message, or Header, meaning a header of the input message.
Header Name
If the source is Header, this specifies the name of the header that is at­
tached.
4. Choose the
Adapter-Specific
Security
tab page and enter the details as shown in the table below:
Table 7: Parameters and Values of Receiver Mail Adapter (Security)
Section
Parameters
Description
Security
Encryption Type
This parameter configures an encryp­
tion scheme used for sending e-mails.
The message body and attachments
are encrypted with the selected
scheme and can only be decrypted by
the intended recipients.
Content Encryption Algorithm
Specifies the symmetric (block) ci­
pher. DESede should only be chosen
if the destination system or mail client
does not support AES.
Secret Key Length
Specifies the key size of the previ­
ously chosen symmetric cipher. To in­
crease the security choose the maxi­
mum key size supported by the desti­
nation.
Receiver Public Key Alias
Specify an alias for the public key that
is to be used to encrypt the message.
This key has to be part of the tenant
keystore.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
27
2.4.2.2
Configuring a Channel with IDoc (IDoc SOAP)
Adapter
Context
The IDoc with SOAP message protocol is used when a system needs to exchange IDoc messages with another
system that accepts data over SOAP protocol.
Procedure
1. If you are configuring the sender channel, ensure the sender authorization certificate is specified by
following the steps:
a. In the Model Configuration editor, select the sender.
b. In the Properties view, check if the certificate is available in the Sender Authorization table, or add a
certificate.
2. In the Model Configuration editor, double-click the sender or receiver channel.
3. Choose the General tab page and enter the details listed below.
4. In the Adapter Type field, browse and select the IDoc adapter and Message Protocol as IDoc SOAP.
5. Choose the Adapter Specific tab page and enter the details as shown in the table below:
Table 8: Parameters and Values of Sender IDoc (IDoc SOAP) Adapter
Section
Parameters
Description
Connection
Details
Address
Relative endpoint address on which ESB Bus listens to the incoming re­
quests, for example, /HCM/GetEmployeeDetails.
URL to WSDL
Specifies the URL to the WSDL that defines the WS provider endpoint
(of the tenant as the receiver of messages). The WSDL can be down­
loaded using the Integration Operations user interface (in the
Properties view, Services tab, under the integration flow-specific end­
point). For newly deployed integration flows, the WSDL that is gener­
ated by the download corresponds to the endpoint configuration in the
integration flow.
Table 9: Parameters and Values of Receiver IDoc (IDoc SOAP) Adapter
28
Section
Parameters
Description
Connection Details
Address
Endpoint address on which the ESB
Bus posts the outgoing message, for
example http://<host>:<port>/
payment.
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Section
Parameters
Description
URL to WSDL
URL to the WSDL defining the WS
provider endpoint (of the receiver).
You can provide the WSDL by:
IDoc Content Type
○
Directly entering /wsdl/<interfa­
cename>.wsdl where the WSDL
is available in src.main.resour­
ces.wsdl.
○
Selecting a source to browse for
a WSDL, either from an OnPremise ES Repository or your
local workspace.
Application/x-sap.doc
○
Allows only single IDoc record for
each request
○
Enables Exactly-Once processing
○
Enables message sequencing
Text/XML
○
Request Timeout
Allows multiple IDoc records for
each request
Specifies the time (in milliseconds)
that the client will wait for a response
before the connection is being inter­
rupted.
The default value is 60000 millisec­
onds (1 minute).
Compress Message
Enables the WS endpoint to send
compressed request messages to the
WS Provider and to indicate the WS
Provider that it can handle com­
pressed response messages.
Allow Chunking
Used for enabling HTTP chunking of
data while sending messages.
Connect using Basic Authentication
Select this option to allow the ESB to
connect to the receiver system using
the deployed basic authentication
credentials. When you select this op­
tion, you need to provide the creden­
tial name.
Credential Name: Enter the credential
name of the username-password pair
specified during the deployment of
basic authentication credentials on
the cluster.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
29
Section
Parameters
Description
Private Key Alias
Allows you to enter the private key
alias name that gets the private key
from the keystore and authenticates
you to the receiver in an HTTPs com­
munication.
If you have selected the option of
Connect using Basic Authentication,
this field is not visible.
6. Save the changes.
Results
In the Model Configuration editor, when you place the cursor on the sender or receiver message flows, you can
see the SOAP Address and WSDL information.
2.4.2.3
Configuring a Channel with SOAP (SAP RM)
Adapter
Context
You perform this task to configure a sender or receiver channel with the SOAP communication protocol, with
SAP RM as the message protocol. SAP RM is a simplified communication protocol for asynchronous Web
service communication that does not require the use of Web Service Reliable Messaging (WS-RM) standards.
It offers a proprietary extension to ensure reliability on the ABAP back-end side of both Web service
consumers and providers. For more information, see http://wiki.scn.sap.com/wiki/display/ABAPConn/Plain
+SOAP
Procedure
1. Choose the General tab page and enter the details below.
2. In the Adapter Type field, browse and select the SOAP adapter, and SAP RM as the Message Protocol.
3. Choose the Adapter Specific tab page and enter the details as shown in the table below:
30
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Table 10: Parameters and Values of Sender SOAP (SAP RM) Adapter
Section
Parameters
Description
Connection
Details
Address
Relative endpoint address at which the ESB listens to the incoming
requests, for example, /HCM/GetEmployeeDetails.
URL to WSDL
Specifies the URL to the WSDL that defines the WS provider end­
point (of the tenant as the receiver of messages). The WSDL can be
downloaded using the Integration Operations user interface (in the
Properties view, Services tab, under the integration flow-specific
endpoint). For newly deployed integration flows, the WSDL that is
generated by the download corresponds to the endpoint configura­
tion in the integration flow.
Robust One Way
Communication
Used for reliable one-way message exchanges. The consumer
sends a message to a provider (in this case the channel), which re­
turns a status. A fault is returned if processing fails.
Table 11: Parameters and Values of Receiver SOAP (SAP RM) Adapter
Section
Parameters
Description
Connection Details
Address
Endpoint address at which the ESB posts the outgoing message,
for example http://<host>:<port>/payment.
Proxy Type
The type of proxy that you are using to connect to the target
system.
Select Internet if you are connecting to a cloud system.
Select On-Premise if you are connecting to on-premise system.
For more information, see Using SAP HANA Cloud Connector
with HCI Adapters [page 78].
URL to WSDL
URL to the WSDL defining the WS provider endpoint (of the re­
ceiver). You can provide the WSDL as follows:
○
Enter /wsdl/<interfacename>.wsdl directly if the WSDL is
available in src.main.resources.wsdl.
○
Select a source to browse for a WSDL either from an onpremise ES Repository or your local workspace.
Service Name
Name of the selected service contained in the referenced WSDL.
Port Name
Name of the selected port of a selected service (that you pro­
vide in the Service Name field) contained in the referenced
WSDL.
Note
Using the same port names across receivers is not sup­
ported. To use the same port names, you need to create a
copy of the WSDL and use it.
Operation Name
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Name of the operation of the selected service (that you provide
in the Service Name field) contained in the referenced WSDL.
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
31
Section
Parameters
Description
Private Key Alias
Allows you to enter the private key alias name that gets the pri­
vate key from the keystore and authenticates you to the receiver
in an HTTPS communication.
Note
If you have selected the Connect using Basic Authentication
option, this field is not visible.
Compress Message
Enables the WS endpoint to send compressed request mes­
sages to the WS provider and to indicate to the WS provider that
it can handle compressed response messages.
Allow Chunking
Used for enabling HTTP chunking of data while sending mes­
sages.
Request Timeout
Specifies the time (in milliseconds) that the client will wait for a
response before the connection is interrupted.
The default value is 60000 milliseconds (1 minute).
Connect using Basic
Authentication
Select this option to allow the ESB to connect to the receiver
system using the deployed basic authentication credentials. If
you select this option, you need to provide the credential name.
Credential Name: Enter the credential name of the user namepassword pair specified during the deployment of basic authen­
tication credentials on the cluster.
4. Save the configurations in both the sender and receiver channel editors.
Results
In the Model Configuration editor, when you place the cursor on the sender or receiver message flows, you can
see the SOAP Address and WSDL information.
2.4.2.4
Configuring a Channel with SOAP (SOAP 1.x)
Adapter
Prerequisites
Since the adapter implements web services security, you have ensured that the related certificates are
deployed in the truststore.
32
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Context
SOAP (SOAP 1.x) allows you to deploy web services that support SOAP 1.1 and SOAP 1.2. SOAP 1.x provides
you a framework for binding SOAP to underlying protocols. The binding specification in the WSDL defines the
message format and protocol details for a web service.
Procedure
1. If you are configuring the sender channel, ensure the sender authorization certificate is specified by
following the steps below:
a. In the Model Configuration editor, select the sender.
b. In the Properties view, check if the certificate is available in the Sender Authorization table, else add a
certificate.
2. In the Model Configuration editor, double-click the sender or receiver channel.
3. In the Adapter Type section of the General tab page, select SOAP from the Adapter Type dropdown and
select SOAP 1.x as the message protocol.
4. Choose the Adapter-Specific tab page and enter the details as shown in the table below:
Table 12: Parameters and Values of Sender SOAP (SOAP 1.x) Adapter
Section
Parameters
Description
Connection
Details
Address
Relative endpoint address on which ESB Bus listens to the incoming re­
quests, for example, "/HCM/GetEmployeeDetails".
URL to WSDL
Specifies the URL to the WSDL that defines the WS provider endpoint
(of the tenant as the receiver of messages). The WSDL can be down­
loaded using the Integration Operations user interface (in the
Properties view, Services tab, under the integration flow-specific end­
point). For newly deployed integration flows, the WSDL that is gener­
ated by the download corresponds to the endpoint configuration in the
integration flow.
Service Name
Name of the selected service contained in the referenced WSDL
Port Name
Name of the selected port of a selected service (that you provide in the
Service Name field) contained in the referenced WSDL
Processing Settings
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
○
Standard: Message is executed with standard processing mecha­
nism
○
Robust: Provider invokes service synchronously and the process­
ing errors are returned to the consumer.
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
33
Section
Parameters
Description
WS-Security
(Web Services
Security)
WS-Security
Configuration
Specifies the way how WS-Security settings are to be configured.
○
Via Manual Configuration in Channel
The security settings are manually to be configured (see below
listed attributes).
○
None
No WS-Security is applied for message exchange.
If you select this option, no further WS-Security-relevant settings
can be applied.
WS-Security Type
Specifies the combination of message protection methods that are to
be applied. There are the following options:
○
Verify Message
A signed payload is expected by the tenant, and the signature has
to be verified.
○
Verify and Decrypt Message
A signed and encrypted payload is expected by the tenant. The sig­
nature has to be verified and the payload has to be decrypted.
Save Incoming Signed
Message
Select this option if the incoming signed (and encrypted) message is to
be stored.
Check Time Stamp
Select this option, if the sender (WS consumer) sends a time stamp
along with the message.
In case a request-response pattern is configured, a time stamp is added
to the response message.
Sender is Basic Security
Profile Compliant
As default setting, select this option.
This option should be selected in case the sender system supports a
dedicated security level which is described by the Basic Security Profile
(as assumed to be the case for most systems). Only in case the sender
system does not support this security profile, de-select this option.
Private Key Alias for
Response Signing
Specify an alias for the private key that is to be used to sign the re­
sponse message.
The tenant private key is used to sign the response message (that is
sent to the WS consumer). The tenant private key has to be part of the
tenant keystore.
Public Key Alias for
Response Encryption
Specify an alias for the public key that is to be used to encrypt the re­
sponse message.
(only in case Verify and
The sender (WS consumer) public key is used to sign the response
Decrypt Message is se­
message (that is sent to the WS consumer). This key has to be part of
lected for WS-Security
the tenant keystore.
Type)
34
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Section
Parameters
Initiator Token
Description
○
Include Strategy
Pre-set value Always to Recipient ensures that the WS consumer
sends the certificate along with the message.
○
X509 Token Assertion
Defines the format of the certificate being sent by the WS con­
sumer along with the message.
Recipient Token
Include Strategy
Value Always to Initiator adds the certificate to the response message.
Algorithm Suite Assertion Specifies which algorithms are to be used by the WS consumer.
Table 13: Parameters and Values of Receiver SOAP (SOAP 1.x) Adapter
Section
Parameters
Description
Connection
Details
Address
Endpoint address on which the ESB Bus posts the outgoing message,
for example http://<host>:<port>/payment.
URL to WSDL
URL to the WSDL defining the WS provider endpoint (of the receiver).
You can provide the WSDL by:
○
Directly entering /wsdl/<interfacename>.wsdl where the WSDL is
available in src.main.resources.wsdl.
○
Selecting a source to browse for a WSDL either from an On-Prem­
ise ES Repository or your local workspace.
Service Name
Name of the selected service contained in the referenced WSDL
Port Name
Name of the selected port of a selected service (that you provide in the
Service Name field) contained in the referenced WSDL .
Same port names across receivers is not supported. To use the same
port names, you need to create a copy of the WSDL and use it.
Operation Name
Name of the operation of selected service (that you provide in the Serv­
ice Name field) contained in the referenced WSDL.
Request Timeout
Specifies the time (in milliseconds) that the client will wait for a re­
sponse before the connection is being interrupted.
The default value is 60000 milliseconds (1 minute).
Compress Message
Enables the WS endpoint to send compressed request messages to the
WS Provider and to indicate the WS Provider that it can handle com­
pressed response messages.
Allow Chunking
Used for enabling HTTP chunking of data while sending messages.
Connect without Client
Authentication
Allows you to connect anonymously to the receiver system.
Select this option if your server allows connections without authentica­
tion at the transport level.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
35
Section
Parameters
Description
Connect using Basic
Authentication
Select this option to allow the ESB bus to connect to the receiver sys­
tem using the deployed basic authentication credentials. When you se­
lect this option, you need to provide the credential name.
Credential Name: Enter the credential name of the username-password
pair specified during the deployment of basic authentication credentials
on the cluster.
Private Key Alias
Allows you to enter the private key alias name that gets the private key
from the keystore and authenticates you to the receiver in an HTTPs
communication.
If you have selected the option of Connect using Basic Authentication,
this field is not visible.
WS-Security
(Web Services
Security)
WS-Security
Configuration
Specifies the way how WS-Security settings are to be configured.
○
Via Manual Configuration in Channel
The security settings are manually to be configured (see below
listed attributes).
○
Based on Policies in WSDL
The security settings are specified as part of the receiver endpoint
(within the endpoint WSDL) in elements as defined by the WS-Pol­
icy standard.
○
None
No WS-Security is applied for message exchange.
Credential Name
(only configurable when
for WS-Security
Configuration the option
Based on Policies in
WSDL is selected)
Username Token
Specifies the way how Username Token is to be configured. Select this
option to authenticate at message level based on a user ID and a pass­
word.
○
Plain Text Password
The Password is transferred in plain text (https encrypted).
○
Hashed Password (Password Digest)
Cryptographic hash function is applied for password.
○
None
No User Name Token is applied.
If you have selected the option Plain Text Password or Hashed
Password (Password Digest), enter the credential name, that is, the
alias that was assigned to the authorized user and password during ten­
ant deployment.
36
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Section
Parameters
Description
WS-Security Type
Specifies the combination of message protection methods that are to
be applied. There are the following options:
○
Sign Message
Tenant signs the payload.
○
Sign and Encrypt Message
Tenant signs and encrypts the payload.
○
None
No WS-Security Type is applied.
Set Time Stamp
Select this option to send a time stamp along with the message.
(only configurable when
In case a request-response pattern is configured, a time stamp is ex­
for WS-Security
pected in the response message.
Configuration the option
Via Manual Configuration
in Channel is selected)
Sender is Basic Security
Profile Compliant
As default setting, select this option.
This option should be selected in case the sender system supports a
dedicated security level which is described by the Basic Security Profile
(as assumed to be the case for most systems). Only in case the sender
system does not support this security profile, de-select this option.
Private Key Alias for
Signing
Specify an alias for the tenant private key that is to be used to sign the
message.
The tenant private key is used to sign the request message (that is sent
to the WS provider (receiver)). The tenant private key has to be part of
the tenant keystore.
Public Key Alias for
Encryption
Specify an alias for the public key that is to be used to encrypt the mes­
sage.
(only configurable when
The receiver (WS provider) public key is used to encrypt the request
for WS-Security Type the message (that is sent to the receiver). This key has to be part of the ten­
option Sign and Encrypt
ant keystore.
Message is selected)
Initiator Token
(only configurable when
These entries define policies for the WS consumer.
○
Value Always to Recipient ensures that the WS consumer sends
for WS-Security
Configuration the option
Via Manual Configuration
in Channel is selected)
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Include Strategy
the certificate along with the message.
○
X509 Token Assertion
Defines the format of the certificate being sent by the WS con­
sumer along with the message.
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
37
Section
Parameters
Description
Recipient Token
These entries define policies for the WS consumer.
(only configurable when
○
Value Always to Initiator adds the certificate to the response mes­
for WS-Security
Configuration the option
Via Manual Configuration
in Channel is selected)
Include Strategy
sage.
○
X509 Token Assertion
Defines the format of the certificate being sent by the WS consumer
along with the message.
Layout
○
Strict
Items are added to the security header following numbered layout
rules according to a general principle of 'declare before use'.
○
Lax
Items are added to the security header in any order that conforms
to WSS: SOAP Message Security
Algorithm Suite
Assertion
Specifies which algorithms are used by the WS consumer
5. Save the configurations in both the sender and receiver channel editors.
In the Model Configuration editor, when you place the cursor on the sender or receiver message flows, you
can see the SOAP Address and WSDL information.
Related Information
WS-Security Configuration for the Sender SOAP 1.x Adapter [page 38]
WS-Security Configuration for the Receiver SOAP 1.x Adapter [page 39]
2.4.2.4.1
WS-Security Configuration for the Sender SOAP
1.x Adapter
You use a sender channel to configure how inbound messages are to be treated at the tenant’s side of the
communication.
With regard to WS-Security in a sender channel, you specify the following:
● How the tenant verifies the payload of an incoming message (signed by the sender)
● How the tenant decrypts the payload of an incoming message (encrypted by the sender)
38
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
The following figure illustrates the setup of components:
The sender SOAP 1.x adapter allows the following combination of message-level security options:
● Verifying a payload
● Verifying and decrypting a payload
2.4.2.4.2
WS-Security Configuration for the Receiver SOAP
1.x Adapter
With a receiver channel you configure the outbound communication at the tenant’s side of the
communication.
With regard to WS-Security in a sender channel you specify the following:
● How the tenant signs the payload of a message (to be verified by the receiver)
● How the tenant encrypts the payload of a message (to be decrypted by the receiver)
The following figure illustrates the setup of components.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
39
The receiver SOAP 1.x adapter allows to configure the following combinations of message security methods:
● Signing a payload
● Signing and encrypting a payload
Configuration Options for WS-Security
Signing and encryption (and verifying and decryption) is based on a specific set up of keys as illustrated in the
figures. Moreover, for the message exchange, specific communication rules apply as been aggreed between
Web service client and Web service provider (for example, if certificates are to be sent with the message).
There are two options how these security and communication settings can be specified:
● Based on Policies in WSDL
Using this option, the security settings are specified as part of the receiver endpoint (within the endpoint
WSDL) in elements as defined by the WS-Policy standard
That way you can specify, for example, within the WSDL that certificates for message level security are
sent with the message.
For more information on the WS-Policy standard, see: http://docs.oasis-open.org/ws-sx/wssecuritypolicy/v1.3/os/ws-securitypolicy-1.3-spec-os.html .
● Manual Configuration in Channel
Using this option, you specify the required settings in the channel.
The naming of the available attributes corresponds to the terminology used in the WS-Policy specification.
If you use manual configuration, a sub set of the options as defined by the standard is supported. For more
information on the standard, see http://www.w3.org/TR/ws-policy/
and http://docs.oasisopen.org/ws-sx/ws-securitypolicy/200702/ws-securitypolicy-1.2-spec-os.pdf .
40
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
2.4.2.5
Configuring a Channel with HTTP Adapter
The HTTP adapter allows you to configure an outbound HTTP connection from SAP HANA Cloud Integration to
a receiver.
Context
You can only configure a channel with the HTTP adapter type for outbound calls (from the tenant to a receiver
system).
Note
If you want to dynamically override the configuration of the adapter, you can set the following headers
before calling the HTTP adapter:
Table 14: Headers
Header
Description
CamelHttpUri
Overrides the existing URI set directly in the endpoint.
This header can be used to dynamically change the URI to be called.
Camel­
HttpQuery
Overrides the existing URI parameters set directly in the endpoint.
Content-Type
HTTP content type that fits to the message (such as text/html)
Content-Encod­
ing
HTTP content encoding that fits the encoding during message transport (such as gzip)
This header can be used to dynamically change the URI to be called.
Procedure
1. Choose the General tab page and, in the Adapter Type section, select HTTP from the Adapter Type
dropdown list.
2. Choose the Adapter Specific tab page and enter the values for the available parameters. The table below
gives a description of the fields and the possible values you can enter:
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
41
Table 15: Parameters and Values for the Receiver HTTP Adapter
Parameter
Address
Description
URL of the target system (receiver), for example,
https://mysystem.com.
Note that the authentication method Client
Certificate requires the HTTPS protocol. For Basic
authentication it is strongly recommended that you
use the HTTPS protocol.
If you have selected one of these authentication methods,
you therefore have to enter an https URL.
You can also specify HTTP parameters in the URL. How­
ever, if you select the HTTP method POST, parameters
are usually sent in the body. You therefore get a warning
message if you configure this parameter-value combina­
tion.
The following URL parameters are currently not allowed
for technical reasons:
○
throwExceptionOnFailure
○
bridgeEndpoint
○
transferException
○
client
○
clientConfig
○
binding
○
sslContextParameters
○
bufferSize
This parameter can be externalized.
Proxy Type
The type of proxy that you are using to connect to the tar­
get system.
Select Internet if you are connecting to a cloud system.
Select On-Premise if you are connecting to on-premise
system.
In case this function is not available for your account, ask
your SAP contact or create a ticket (component LOD-
HCI) to activate it.
Query
You can specify a query string to be transferred with the
HTTP request.
Query strings must not be entered in the Address field.
Note that the query string has to start with the character
& (ampersand).
This parameter can be externalized.
42
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Parameter
Description
HTTP Method
Defines the action to be performed by the HTTP request.
You can select one of the following values:
○
POST
Requests that the receiver accepts the data enclosed
in the request body.
○
GET
○
PUT
Sends a GET request to the receiver.
Updates or creates the enclosed data on the receiver
side.
Authentication Method
Defines how SAP HCI (as the HTTP client) will authenti­
cate itself against the receiver.
You can select one of the following authentication meth­
ods:
○
None
○
Basic
SAP HCI authenticates itself against the receiver us­
ing user credentials (user name and password).
It is a prerequisite that user credentials are specified
in a Basic Authentication artifact and deployed on
the related tenant using the Integration Operations
feature.
○
Client Certificate
SAP HCI authenticates itself against the receiver us­
ing a client certificate.
It is a prerequisite that the required key pair is instal­
led and added to a keystore. This keystore has to be
deployed on the related tenant using the Integration
Operations feature. The receiver side has to be con­
figured appropriately.
Credential Name
(only if the Basic authentication option is selected)
Private Key Alias
(only if the Client Certificate authentication option is se­
Identifies the Basic Authentication artifact that contains
the credentials.
Identifies the related key pair within the SAP HCI client
keystore.
lected)
Request Timeout
Specifies the time (in milliseconds) that the client will wait
for a response before the connection is interrupted.
The default value is 60000 milliseconds (1 minute).
3. Save the configuration in the receiver channel editor.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
43
Related Information
Using SAP HANA Cloud Connector with HCI Adapters [page 78]
2.4.2.6
Configuring a Channel with SFTP Adapter
The SFTP adapter uses the SSH protocol to transfer files.
Context
Unlike the standard FTP, the SFTP adapter uses a certificate and keystore to authenticate the file transfer. The
SFTP connector achieves secure transfer by encrypting sensitive information before transmitting it on the
network.
Note
The clock icon on a message flow indicates polling of messages at regular intervals.
Note
If you want to dynamically override the configuration of the adapter, you can set the following header before
calling the SFTP adapter:
Table 16: Headers
Header
Description
CamelFileName
Overrides the existing file and directory name that is set directly in the endpoint.
This header can be used to dynamically change the name of the file and directory to be called.
The following examples show the header CamelFileName, read via XPath from the payload, or set using an
expression:
Table 17: Example for Header
Name
Type
Data Type
Value
CamelFileName
xpath
java.lang.String
/p:<XYZ>MessageBulk/
<XYZ>Message/FileName/
text()
CamelFileName
expression
java.lang.String
<myapplication>/
template/out/output$
{date:now:yyyyMMddHHmm
ss}.xml
44
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Procedure
1. Right-click on a Sender Channel or Receiver Channel and choose Configure Channel.
2. In the Adapter Type section, choose Browse and select SFTP from the Choose Adapter menu.
3.
○ If you are configuring a Sender Channel, choose the Adapter Specific tab page and enter values for the
fields on the Source, Processing, Scheduler and Advanced tabs. The table below contains descriptions
of the fields and the possible values you can enter:
Table 18: Parameters and Values of Sender SFTP Adapter
Tab
Sections
Parameters
Description
Source
File Access Param­
eters
Directory
File path from where the file should be read, for exam­
ple, <dir>/<subdir>.
File Name
Name of the file to be read.
Note
If you do not enter a file name and the parameter re­
mains blank, all the files in the specified directory
are read. Regular expressions, such as ab*, a.*, *a*,
and so on are not supported.
Connection Param­ Address
eters
Host name or IP address of the SFTP server and an op­
tional port, for example, wdfd00213123:22.
User Name
ID of the user performing the file transfer.
Connection Time­
out (in ms)
Maximum time to wait for the SFTP server to be con­
tacted while establishing connection or performing a
read operation.
Default value: 10000 ms
Maximum Recon­
nect Attempts
Maximum number of attempts allowed to reconnect to
the SFTP server.
Default value: 3
Use 0 to disable this behavior.
Reconnect Delay
Length of time to wait before attempting to reconnect
to the remote SFTP server.
Default value: 1000 ms
Disconnect After
Processing
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Disconnect from the FTP server after each message
processing.
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
45
Tab
Sections
Parameters
Description
Processing
Processing Param­
eters
Read Lock Strategy Prevents files that are in the process of being written
from being read from the SFTP server. The endpoint
waits until it has an exclusive read lock on a file before
reading it.
Select one of the following options based on the capa­
bilities of the SFTP server:
46
○
None: Does not use a read lock, which means that
the endpoint can immediately read the file. None is
the simplest option if the SFTP server guarantees
that a file only becomes visible on the server once
it is completely written.
○
Rename: Renames the file before reading. The
Rename option allows clients to rename files on
the SFTP server.
○
Content Change: Monitors changes in the file
length/modification timestamp to determine if the
write operation on the file is complete and the file
is ready to be read. The Content Change option
waits for at least one second until there are no
more file changes. Therefore, if you select this op­
tion, files cannot be read as quickly as with the
other two options.
Change Directories
Stepwise
Changes directory levels one at a time.
Include Sub-Direc­
tories
Allows you to look for files in all the subdirectories of
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
the directory.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Tab
Sections
Parameters
Description
Post-Processing
Allows you to specify how files are to be handled after
processing.
You can select one of the following options:
○
Delete File
The file is deleted after it has been read.
○
Keep File and Mark as Processed in Idempotent
Repository
Enables an idempotent repository to prevent a file
from being consumed twice.
Select this option for SFTP servers that do not al­
low deletion or moving of files, but the files are to
be read only once.
You can select one of the following idempotent re­
pository options:
○
In Memory: Keeps the file names in the mem­
ory. Files are read again from the SFTP server
when the runtime node is restarted.
Note
If there is a system crash or disaster, this
data will be lost and cannot be recovered
later.
○
Database: Stores the file names in a database
to prevent the files from being read again
when the runtime node is restarted. File name
entries are deleted by default after 90 days.
Note
The database uses the server name, direc­
tory, and file name as key values to identify
files uniquely across integration flows of a
tenant.
○
Keep File and Process Again
The file is kept on the SFTP server and file process­
ing is repeated.
You can use this option, for example, for testing
purposes.
○
Move File
The file is moved to another directory. If you select
this option, you need to specify the target direc­
tory.
You can specify the target directory dynamically,
for example, using the timestamp of the message.
The following example uses backup folders with
timestamps and replaces the file extension with
bak:
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
47
Tab
Sections
Parameters
Description
backup/${date:now:yyyyMMdd}/$
{file:name.noext}.bak
Retry Threshold for If the number of attempts to retry polling a message
Alerting
from the SFTP server exceeds this threshold value, an
alert is raised. The default value '0' indicates that the
alert is not raised.
Note
If two or more sender channels are configured with
the SFTP connector, the value for the Alert
Threshold for Retry parameter should be the same.
Scheduler
Delay Parameters
Initial Delay (ms)
Delay before the polling of files starts.
Default: 1000 ms
Advanced
Advanced Parame­
ters
Recurrent Delay
(ms)
Delay before the next polling of files starts.
Use Fixed Delay
Controls whether a fixed delay or fixed rate is used.
Buffer Size (in KB)
Write file content using the specified buffer size.
Default: 500 ms
Default: 128 KB
Run Logging Level
Logs a start/complete log line on polling.
Default: TRACE
Maximum Mes­
sages per Poll
Maximum number of messages to gather per poll.
Default: 0
Example: 1000 can be set as a limit.
Note
When you use the sender SFTP adapter in combina­
tion with an Aggregator step and you expect a high
message load, consider the following recommenda­
tion:
Set the value for Maximum Messages per Poll to a
small number larger than 0 (for example, 20). This
ensures a proper message processing status log­
ging at runtime.
48
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Tab
Sections
Parameters
Description
Flatten Filenames
Flatten the file path by removing the directory levels so
that only the file names are considered and they are
written under a single directory.
○ If you are configuring a Receiver Channel, choose the Adapter Specific tab page and enter values for
the fields on the Target, Processing, and Advanced tabs. The table below contains descriptions of the
fields and the possible values you can enter:
Table 19: Parameters and Values of Receiver SFTP Adapter
Tab
Sections
Parameters
Description
Target
File Access Param­
eters
Directory
File path to which the file should be written, for exam­
ple, <dir>/<subdir>.
File Name
Name of the file to be written.
Append Timestamp
Append a timestamp to the filename
Address
Host name or IP address of the FTP server.
User Name
ID of the user performing the file transfer.
Timeout (in ms)
Maximum time (in ms) to wait for the FTP server to be
Connection Param­
eters
contacted while establishing connection or performing
a read operation.
Default value: 10000 ms
Maximum Recon­
nect Attempts
Maximum number of attempts allowed to reconnect to
the FTP server.
Default value: 3
Use 0 to disable this behavior.
Reconnect Delay (in Length of time to wait before attempting to reconnect
ms)
to the remote FTP server.
Default value: 1000 ms
Processing
Processing Param­
eters
Automatically Dis­
connect
Disconnect from the FTP server after each message
processing.
Change Directories
Stepwise
Changes directory levels one at a time.
Create Directories
Automatically creates missing directory levels as pro­
vided in the file's path name.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
49
Tab
Sections
Parameters
Description
Handling for Exist­
ing Files
If the file already exists in the target, allow the follow­
ing:
○
Override: Replace the existing file content with the
new one.
○
Append: Add the new file content to the end of the
existing one.
Advanced
Advanced Parame­
ters
Buffer Size (in KB)
○
Fail: Do not perform any action and raise a failure.
○
Ignore: Do not perform any action.
Write file content using the specified buffer size.
Default: 128 KB
Log Level
Logs a start/complete log line on polling.
Default: TRACE
Flatten Filenames
Flatten the file path by removing the directory levels so
that only the file names are considered and they are
written under a single directory.
Prevent Directory
Traversal
If the file contains any backward path traversals such
as \..\ or /../.. , this can lead to a potential risk of direc­
tory traversal. In such a case message processing is
stopped with an error. The unique message ID is log­
ged in the Message Processing Log.
Recommendation
We recommend that you specify the Directory and
File Name fields to avoid any security risks. If you
provide these fields, the header is not considered.
4. Save the configurations in both the sender and receiver channel editors.
In the Model Configuration editor, when you place the cursor on the sender or receiver message flows, you
can see the Server Host and Directory information.
Next Steps
Note
SFTP polling is supported in the following way: The same file can be polled by multiple endpoints configured
to use the SFTP channel. This means that you can now deploy an integration flow with a configured SFTP
channel on multiple runtime nodes (which might be necessary to meet failover requirements) without the
risk of creating duplicates by polling the same file multiple times. Note that to enable the new option,
integration flows (configured to use SFTP channels) that have been developed prior to the introduction of
this feature have to be regenerated.
50
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
This feature was introduced with the release of the Integration Designer in 03 2014.
2.4.2.7
Configuring a Channel with SuccessFactors
Adapter
Prerequisites
You have created an integration project and an integration flow.
To successfully run the Operations Modeler, your Java Virtual Machine (JVM) must contain the security
certificate recommended by the SuccessFactors system. Example: VeriSign Class 3 Public Primary
Certification Authority - G5 security certificate.
Note
First, you must verify if the JVM contains the security certificate that is used by SuccessFactors system. If
not, then download the certificate from the appropriate security certificate vendor and install it. You can
refer to JVM documentation for verifying and installing the security certificate on to your JVM. Ensure that
the IP addresses of the HCI run-time worker node and the systems you are using to connect to the
SuccessFactors system are in the list of allowed IP addresses.
Context
The SuccessFactors adapter provides three message protocols for you to communicate with the
SuccessFactors system. They are:
1. SOAP
2. OData V2
Note
This is available only for the receiver channel.
3. REST
You can choose the protocol you want based on the scenario you want to execute.
You need to provide the following details in order to communicate with the SuccessFactors system.
● Connection details – Details required to establish a connection with the SuccessFactors system
● Processing details – Information required to process your modeled operation
● Scheduler – Settings that enable you to schedule a data polling cycle at regular intervals
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
51
Note
The scheduler is available only for the sender channel.
Tip
You can use the Insert (POST) operation to insert more than one records in a single operation. These
records must have an edmx association between them.
Procedure
You use this procedure to configure a channel with SuccessFactors adapter.
1. Double-click the channel that you want to configure in the Model Configuration tab page.
2. Choose the General tab page and choose Browse in the Adapter Type screen area.
3. Select SuccessFactors in the Choose Adapter window and choose OK.
4. If you want to connect to SuccessFactors system using SOAP message protocol, perform the following
substeps:
a. Choose SOAP in Message Protocol field.
b. Choose the Adapter Specific tab page and enter values based on the description given in the table.
Table 20: Parameters & Values of SuccessFactors Adapter for SOAP
Section
Parameter
Description
Connection Details
Address
URL of the SuccessFactors data
center that you would like to con­
nect to.
Address Suffix
The system provides value for this
field based on the protocol you
choose. For SOAP, the value is /
sfapi/v1/soap.
Credential Name
Name of the system you use to es­
tablish the connection. You use the
same name to deploy credentials on
the cluster using Basic
Authentication. Refer to operations
guide for details on deploying cre­
dentials on the cluster.
Call Type
Type of call that HCI system makes
to the SuccessFactors system.
Processing Details
Choose Synchronous to perform
normal operations.
Choose Asynchronous to perform
adhoc operations
52
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Section
Parameter
Description
Operation Details
Entity: The Entity used to fetch data
from the system.
Operation: Query/Insert/Update/
Upsert
Query: SFQL (SuccessFactors
Query language) Query Type that is
used to communicate with Success­
Factors system.
Note
Query is the only operation avail­
able in sender channel. The
Model Operation button
launches the SuccessFactors
Query Language (SFQL) editor.
Refer to section SuccessFactors
Operations Modeler for more de­
tails
Page Size
This field is applicable only in case
of Query operation. This indicates
the number of records that the HCI
system reads from the SuccessFac­
tors system when the Operation is
executed.
If you find that the Operation is not
executing due to a time-out, reduce
the Page Size and execute the oper­
ation again.
c. If you want to add additional SFAPI parameters to the operation, in Parameters field, enter the
parameters in the format <key>=<value>. Separate the parameters using semicolon.
Note
You can specify the custom parameters in three ways:
<Key>=<value>;<key>=,value>
<header/property variable>=value;<header/property variable>=value
<header/property variable>;<header/property variable>; here, the variable contains both the key and
its value.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
53
Example
externalKeyMapping=costCenter;processinactiveEmployees=true
Example
${property.ECERP_PARAMETERS}=costCenter;${header.ECERP_PARAMETERS}=true
Example
${property.ECERP_PARAMETERS};${header.ECERP}, which contains the key-value pair.
5. If you want to use the OData services from SuccessFactors, perform the following substeps:
a. Choose ODataV2 in Message Protocol field.
b. Choose the Adapter Specific tab page and enter values for fields based on the description given in the
table.
Table 21: Parameters & Values of SuccessFactors Adapter for ODataV2
Section
Parameter
Description
Connection Details
Address
URL of the SuccessFactors data
center that you would like to con­
nect to.
Example: https://sales­
demo4.successfactors.com
Processing Details
54
Address Suffix
The system provides value for this
field based on the protocol you
choose. For ODataV2, the value is /
odata/v2.
Credential Name
Name of the system you use to es­
tablish the connection. You use the
same name to deploy credentials on
the cluster using Basic
Authentication. Refer to operations
guide for details on deploying cre­
dentials on the cluster.
Operation Details
Operation you have modeled using
the operations modeler
Request Payload Format
Format of the request payload. You
can select Atom or JSON
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Section
Parameter
Description
Page Size
This field is only applicable for Query
operation. This indicates the num­
ber of records that HCI system
reads from SuccessFactors system
when Operation is executed.
If you find that the Operation is not
executing due to a time-out, reduce
the Page Size and execute the oper­
ation again.
6. If you want to use REST message protocol, perform the following substeps:
REST message protocol is available only for the Learning Management Solution (LMS).
a. Choose REST in the Message Protocol field.
b. Choose the Adapter Specific tab page and enter values for fields based on the description given in the
table.
Table 22: Parameters & Values of SuccessFactors Adapter for REST
Section
Parameter
Description
Connection Details
Address
URL of the SuccessFactors REST
based LMS
Address Suffix
URL suffix for accessing Success­
Factors REST based LMS
Credential Name
Name of the system you use to es­
tablish the connection. You use the
same name to deploy credentials on
the cluster using OAuth2
Authentication. Refer to operations
guide for details on deploying cre­
dentials on the cluster.
Operation
Operation for the REST service.
Processing
Note
Only GET and POST operations
are currently supported.
Entity
LMS entity you are accessing
Note
You can obtain the entity name
by referring to the relevant API
documentation.some work
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
55
Section
Parameter
Description
Parameters
Parameter to be sent to the REST
service.
Example: creationDate=1&ac­
tive=true
Note
In case of the GET operation you
can fetch just the modified re­
cords in subsequent runs by us­
ing the condition lastModified­
Date=${deltasync.maxDate­
FromLastRun}.
Page Size
The number of records that are read
from SuccessFactors system in one
request
If you find that the Operation is not
executing due to a time-out, try exe­
cuting the Operation by reducing the
Page Size.
7. If you are configuring the sender channel, perform the following substeps to configure the scheduler:
a. Choose the Scheduler tab page.
b. Enter the scheduler details based on the description given in the table below.
Table 23: Parameters & Values of SuccessFactors Adapter Scheduler
56
Field
Description
Run once
Runs a data polling process immediately after deploy­
ing the project
On Date
Specific date on which the data polling process has to
be initiated to fetch data from the SuccessFactors sys­
tem
Daily
Run message polling every day to fetch data from the
SuccessFactors system
Weekly
Run the message polling every week on specified days
of the week to fetch data from the SuccessFactors sys­
tem.
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Field
Description
Monthly on Day
Execute the message polling every month on the speci­
fied date to fetch data from the SuccessFactors server.
Note
If the specified date is not applicable to a month, the
data polling is not executed in that specific month.
For example, if 30th day is selected in the month of
February, polling is not executed as 30th is not a
valid day for February.
Time
The time at which the data polling cycle has to be initi­
ated. For example, if you want the data polling to be
started at 4.1PM, enter 16:10. Note that the time must
be entered in 24-hour format.
Every xx minutes between HH hours and HH hours
The connector fetches data from the SuccessFactors
system, every ‘xx’ minutes between HH hours and HH
hours.
Note
If you want the polling to run for the entire day, enter
1 and 59.
Time Zone
Select the Time Zone that you want to use as reference
for scheduling the data polling cycle.
Caution
If a cluster is updated with the latest node assembly, it is restarted after the update. If you have
deployed projects on the cluster with scheduler settings, you face the following issues:
○ Run Once settings: If you have selected Run Once in the scheduler, the system deploys the
project after cluster is updated. This results in the system performing the operation again. You
see copies of the same result after cluster update.
○ Specific time schedule: If you have configured a specific date in the scheduler and those
projects are deployed again after cluster update, you might see those projects in error state.
To avoid this, you have to undeploy the project after the system executes the operation according
to the scheduler settings.
8. Save the changes.
Note
The password for connecting to the SuccessFactors system should be deployed onto the tenant via the
‘Credentials’ deployment wizard available in the Node Explorer.
Restriction
The SuccessFactors Adapter uses polling as a mechanism to fetch data from the SuccessFactors
system. An IFLMAP based integration flow, when deployed in HANA Cloud Integration, deploys in
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
57
multiple IFLMAP worker nodes. Polling is triggered from only one of the worker nodes. The message
monitoring currently displays the process status from the worker nodes where the scheduler is not
started. This results in the message monitor displaying messages with status less than 10ms, from the
worker nodes, where the schedule was not triggered. You can ignore the monitoring statuses.
Modeling SFQL Operations for connecting to SuccessFactors
SOAP WebService
Prerequisites
You have configured the sender or receiver channel of the SuccessFactors adapter.
Context
You use the SuccessFactors Model Operation feature to select the required entity, choose an operation and
specify the fields based on your business requirements. You can create SFQL (SuccessFactors Query
language) based fields list that is used to execute scenarios. You can also fetch the updated data after your
last successful data fetch run. This is called as 'Delta Sync'. Refer to Delta Sync scenarios for more details.
Note
If you are connecting to a system that supports https communication, you must ensure the following:
● Java development kit is installed on your system
● You have referred JDK in the Eclipse configuration file
Note
For information of referring JDK in Eclipse configuration file, refer to Eclipse documentation.
● You have imported the security certificate of the system you are connecting to your JDK keystore
Note
For information on importing certificate to JDK keystore, refer to JDK documentation.
You use this procedure to model a SFQL query.
Procedure
1. Choose the Adapter Specific tab page in the sender channel configuration.
58
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
2. Choose Model Operation in the Processing tab page.
3. Connect to the SuccessFactors system.
Use the following parameters to connect to the SuccessFactors test or development environment to fetch
the SuccessFactors API details and choose Next.
Table 24:
Field
Data to be Filled
Address
URL used to connect to the SuccessFactors API in Devel­
opment or Test Landscape.
Company ID
SuccessFactors Company ID
User Name
User name to be used to connect to the systems
Password
Password to be used to connect to the system
Proxy Host
Proxy Host address of the proxy setting to be used to con­
nect to the SuccessFactors System
Proxy Port
Proxy Port of proxy setting to be used to connect to the
SuccessFactors System
4. Select the Entity.
Table 25:
Parameter
Description
Entity List
List of the available Entities. Data related to these entities
is fetched.
5. Select the Operation and Fields of the entity.
Choose the attributes (fields) you would like to fetch from the entity you selected in the previous step.
Table 26:
Parameter
Description
Operation
Select the operation that you want to perform.
Note
Only Query operation is available in the sender chan­
nel.
Fields
Select the fields related to the entity that should be used
in the operation.
6. Configure filter conditions (optional step)
This step is available only in case of ‘Query’ Operation. In this step, you can configure the filter condition
that you wish to apply to the fields you would like to fetch from the selected entity.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
59
Table 27:
Field
Description
Filter Field
Field that is used in the SuccessFactors API ‘WHERE’
clause for filtering.
Note
Field set contains the set of filterable fields returned
from the SuccessFactors API that you can use in the
Filter Condition
Operation
Operator to be used in the WHERE condition Example < ,
>
Type
Value that the filter filed has to be compared against.
When the Type is Text then specify the exact value
When the Type is XPath specify the entire XPath value. In
case the previous Integration flow step is a content en­
richer, the XPath must be specified as a relative path,
starting with double-slash ‘\\’.
When the Type is Delta Sync the value is populated with
maxDateFromLastRun.
When the Type is Property, the system reads value from
the property you have defined in the integration flow ele­
ment.
Value
Value that the filter filed has to be compared against.
When the Type is Text then specify the exact value
When the Type is XPath specify the entire XPath value. In
case the previous Integration flow step is a content en­
richer, the XPath must be specified as a relative path,
starting with double-slash ‘\\’.
When the Type is Delta Sync the value is populated with
maxDateFromLastRun.
Condition
‘AND’ or ‘OR’ condition that needs to be used in the Query
WHERE clause filter condition.
Add
The condition will be added to the generated SuccessFac­
tors Query
Note
Multiple conditions can be added if required
Remove
Any condition that is already added to the list can be se­
lected and removed from the final SuccessFactors Query
You can configure the filter condition to execute delta sync scenarios. Refer to Configuring Delta Sync
Scenarios for more details.
60
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
7. Configure sorting conditions (optional step)
Choose the attributes (fields) you would like to fetch from the selected SuccessFactors Entity.
Table 28:
Field
Description
Order By
Field that is used in the SuccessFactors API ‘ORDER BY’
clause for sorting.
Note
Field set contains the set of sortable fields returned
from the SuccessFactors API that you can use in the
‘ORDER BY’ condition
Descending
The list is sorted in descending order if this button is se­
lected.
Note
If not selected, the data is ordered in Ascending order
by default
Add
The condition will be added to the generated SuccessFac­
tors Query
Note
Multiple conditions can be added if required
Remove
Any condition that is already added to the list can be se­
lected and removed from the final SuccessFactors Query
8. Choose Finish
The ‘Finish’ button is activated only if you select some fields of the entity in step 3. When you choose
Finish, the system creates a XML schema file with the selected entities. You can access the schema file in
src.main.resources.wsdl folder of your project. If there is an existing XML schema file, you have the option
of overwriting the existing file or creating a new file after choosing the finish option. This file can be used in
the integration flow like mapping step.
One of the root elements in the XML schema file is the Entity Name. In cases where the Entity Name is in
the format <EntityName>_$XX, only <EntityName> is used as the root element of the XML schema file.
$XX is dropped from the root element name of the XML schema so that you can use the same integration
flow in other SuccessFactors company ID without changing the mapping.
Configuring Delta Sync Scenarios
You can configure SuccessFactors connector to fetch the modified or delta records instead of fetching all the
records. This optimizes the polling mechanism. This is known as delta sync configuration.
Note
You have configured the sender channel of SuccessFactors connector.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
61
If you wish to add more filter conditions after configuring for delta sync, use the appropriate operators and add
them. Once the query is executed, the relevant scenarios are executed.
Note
The following steps guide you to configure the delta sync conditions only. Refer to Modelling Operations for
end-to-end procedure on creating and executing operations.
Delta Sync
With this configuration, the system fetches all records from the beginning of time (1/1/19070, by default) in
the first run. Only modified records are fetched in the subsequent runs.
1. In Configure Filter Condition for Fields window, select a field of type DATETIME for the Filter Field. Example:
lastModified
2. In the Operation field, select >.
3. In Type field, select Delta Sync. maxDateFromLastRun is automatically populated in the Value field.
Note
If the payload from the SuccessFactors system has execution_timestamp as one of the fields, that timestamp is used as the reference date for the subsequent delta sync polling cycles. The date specified in the
Query is ignored.
Modify Query in Existing Delta Sync Configuration
With this configuration, you can modify the query in an existing delta sync configuration. The system will
consider the new Query and fetch only modified records in the subsequent polling cycles.
1. Add or remove the new fields that you wish to fetch in Model Operation window.
2. If you want to add new filter conditions. In the Configure Filter Conditions for Fields window.
3. You can also modify or remove existing filter conditions in the Configure Filter Conditions for Fields
window.
4. Continue with the existing delta sync configuration.
Reset Existing Delta Sync Configuration
You perform these steps only to reset an existing delta sync configuration. After reset, the configuration
enables you to fetch data from the beginning of time (1/1/1970) in the first polling cycle and fetch only
modified records in the subsequent polling cycles.
1. In the channel configuration, enter a new channel name in the Channel Details section. The new name
resets the existing delta sync configuration.
62
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Caution
Choose a unique channel name. Do not use names that were used in earlier delta sync configurations.
2. Save the configuration.
Fetch Records after a Specified Date in the First Run and Fetch Modified
Records in Subsequent Runs
With this configuration, you can specify a date that will be used as a reference to fetch records. The system
fetches the records that are modified or added after the specified date in the first polling cycle. The modified
records are fetched in the subsequent polling cycles.
1. Select the fields that you want to fetch in the Model Configuration window.
2. In Configure Filter Condition for Fields window, select a DATETIME type field in Filter Field window.
Example: lastModified.
3. In Operation field, choose >=.
4. In the Value field, enter the date after which you want the records to be fetched from the system.
5. Choose Add.
6. Select a field of type DATETIME for the Filter Field. Example: lastModified.
7. In the Operation field, select >.
8. In Type field, select Delta Sync. maxDateFromLastRun is automatically populated in the Value field.
9. In the Operators field, choose AND.
Modeling OData Operations to Connect to SuccessFactors
OData Service
Prerequisites
You must have configured the receiver channel of the SuccessFactors adapter.
Context
If you have chosen ODatav2 protocol to connect to the SuccessFactors system, use this procedure to model a
SFQL query.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
63
Procedure
1. Choose Model Operation in the Adapter Specific tab page.
2. If you want to use a local EDMX file to connect to the system, perform the following substeps:
a. Select the Local EDMX File checkbox.
b. Choose Browse.
c. Select an EDMX file in the EDMX Selection window and choose OK.
3. To connect to the SuccessFactors OData service, enter values in fields based on the description given in
the table below and choose Next.
Field
Description
Address
The URL of the SuccessFactors OData Service provider
Company ID
Company ID that you are using to connect to the Suc­
cessFactors system
Username
Username for authentication
Password
Password for authentication
Proxy Host
The proxy host that you are using to connect to the Suc­
cessFactors system
Proxy Port
The port of the proxy host that the system uses to estab­
lish the connection with the SuccessFactors OData serv­
ice provider
Note
The proxy settings are enabled only if you select the Enable proxy communication checkbox.
Note
If you are connecting to a system that supports https communication, you must ensure the following:
○ Java development kit is installed on your system
○ You have referred JDK in the Eclipse configuration file
Note
For information of referring JDK in Eclipse configuration file, refer to Eclipse documentation.
○ You have imported the security certificate of the system you are connecting to your JDK keystore
Note
For information on importing certificate to JDK keystore, refer to JDK documentation.
4. Select the Entity in Select Entity for an operation window and choose Next.
5. Choose the Sub-Levels from the dropdown list.
64
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Remember
If you are performing the Insert (POST) operation and the payload contains one level of sub-entities,
choose 1 from the dropdown list.
Caution
Ensure that you select values for the Sub-Levels field only from the dropdown list.
Note
The Navigation Depth is the level up to which you want to view the entity association. For example,
consider that entity B is associated with entity A and entity C is associated with entity B. If you choose
entity A in the Select Entity for an operation window and choose Navigation Depth as 1, you can
navigate till entity B. If you choose Navigation Depth as 2, you can navigate up to entity C.
6. Choose the Operation from the dropdown list based on the description given in the table.
Operation
Description
Query (GET)
Used to fetch data from the OData service
Update (PUT)
Used to update data to an OData service
Insert (POST)
Used to insert data to an OData service
Read (GET)
Used to fetch a unique entity from the OData Service.
Passes the key fields along with the Entity in the URI (Uni­
versal Resource Indicator). Format:<Entity>(Keyfield 1,
Keyfield 2, etc.)
Upsert (UPSERT)
Used to perform Update and Insert operations using one
command to the OData service exposed by the Success­
Factors system. It checks if the record exists in the table.
If the record is present, it updates the content of record. If
the record is not present, it will create a new record with
the parameters specified in the payload.
Restriction
This operation is not supported if you specify JSON as
the request payload type.
7. Select the required fields for the operation from the Fields screen area and choose Next.
Remember
If you choose PUT or POST operation, this is the last step. Choose Finish.
8. Enter values in the Top and Skip fields based on the description given in table below. This is applicable only
in case of Query operation
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
65
Field
Description
Top
If you enter value 'x', only the top 'x' values are fetched
from the OData service provider
Skip
If you enter value 'x', the top 'x' values are ignored and the
remaining records are fetched from the OData service
provider
9. Select the values based on the description given in the table below to add filter conditions to the operation.
The filter step is available only in case of the Query (GET) Operation.
Table 29:
Field
Description
Filter Field
Field that is used in the SuccessFactors API ‘WHERE’
clause for filtering.
Note
Field set contains the set of filterable fields returned
from the SuccessFactors API that you can use in the
Filter Condition
Operation
Operator to be used in the WHERE condition Example < ,
>
Type
Value that the filter filed has to be compared against.
When the Type is Text then specify the exact value
When the Type is XPath specify the entire XPath value. In
case the previous Integration flow step is a content en­
richer, the XPath must be specified as a relative path,
starting with double-slash ‘\\’.
When the Type is Delta Sync the value is populated with
maxDateFromLastRun.
When the Type is Property, the system reads value from
the property you have defined in the integration flow ele­
ment.
Value
Value that the filter filed has to be compared against.
When the Type is Text then specify the exact value
When the Type is XPath specify the entire XPath value. In
case the previous Integration flow step is a content en­
richer, the XPath must be specified as a relative path,
starting with double-slash ‘\\’.
When the Type is Delta Sync the value is populated with
maxDateFromLastRun.
Condition
66
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
‘AND’ or ‘OR’ condition that needs to be used in the Query
WHERE clause filter condition.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Field
Description
Add
The condition will be added to the generated SuccessFac­
tors Query
Note
Multiple conditions can be added if required
Remove
Any condition that is already added to the list can be se­
lected and removed from the final SuccessFactors Query
10. Choose Finish.
Results
Choosing Finish generates an XSD and EDMX files.
The HCI enterprise service bus (ESD) processes data in the XSD format. You use this XSD file in mapping step
for data transformation.
The EDMX file contains the OData entity specification from the OData service provider. You can use this file in
the subsequent operation modeling steps to connect to the OData service provider.
2.4.2.8
Configuring a Channel with OData Adapter
Prerequisites
● You have created an integration project
● You have created an integration flow
Context
The OData connector enables you to connect to systems exposing OData services (OData service providers).
The connector allows the integration developer to connect to an OData service and perform the operations
Query (GET), Update (PUT), Create (POST), Merge (MERGE) and Read (GET), allowing you to query, update
and insert of data.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
67
Procedure
You use this procedure to configure the receiver channel of the OData connector.
1. Double-click the receiver channel of the integration flow in the Model Configuration tab page.
2. Choose Browse in the Adapter Type screen area.
3. Choose OData in the Choose Adapter window and choose OK.
4. Choose the Adapter Specific tab page and enter details in fields based on the description given in the table
below.
Field
Description
Address
URL of the OData service provider you want to connect to
Proxy Type
The type of proxy that you are using to connect to the tar­
get system.
Select Internet if you are connecting to a cloud system.
Select On-Premise if you are connecting to on-premise
system.
For more information, see .Using SAP HANA Cloud Con­
nector with HCI Adapters [page 78].
Authentication
Select Basic from the dropdown list if you want to use ba­
sic authentication to connect to the OData service pro­
vider
Select Client Certificate from the dropdown list if you
want to use a certificate for authentication while connect­
ing to the OData service provider.
Restriction
You cannot use client certificate for connecting to the
OData service provider while modeling operations us­
ing operations modeler.
Operation Details
This contains details to the operation. This could be Query
(GET), Update (PUT), Insert (POST), Read (GET)
ResourcePath: This is the URI that is appended to the
OData service endpoint when connecting to the service
provider.
For more information, see Modeling Operations for OData
Adapter
Custom Query Options
Additional query options other than the ones configured
using operations modeler. For example, sap-client=100 is
a custom query option that you can specify.
68
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Field
Description
Content Type
Format of the request payload. You can select Atom or
JSON.
Content Type Encoding
Encoding standard used to encode the request payload
content
Page Size
Total number of records in one page of response from
OData service provider
5. If you want to convert the response from OData service provider to XML format, select Convert Response
to XML checkbox.
6. Save the configuration.
Modeling Operations for OData Adapter
Prerequisites
You have configured the receiver channel of the OData adapter.
Context
You use the Model Operation feature in the OData adapter to model an operation [Query (GET), Update (PUT),
Create (POST), Read (GET) and Merge (MERGE)]. You also select the ResourcePath, the URI using which you
transact with the OData service provider.
Note
If you are connecting to a system that supports https communication, you must ensure the following:
● Java development kit is installed on your system
● You have referred JDK in the Eclipse configuration file
Note
For information of referring JDK in Eclipse configuration file, refer to Eclipse documentation.
● You have imported the security certificate of the system you are connecting to your JDK keystore
Note
For information on importing certificate to JDK keystore, refer to JDK documentation.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
69
Procedure
You use this procedure to model an operation with the Odata adapter.
1. Double-click the OData receiver channel of the integration flow in the Model Configuration tab page.
2. Choose the Adapter Specific tab page.
3. Choose Model Operation.
4. If you want to use a local EDMX file to connect to the OData service provider, perform the following
substeps:
Remember
If you have used client certificate for connecting to the OData service provider, you need to download
the EDMX file from the OData service provider and import it to the src.main.resources.edmx folder. It
enables you to use local EDMX file to connect to the system.
a. Select the Local EDMX File checkbox.
b. Choose Browse.
c. Select an EDMX file in the EDMX Selection window and choose OK.
5. If you want to enter connection details manually, enter values in fields based on the description given in
the table.
Field
Description
Address
URL of OData service provider you are connecting to
Username
Username you are using for authentication
Password
Password you are using for authentication
Note
You cannot use this option if you have selected client certificate as the authentication method while
configuring the channel.
6. Select the entity in Select Entity for an Operation window and choose Next.
7. Choose the Operation from the dropdown list based on the description given in the table.
Operation
Description
Query (GET)
Used to fetch data from the OData service
Create (POST)
Used to insert data to an OData service
Update (PUT)
Used to update data to an OData service
Restriction
This operation is not supported for associated entities
Merge (MERGE)
70
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Used to merge data with existing data in OData service
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Operation
Description
Restriction
This operation is not supported for associated entities
Read (GET)
Used to fetch a unique entity from the OData Service.
Passes the key fields along with the Entity in the URI.
Format: <Entity>(keyfield 1, keyfield x,..)
8. Select the required fields for the operation form the Fields screen area.
Note
IN the case of Update (PUT) or Insert (POST) operation, this would be the last step. Choose Finish.
9. If you have chosen the operation as Query (GET), enter values in Top and Skip fields based on the
description given in table.
Field
Description
Top
If you enter a value 'x', the system fetches the top x re­
cords form the OData service provider
Skip
If you enter a value 'x', the system skips x records from
top and fetches the remaining records from the OData
service provider
10. Choose Next.
11. If you want to add filter conditions to the operation, enter values in fields based on the description given in
table.
Table 30:
Field
Description
Filter Field
Field that is used in the ‘WHERE’ clause for filtering.
Note
Field set contains the set of filterable fields returned
from the OData service provider that you can use in
the Filter Condition
Operation
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Operator to be used in the WHERE condition Example < ,
>
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
71
Field
Description
Type
Value that the filter filed has to be compared against.
When the Type is Text then specify the exact value
When the Type is XPath specify the entire XPath value. In
case the previous Integration flow step is a content en­
richer, the XPath must be specified as a relative path,
starting with double-slash ‘\\’.
When the Type is Property, the system reads value from
the property you have defined in the integration flow ele­
ment.
Value
Value that the filter filed has to be compared against.
When the Type is Text then specify the exact value
When the Type is XPath specify the entire XPath value. In
case the previous Integration flow step is a content en­
richer, the XPath must be specified as a relative path,
starting with double-slash ‘\\’.
Condition
‘AND’ or ‘OR’ condition that needs to be used in the Query
WHERE clause filter condition.
Add
The condition will be added to the generated SuccessFac­
tors Query
Note
Multiple conditions can be added if required
Remove
Any condition that is already added to the list can be se­
lected and removed from the final Query
12. Choose Finish.
Results
Choosing the Finish button generates an XSD and EDMX files.
The XSD is the format in which data is processed in the HCI esb. You use this xsd file in the mapping step for
data transformation.
The EDMX file contains the OData Entity specification form the provider. This can be used when you model
operation again by choosing ‘Local EDMX’ file.
72
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Defining Mapping for OData Batch Processing
Prerequisites
● You have created an integration project and integration flow
● You have configured the OData adapter receiver channel
● You have modeled PUT or POST operation using the OData adapter
● You have imported the input payload XML format into the eclipse project
Context
When you choose batch processing for PUT and POST operations for the OData adapter, the payload format
that is sent to the OData service must be in the recommended structure. You can use the input XSD that is
generated when you model the operation with a mapping step to transform the payload into the
recommended XSD structure. You can alternatively use XSLT or content modifier to do this.
Procedure
This procedure enables you to transform the input payload XML into the recommended batch processing
structure.
1. Choose
File
New
Other .
2. In the New wizard, choose
SAP HANA Cloud Integration
Message Mapping
and choose Next.
3. In the General Details section of the New Message Mapping window, enter Name and Description.
4. In the Location Details section of the New Message Mapping window, choose Browse and select the project
that you are working in. Choose Ok.
5. In the New Message Mapping window, choose Finish.
6. In the Source Element section, choose Add.
7. In the Select a XSD or WSDL file window, select the input payload format XML and choose OK.
8. In the Target Element section, choose Add.
9. In the Select a XSD or WSDL file window, select the XSD file that was generated when you modeled the
operation and choose OK.
10. Choose the Definition tab page and perform the following substeps to map the elements in the payload
XML to the target XSD.
a. Map the Entity Type element in the left pane to the batchChangeSet on the right pane.
b. Map the fields in the left pane to the appropriate fields on the right pane.
c. Map the batchChangeSet, Entity Set and Entity Type elements on the right pane except the headers to
a constant. The value of the constant can be a dummy example value.
d. Choose the method element and double-click Constant element in the properties view.
e. In the Constant Parameters window, enter the operation (PUT/POST) in the Value field and choose
OK.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
73
This is the same operation that you have chosen while modeling the OData operation.
Note
Refer to 2031746
for more details on the structure of request and response XSD.
Mapping Definition for Reference Insert
When you are performing the Insert (POST) operation, in addition to inserting an entity, you can add a
reference to an associated entity. To do this, you have to map the appropriate field from the payload to the key
field of associated entity in <link> tag.
You can use a mapping step to do this. Consider the following example.
<?xml version="1.0" encoding="UTF-8"?>
<Categories xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="CategoriesEntityPOST0.xsd">
<Category>
<ID>0</ID>
<Products>
<Product>
<Description>Description</Description>
<Name>Name</Name>
<ID>0</ID>
</Product>
</Products>
<link>
<Products>
<Product>
<ID>0</ID>
</Product>
</Products>
</link>
</Category>
</Categories>
The primary key is <ID>. You need to map the key element to your reference to <ID> for successfully
executing reference insert operation.
2.4.2.9
Configuring a Channel with Ariba Adapter
Prerequisites
● You have created an integration project and an integration flow.
● You have the credentials to log on to the Ariba Network.
● You have a certificate from Ariba or a trusted third party who is a certification authority.
● You have deployed the following artifacts: User Credentials and Keystore.
74
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Context
You use this procedure to configure a sender and receiver channel of an integration flow with the Ariba
Network adapter. These channels enable the SAP and non-SAP cloud applications to send and receive
business-specific documents in cXML format to and from the Ariba Network. Examples of business
documents are purchase orders and invoices.
Procedure
1. Double-click the channel that you want to configure on the Model Configuration tab page.
2. On the General tab page, choose Browse in the Adapter Type screen area.
3. Select Ariba in the Choose Adapter window and choose OK.
4. Choose the Adapter-Specific tab page and enter the details as shown in the table below:
Table 31: Parameters and Values of a Channel for the Ariba Adapter
Section
Parameter
Description
Connection Details
Ariba Network URL
Specify the URL to which the cXML
requests are posted, or from where
the cXMLs are polled.
Connection Mode
Select one of the options based on
the description given below:
Test - If you select this option, the
Ariba Network will not process the
messages, and treats the messages
as test data.
Production - If you select this option,
the Ariba Network processes the
messages.
Default deployment mode is “Produc­
tion”.
Account Type
Select one of the options based on
the description given below:
Buyer - If you hold a buyer account on
the Ariba Network.
Supplier - If you hold a supplier ac­
count on the Ariba Network.
Request Type (this field is available
only in the sender channel)
Select one of the options based on
the request types of buyer/supplier
that you want to poll.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
75
Section
Parameter
Description
Maximum Messages (this field is
available only in the sender channel)
Enter the number of messages to be
polled from the Ariba Network for the
above-selected Request Type.
The maximum allowed value is 200.
Authentication Domain
Select one of the options based on
the description given below:
Network ID: A unique alphanumeric
value assigned to every organization
registered on Ariba SN; for example,
AN01000000001.
Network User Id: A login name of an
Ariba SN user. These names typically
have the format of an e-mail address;
for example, [email protected].
Authentication
Select one of the options based on
the description given below:
Shared Key: If you have set the
shared key in your Ariba account.
Client Certificate: If you have config­
ured your certificate from a trusted
certificate authority in the Ariba ac­
count.
Credential Name
Enter a name. This name is treated as
an alias to the secure store where the
user credentials are deployed. This
value should be set according to the
Authentication selected above. If you
have selected Client Certificate, then
enter the alias details in the Private
Key Alias field.
This alias is used to identify the key­
store credentials deployed on the HCI
account.
Ariba Network ID
Enter the ID that is associated with
the Ariba Network. Default value is
AN01000000001.
Processing Details
cXML version
Default value provided by SAP is
1.2.025. If you are entering the ver­
sion, it must be above 1.2.018.
76
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Section
Parameter
Description
User Agent
Enter the user agent details. The con­
vention is a textual string represent­
ing the client system that is conduct­
ing the cXML conversation. It must
consist of the software company
name and the product name.
Language
Language that is used for construct­
ing the cXML conversation.
The only supported language is EN.
Scheduler (only valid for the sender
Run Once
Run a data polling process immedi­
ately after deploying the project.
On Date
Specific date on which the data poll­
ing process has to be initiated to fetch
data from the Ariba system.
Daily
Run message polling every day to
fetch data from the Ariba system.
Weekly
Run the message polling every week
channel)
on specified days of the week to fetch
data from the SuccessFactors sys­
tem.
Monthly on Day
Execute the message polling every
month on the specified date to fetch
data from the Ariba server.
Note
If the specified date is not applica­
ble in a particular month, the data
polling is not executed in that
month. For example, if the 30th
day is selected, polling will not be
executed in the month of Febru­
ary, as 30th is not a valid day for
February.
Time
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
The time at which the data polling cy­
cle has to be initiated. For example, if
you want the data polling to be
started at 4:10 p.m., enter 16:10. Note
that the time must be entered in 24hour format.
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
77
Section
Parameter
Description
Every xx minutes between HH hours
The connector fetches data from the
Ariba system every ‘xx’ minutes be­
tween HH hours and HH hours.
and HH hours
Note
If you want the polling to run for
the entire day, enter 1 and 59.
Time Zone
Select the time zone that you want to
use as reference for scheduling the
data polling cycle.
5. Save the configuration of the channel editors.
Results
In the Model Configuration editor, right-click and choose Deploy Integration Content to apply the configuration
settings and run the integration flow.
2.4.2.10 Using SAP HANA Cloud Connector with HCI
Adapters
You can use the SAP HANA Cloud Connector (SCC) with HCI adapters to communicate with SAP on premise
systems. You have to install cloud connector on the on premise system/s that you want to communicate with,
and configure it. This is a one-time activity after which you can use cloud connector with HCI adapters.
Perform the following steps to use cloud connector with HCI adapters.
1. Install SAP HANA Cloud Connector on your on premise system. For more information, see Installing the
Cloud Connector.
2. Set up mutual authentication between the cloud connector and a backend system. For more information,
see Initial Configuration and Initial Configuration (HTTP).
3. Enable the web application to connect to access backend system on the intranet. For more information,
see Configuring Access Control (HTTP).
You can now connect to on premise systems using HCI adapters by selecting on-premise value in Proxy Type
field dropdown list.
Note
You need to enter your tenant ID as the account name while configuring SAP HANA Cloud Connector. You
can access the tenant ID by selecting the tenant in Node Explorer and accessing the Tasks View by choosing
Window
78
Show View
Tasks View .
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
2.4.3
Defining Message Transformers
Context
Procedure
2.4.3.1
Assigning Mapping
Prerequisites
● You have configured the connections to an On-Premise repository if you have to import mapping from that
repository into the workspace.
Note
For more information on setting the connections to the repository, see the task 'Setting the
Connections to the External Repository' in Configuring the Tool Settings [page 11]. You can import
message mappings (.mmap) from ES Repository with server version 7.1 onwards, and operation
mapping from ES Repository with server version 7.3 EHP1 SP3 .
● You have imported the mappings to your local workspace from the On-Premise repository.
Note
For more information about how to import mappings from the ES Repository, see Importing SAP
NetWeaver PI Objects from On-Premise Repository [page 15].
Context
You perform this task to assign a mapping that is available in your local workspace.
Your local workspace can contain mappings that are already imported from an external repository, such as the
ES Repository, or you have obtained them from some other integration project.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
79
Caution
You have to be cautious in distributing the mappings imported from ES Repository if they contain any
sensitive data. Although you securely import mappings from the repository by providing the user
credentials, copying the imported mappings from one Integration Project to another does not require any
authorization.
In an integration flow project, the src.main.resources.mapping package can contain message mapping
(.mmap), operation mapping (.opmap), XSL mapping and XSLT mapping.
Procedure
1. To add a mapping element to an integration flow model, perform the steps below:
a. In the Model Configuration editor, select the sequence flow within the pool.
b. From the context menu of the sequence flow, choose Add Mapping.
2. Select the mapping in the integration flow and open the Properties view.
3. In the Mapping tab, choose Browse… to select a mapping for the integration flow.
Note
You can assign an operation mapping only if the sender and receiver channel is configured with SOAP
adapters.
4. In the Choose Mapping dialog, choose the dropdown icon and select Local to obtain the mapping.
Note
Local option shows mapping of different types, such as message mapping (.mmap), operation mapping
(.opmap), XSL mapping and XSLT mapping, available within the current project.
5. Select a mapping.
6. Choose OK.
Note
To view or modify the definition of message mapping in the mapping editor, click Name in the Properties
view. If you have assigned an operation mapping, the navigation to the mapping editor is not supported.
Restriction
Message mapping does not work if the integration flow project contains whitespaces.
80
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
2.4.3.2
Defining Content Modifier
You use this task if you want to modify the content of the incoming message by providing additional
information in the header or body of a message before sending it to the receiver.
Context
You can also use content modifier to define local properties for storing additional data during message
processing. These properties can be further used in connectors and conditions.
Example
In SFTP Connector, the user can specify the receiver file name as - File_${property.count}.txt.
In Gateway, the user can define the condition as ${property.count} = '5'.
Procedure
1. Open the <integration flow>.iflw in the Model Configuration editor.
2. If you want to add a content modifier in the integration flow, choose
Content Modifier
Add Message Transformers
from the context menu of a connection within the pool.
3. Select the added content modifier in the integration flow model to configure it.
4. To configure the content modifier with a saved configuration that is available as a template, choose Load
Element Template from the context menu of the Content Modifier element.
5. In the Properties view, select the Header tab.
6. In the new row, define additional headers or set values for existing headers of messages by using
constants, another header, an XPath, a property, an external parameter, or by forming an expression.
a. To enter an XPath, select xpath in the Type column and browse for an XPath from the lookup in the
Value column.
Note
○ The Data Type column is mainly used for the XPath type. The data type can belong to any Java
class. An example of a data type for an XPath is java.lang.String.
○ If the XPath contains a namespace prefix, specify the association between the namespace and
the prefix on the Runtime Configuration tab page of the integration flow Properties view.
b. To enter a header, select header in the Type column, and browse for a header from the lookup in the
Value column.
Note
○ This lookup dialog shows you a list of headers that you have specified:
○ In the Header tab page of Content Modifier flow steps
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
81
○ In the Allowed Headers field of the Runtime Configuration tab page
c. To enter an external parameter, select external parameter in the Type column and define the
parameter key. For more information, see Externalizing Parameters of Integration Flow (section
2.5).
7. In the same way as for headers, the user can also define properties with different value types as explained
above, by selecting the Property tab in the Properties view.
Note
○ Header values can be lost following the external system call, whereas properties will be available for
complete message execution.
○ During outbound communication, headers will be handed over to all message receivers and
integration flow steps, whereas properties will remain within the integration flow and will not be
handed over to receivers.
8. Save the changes.
9. To save the configuration of the modifier as a template, choose Save as Template from the context menu
of the Content Modifier element.
Note
When you save the configuration of the Content Modifier element as a template, the tool stores the
template in the workspace as <ElementTemplateName>.fst.
Example
Suppose the incoming message has the following information:
<order>
<book>
<BookID>A1000</BookID>
<Count>5<Count>
</book>
</order>
In the Body tab of the Content Modifier, you specify the content expected in the outgoing message. Keep a
placeholder for the header information to modify the content as shown below:
<invoice>
<vendor>${header.vendor}</vendor>
${in.body}
<deliverydate>${header.date}</delivery>
</invoice>
In the Header tab of the Content Modifier, enter the following:
Table 32:
82
Name
Type
Value
vendor
constant
ABC Corp
delivery date
constant
25062013
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
The output message would look like this:
<invoice>
<vendor>ABC Corp</vendor>
<order>
<book>
<BookID>A1000</BookID>
<Count>5<Count>
</book>
</order>
<deliverydate>25062013</deliverydate>
</invoice>
Related Information
Specifying Application ID, SAP_Sender and SAP_Receiver Fields [page 83]
2.4.3.2.1
Specifying Application ID, SAP_Sender and
SAP_Receiver Fields
With the Content Modifier you can specify additional header fields that can be used for end-to-end tracing.
You can specify the following fields: SAP_ApplicationID, SAP_Sender and SAP_Receiver.
To specify such an ID, open the corresponding integration flow and in the Content Modifier step define a
corresponding header element.
To do that, in tab Header add an entry with the following attribute-value combination:
Table 33: Content Modifier Configuration
Attribute
Value
Name
Depending on the kind of header you like to specify, enter one of the following
strings:
SAP_ApplicationID
SAP_Sender
SAP_Receiver
Type
Select the following value: xpath
Value
As Type, select the XPath expression that points to the message element which is
to be used as application ID.
When you monitor the messages at runtime, you can then search for all messages whose such defined
SAP_ApplicationID have a specific value (shows up as MessageID attribute in the Message Monitoring editor).
When you have specified SAP_Sender or SAP_Receiver, the corresponding values are displayed in the
Message Processing Log.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
83
2.4.3.3
Defining Encoders
You use this task to encode messages using an encoding scheme to secure any sensitive message content
during transfer over the network.
Procedure
1. Open the <integration flow>.iflw in the Model Configuration editor.
2. If you did not select the encoder pattern when creating the integration flow, choose
Transformers
Encoder
Add Message
from the context menu of a connection within the pool.
3. Select the encoder in the integration flow model to configure it.
4. In the Properties view, select the encoding scheme from the dropdown list. You can select one of the
following encoding schemes:
○ Base64 Encode
Allows you to encode the message content using base64.
○ GZIP Compress
Allows you to compress the message content using GNU zip (GZIP).
○ ZIP Compress
Allows you to compress the message content using zip.
5. Save the changes.
Example
Consider the input XML payload structure to the encoder:
<message>
Input for encoder
</message>
If you select Base64 Encode, the output message would look like this:
PG1lc3NhZ2U+DQoJSW5wdXQgZm9yIGVuY29kZXINCjwvbWVzc2FnZT4NCg==
2.4.3.4
Defining Decoders
You use this task to decode the message received over the network to retrieve original data.
Procedure
1. Open the <integration flow>.iflw in the Model Configuration editor.
84
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
2. If you want to add a decoder in the integration flow, choose
from the context menu of a connection within the pool.
Add Message Transformers
Decoder
3. Select the newly added decoder in the integration flow model to configure it.
4. In the Properties view, select the decoding scheme from the dropdown list. You can select one of the
following decoding schemes:
○ Base64 Decode
Allows you to decode base64-encoded message content.
○ GZIP Decompress
Allows you to decompress the message content using GNU zip (GZIP).
○ ZIP Decompress
Allows you to decompress the message content using zip.
5. Save the changes.
Example
Let us suppose that an input message to the decoder is a message encoded in Base64 that looks like this:
PG1lc3NhZ2U+DQoJSW5wdXQgZm9yIGVuY29kZXINCjwvbWVzc2FnZT4NCg==
The output message of the decoder would be as follows:
<message>
Input for encoder
</message>
2.4.3.5
Defining Content Filter
Context
You use this task if you want to filter information by extracting a specific node from the incoming message.
Procedure
1. Open the <integration flow>.iflw in the Model Configuration editor
2. If you want to add content filter in the integration flow, choose
Filter
Add Message Transformers
Content
from the context menu of a connection within the pool.
3. Select the added content filter in the integration flow model to configure it.
4. In the Properties view, enter an Xpath to extract a specific message part from the body. For example, in
the Xpath field, enter /ns0:MessageBulk/Message/MessageContent/text() .
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
85
Tip
To quickly specify the Xpath in the content filter, select Define Content Filter from the context menu of
the element.
5. Save the changes.
Example
Consider an XML payload structure<Message>
<orders>
<order>
<clientId>I0001</clientId>
<count>100</count>
</order>
<order>
<clientId>I0002</clientId>
<count>10</count>
</order>
</orders>
</Message>
If you enter an Xpath- /Message/orders/order/count/text(). The output of the Content Filter would
be- 10010
2.4.3.6
Defining Message Digest
This integration flow step is used to calculate a digest of the Payload or parts of it and store the result in a
message header.
Context
In detail, the Message Digest integration flow step transforms a message into a canonical XML document.
From this document, a digest (hash value) is calculated and written to the message header.
Note
Canonicalization transforms an XML document into a form (the canonic form) that makes it possible to
compare it with other XML documents. With the Message Digest integration flow step, you can apply
canonicalization to a message (or to parts of a message), calculate a digest out of the transformed
message, and add the digest to the message header.
In simple terms, canonicalization skips non-significant elements from an XML document. To give some
examples, the following changes are applied during the canonicalization of an XML document: Unification of
quotation marks and blanks, or encoding of empty elements as start/end pairs.
The original message remains unchanged.
86
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
You also have the option to define a filter to apply canonicalization only to a sub-set of the message.
Procedure
1. Open the integration flow in the Model Configuration editor.
2. Select the Message Digest step and add it to the integration flow.
3. Specify the following attributes for the step.
Option
Description
Filter
If you only want to transform part of the message, enter an XPath expression to specify the part (op­
tional attribute).
You can also define a prefix namespace mapping (open the Properties view to do that).
Canonicali­
zation
Method
You can choose between the following methods.
○ Canonical XML Version 1.0
More information: http://www.w3.org/TR/2001/REC-xml-c14n-20010315
○
Canonical XML with Comments Version 1.0
More information: http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments
○
Exclusive XML Canonicalization Version 1.0
○
Exclusive XML Canonicalization with Comments Version 1.0
More information: http://www.w3.org/2001/10/xml-exc-c14n
More information: http://www.w3.org/2001/10/xml-exc-c14n#WithComments
This is an optional attribute.
Digest Algo­
rithm
Select the hash algorithm to be used to calculate the digest.
You can choose between the following hash algorithms:
○
SHA-1
○
SHA-256
○
SHA-384
○
SHA-512
○
MD5
This is a mandatory attribute.
Target
Header
Name
Enter the name of the target header element which is to contain the hash value (digest).
This is a mandatory attribute.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
87
2.4.3.7
Defining Converter
Context
The converter element enables you to transform an input message in one format to another. You can also
specify some conditions that are used as reference to transform the message.
The CSV to XML converter transforms a message in CSV format to XML format. Conversely, the XML to CSV
converter transforms a message in XML format to CSV format.
Restriction
You cannot use XML to CSV converter to convert complex XML files to CSV format.
Procedure
You use this procedure to define a converter element in an integration process.
1. Open the integration flow in the Model Configuration editor.
2. Access the palette and choose Message Transformers.
3. Drag
from palette to the integration process.
Note
Alternatively, you can also add the converter from context menu. Choose
Message Transformers
Converter
4. Make the necessary connections to add Converter as a part of the integration flow.
5. If you want to use CSV to XML Converter, perform the following substeps.
a. Select the Converter element and access Properties tab page.
b. Provide values in fields based on description in table.
Table 34:
88
Field
Description
XML Schema File Path
Choose Browse and select the file path to the XML
schema file that is used as the basis for message trans­
formation. The XML file schema format is used as the
basis for creation of the payload. This file has to be in
the package source.main.resources.xsd
Path to Target Element in XSD
XPath in the XML Schema File where the content from
CSV has to be placed.
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Field
Description
Record Identifier in CSV
The corresponding record in the CSV file that has to be
considered for conversion. This entry is the first text in
every new record of the CSV.
Note
If this value is not specified then all the records
would be considered for conversion.
c. In the Field Separator in CSV field, choose the character that you want to use as the field separator in
CSV file from the dropdown list.
Note
If you want to use a field separator that is not available in the dropdown list, manually enter the
character in Field Separator in CSV field.
d. Save changes.
6. If you want to use XML to CSV Converter, perform the following substeps.
a. In the context menu of Converter, choose Switch to XML to CSV Converter.
b. Access the Properties tab page.
c. In the Path to Source Element field, enter the path of the source element in XML file.
d. In the Field Separator in CSV field, select the field separator from the dropdown list.
e. If you want to use the field names in the XML file as headers in CSV file, select the Field Names as
Headers in CSV checkbox.
f. If you want to include the parent element of the XML file in the CSV file, in the Advanced tab page
select Include Parent Element checkbox.
g. If you want to include the attribute values of the XML file in the CSV file, in the Advanced tab page
select Include Attribute Values checkbox.
h. Save changes.
Example
Consider a CSV file that is in the following format:
COMPETENCY,
Role Specific,
Computer Skills,
"Skilled in the use of computers, adapts to new technology, keeps abreast of
changes, learns new programs quickly, uses computers to improve productivity."
Consider the Schema XML File in the following format:
<?xml version="1.0" encoding="UTF-8"?>
<CompetencyList>
<Competency>
<id></id>
<name></name>
<description></description>
</Competency>
</CompetencyList>
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
89
Value for the field XPath of Record Identifier in XSD is given as CompetencyList\Competency.
After it is processed by the CSV to XML converter, the XML output appears in the following format:
<?xml version="1.0" encoding="UTF-8"?>
<CompetencyList>
<Competency>
<id>Role Specific</id>
<name>Computer Skills</name>
<description>Skilled in the use of computers, adapts to new technology, keeps
abreast of changes, learns new programs quickly, uses computers to improve
productivity.</description>
</Competency>
</CompetencyList>
2.4.3.8
Defining the XML-to-JSON Converter
The XML-to-JSON converter enables you to transform messages in XML format to JSON format, and
messages in JSON format to XML format.
Context
The XML-to-JSON converter transforms a message in XML format to JSON format. Conversely, the JSON-toXML converter transforms a message in JSON format to XML format.
The conversion from XML to JSON format and JSON to XML format follows the following rules:
● An element is represented as a JSON member whose name is the concatenation of the JSON prefix
corresponding to the XML namespace, the JSON delimiter, and the element name. If the element has no
namespace, then no prefix or JSON delimiter is added to the JSON name.
● An attribute is represented as a JSON member whose name is the concatenation of '@' , the JSON prefix
corresponding to the XML namespace, the JSON delimiter, and the attribute name. If the attribute has no
namespace, then no prefix or JSON delimiter is added to the JSON name.
● An element with no characters or child elements is represented by "element" : "" .
● Multiple elements with the same name are represented by an array. For example, <A>a1</A><A>a2</A>
is transformed to “A”:[“a1”,”a2”].
● The value of a complex element (with attributes, for example) is represented by a separate member
"$":"value" .
The conversion from XML to JSON format follows the following rules:
● Elements with mixed content (for example, <A>mixed1_value<B>valueB</B>mixed2_value</A>) are not
supported. You will get incorrect results for XML to JSON: {"A":
{"B":"valueB","$":"mixed1_valuemixed2_value"}}.
● No namespace declaration is written into the JSON document.
● Tabs, spaces, and new lines between elements and attributes are ignored.
● If you have an element with a namespace but no XML prefix whose namespace is not contained in the
XML-Namespace-to-JSON-Prefix map, you get an exception: <A xmlns="http://test"/> ->
IllegalStateException Invalid JSON namespace: http://test.
90
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
The conversion from JSON to XML format follows the following rules:
● The resulting XML document is encoded in UTF-8 and gets the XML header "<?xml version='1.0'
encoding='UTF-8'?>".
● The content of the XML-Namespace-to-JSON-Prefix map is transformed to namespace prefix declarations
on the root element.
● A member with a JSON null value is transformed to an empty element, for example, "C":null -> <C/>.
● Conversion of "@attr":null to XML is not supported (you get a NullPointerException).
● If no XML namespace is defined for a JSON prefix, the full member name with the prefix and JSON
delimiter is set as the element name: "p:A" -> <p:A>.
Procedure
You use this procedure to define a converter element in an integration process.
1. Open the integration flow in the Model Configuration editor.
2. Access the palette and choose Message Transformers.
3. Drag Converter from the palette to the integration process.
4. From the context menu, choose Switch to XML to JSON Converter.
5. On the XML to JSON Converter properties tab page, define the parameters to convert the XML data format
to JSON data format.
Option
Description
Name
Enter the name of the converter.
XML Namespace (only if the option Use Namespace
Mapping is selected)
Enter the mapping of the XML namespace to the JSON
prefix. The JSON namespace/prefix must begin with a let­
ter and can contain aA-zZ and 0-9.
JSON Prefix Separator (only if the option Use
Namespace Mapping is selected)
Enter the JSON prefix separator to be used to separate
the JSON prefix from the local part. The value used must
not be used in the JSON prefix or local name.
The following characters are allowed: colon(:), comma(,),
dot(.), pipe(|), semicolon(;), and space.
JSON Output Encoding
Enter the JSON output encoding. The default value is
from header or property.
If you select from header or property, the converter tries
to read the encoding from the message header or ex­
change property CamelCharsetName. If there is no
value defined, UTF-8 is used.
6. Specify whether to enable Streaming or not.
You can specify whether the whole XML document or only specified XML elements are to be presented by
JSON arrays.
Option
Description
All
All elements are presented as JSON arrays.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
91
Option
Description
Specified
Only the specified elements will be represented as JSON arrays, the others as JSON objects.
Ones
Note
A JSON object is an unordered set of name/value pairs that begins with { and ends with }. Each
name is followed by : and the name/value pairs are separated by ,.
A JSON array is an ordered collection of values. An array begins with [ and ends with ]. Values are
separated by ,.
Enter the absolute paths to the XML elements to be converted to JSON arrays. Specify all elements
with a multiplicity larger than one. Otherwise, it cannot be ensured that streaming will result in a valid
JSON document.
Familiarize yourself with streaming in the XML-to-JSON converter, as documented in a separate topic.
7. Save the changes.
8. If you want to use the JSON-to-XML converter, in the context menu of the converter choose Switch to
JSON to XML Converter.
9. On the JSON to XML Converter properties tab page, define the parameters to convert the JSON data
format to XML data format.
Option
Description
Name
Enter the name of the converter.
JSON Prefix (only if the option Use Namespace Mapping Enter the mapping of the JSON prefix to the XML name­
is selected)
space. The JSON namespace/prefix must begin with a
letter and can contain aA-zZ and 0-9.
JSON Prefix Separator
Enter the JSON prefix separator to be used to separate
the JSON prefix from the local part. The value used must
not be used in the JSON prefix or local name.
The following characters are allowed: colon(:), comma(,),
dot(.), pipe(|), semicolon(;), and space.
10. Save the changes.
Example
The following example shows the transformation from XML to JSON (option Use Namespace Mapping is
selected). In this example the following character is used as the JSON prefix separator: ':'
XML Document
<?xml version='1.0' encoding='UTF-8'?>
<n1:A xmlns:n1="http://com.sap/abc" xmlns:n2="http://com.sap/xyz">
<n2:B n2:attr1="1" attr2="2">valueB</n2:B>
<C>valueC1</C>
<C>valueC2</C>
<D/>
<E>valueE<E>
</n1:A>
With the following XML-namespace-to-JSON-prefix mapping
92
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Table 35:
XML Namespace
JSON Prefix
http://com.sap/abc
abc
http://com.sap/xyz
xyz
you get the following JSON document:
JSON Document
{"abc:A":{"xyz:B":{"@xyz:attr1":"1","@attr2":"2","$":"valueB"},"C":
["valueC1","valueC2"],"D":"","E":"valueE"}}
Note
Line breaks and spaces between the elements are ignored.
The following example shows the transformation from JSON to XML (option Use Namespace Mapping is
selected). In this example the following character is used as the JSON prefix separator: ':'
JSON Document
{"abc:A":{"xyz:B":{"@xyz:attr1":"1","@attr2":"2","$":"valueB"},"C":
["valueC1","valueC2"],"D":"","E":"valueE"}}
With the following JSON-prefix-to-XML-namespace mapping
Table 36:
JSON Prefix
XML Namespace
abc
http://com.sap/abc
xyz
http://com.sap/xyz
you get the following XML document:
XML Document
<?xml version='1.0' encoding='UTF-8'?>
<abc:A xmlns:abc="http://com.sap/abc" xmlns:xyz="http://com.sap/xyz"><xyz:B
xyz:attr1="1" attr2="2">valueB</xyz:B><C>valueC1</C><C>valueC2</C><D/
><E>valueE<E></abc:A>
The following example shows the transformation from XML to JSON (option Use Namespace Mapping is not
selected). In this example the following character is used as the JSON prefix separator: ':'
XML Document
<?xml version='1.0' encoding='UTF-8'?>
<abc:A xmlns:abc="http://com.sap/abc" xmlns:xyz="http://com.sap/xyz"><xyz:B
xyz:attr1="1" attr2="2">valueB</xyz:B><C>valueC1</C><C>valueC2</C><D/
><E>valueE</E></abc:A>
is transformed to
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
93
JSON Document
{"A":{"B":{"@attr1":"1","@attr2":"2","$":"valueB"},"C":
["valueC1","valueC2"],"D":"","E":"valueE"}}
The following example shows the transformation from JSON to XML (option Use Namespace Mapping is not
selected). In this example the following character is used as the JSON prefix separator: ':'
JSON Document
{"abc.A":{"xyz.B":{"@xyz.attr1":"1","@attr2":"2","$":"valueB"},"C":
["valueC1","valueC2"],"D":"","E":"valueE"}}
is transformed to
XML Document
<?xml version='1.0' encoding='UTF-8'?><A><B attr1="1" attr2="2">valueB</
B><C>valueC1</C><C>valueC2</C><D/><E>valueE<E></A>
Related Information
Limitations for XML-to-JSON Conversion [page 96]
How Streaming in the XML-to-JSON Converter Works [page 95]
Conversion Rules [page 94]
2.4.3.8.1
Conversion Rules
The conversion follows the following rules which are valid both for XML to JSON and JSON to XML, if not
mentioned otherwise.
● An element is represented as JSON member whose name is the concatenation of JSON prefix
corresponding to the XML namespace, JSON delimiter, and the element name. If the element has no
namespace, no prefix and JSON delimiter is added to the JSON name.
● An attribute is represented as JSON member whose name is the concatenation of '@' , the JSON prefix
corresponding to the XML namespace, JSON delimiter, and the attribute name. If the attribute has no
namespace, no prefix and JSON delimiter are added to the JSON name.
● An element with no characters or child elements is represented by "element" : ""
● An element with multiple child elements of the same name is represented by an array. This also holds if
between the children with the same name other children with another name reside.
Example: <root><childA>A1</childA><childB>B</childB><childA>A2</childA></root> is
transformed in the non-streaming case to {"root":{"childA":["A1","A2"],"childB":"B"}},
which means that the order of the children is not preserved.
In the streaming case, the result is: {"root":{"childA":["A1"],"childB":"B","childA":
["A2"]"}}, which means that a non-valid JSON document is created because the member "childA"
appears twice.
94
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
● The value of a complex element (having attributes for example) is represented by a separate member
"$":"value".
● Only for XML to JSON: Elements with mixed content (for example. <A>mixed1_value<B>valueB</
B>mixed2_value</A>) are not supported. Currently you get wrong results for XML to JSON: {"A":
{"B":"valueB","$":"mixed1_valuemixed2_value"}} in the non-streaming case or
{"A":"$":mixed1_value","B":"valueB","$":"mixed2_value"}} in the streaming case.
● Only for XML to JSON: All element/attribute values are transformed to JSON string.
● Only for XML to JSON: No namespace declaration is written into the JSON document.
● Only for XML to JSON: Tabs, spaces, new lines between elements and attributes are ignored. However, a
white space value of an element with simple type is represented in JSON; example <A> </A> is
represented by "A":" ".
● Special case (only for XML to JSON): If you have an element with namespace but without XML prefix
whose namespace is not contained in the XML-namespace-to-Json-prefix map, then you get an exception:
<A xmlns="http://test"/> leads to IllegalStateException Invalid JSON namespace:
http://test.
This is not the case if you choose the streaming option. With streaming the namespace is just ignored: <A
xmlns="http://test"/>v</A> leads to {"A":"v"}.
● Special case (only for XML to JSON): If you have an element with namespace and XML prefix whose
namespace is not contained in the XML-namespace-to-Json-prefix map then the XML prefix is used as
JSON prefix <ns:A xmlns:ns:="http://test"/> leads to "ns.A":"" (if JSON delimiter is '.').
● Special case (only for JSON to XML): a member with JSON null value is transformed to empty element;
example: "C":null is converted to <C/>.
● Special case (only for JSON to XML): Conversion of "@attr":null to XML is not supported (you get a
NullPointerException, since cluster version 1.21 you get a JsonXmlException).
● Only for JSON to XML: The result XML document is encoded in UTF-8 and gets the XML header "<?xml
version='1.0' encoding='UTF-8'?>".
● Only for JSON to XML: The content of the XML-Namespace-to-JSON-Prefix map is transformed to
namespace prefix declarations on the root element.
● Special case (only for JSON to XML): If for a JSON prefix no XML Namespace is defined then the full
member name with the prefix and JSON delimiter is set as element name: "p.A" leads to <p.A>.
2.4.3.8.2
How Streaming in the XML-to-JSON Converter
Works
During streaming the XML document is processed in parts or segments:
The individual tags of an XML document are processed consecutively,irrespective of where in the overall
structure the tag occurs and how often (multiplicity). This means that during the streaming process the
converter cannot know if an element occurs in the structure more than once. In other words, during the
streaming process the object model that reflects the overall structure of the XML document (and, therefore,
also all information that can only be derived from the object model, like the multiplicity of elements) is not in
place. This is different to the non-streaming case, where the converter can calculate the multiplicity of the XML
elements from the object model of the complete XML document. The multiplicity is needed to create a correct
JSON document. Elements whose multiplicity is greater than one must be transformed to a JSON member
with an array. For example, you may think that for the XML document <root><B>b1</B><B>b2</B></
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
95
root>, you create the JSON document {“root”:{“B”:”b1”,”B”:”b2”}}. However, this JSON document is
invalid, because the member name “B” occurs twice on the same hierarchy level.
To ensure nevertheless a conversion that creates correct JSON documents during streaming, you need to
either manually provide the information about which XML elements are multiple in advance, or decide that
every XML element is converted to a JSON array (when configuring the converter in the Integration Designer).
To illustrate this behavior, let’s consider how the following simple XML structure has to be converted to JSON:
<root>
<A>a</A>
<B>b1</B>
<B>b2</B>
<C>c</C>
</root>
Note that the element root/B occurs twice (multiplicity = 2).
Without streaming, the converter would produce the following JSON structure:
{"root":{"A":"a","B":["b1","b2"],"C":"c"}}
As expected, the XML element root/B would transform into a JSON member with an array as value, where the
array has two values (b1 and b2) – according to the multiplicity of root/B. Note that a JSON array is indicated
by the following type of brackets: [ … ].
With streaming with all elements to JSON arrays, the converter would produce the following JSON structure:
{"root":[{"A":["a"],"B":["b1","b2"],"C":["c"]}]}
All XML elements are transformed into members with a JSON array as value.
With streaming and specific elements as arrays (where root/A and root/B are specified), the converter would
produce the following JSON structure:
{"root":{"A":["a"],"B":["b1","b2"],"C":"c"}}
An array is produced only for the XML elements root/A and root/B, but not for root/C.
With streaming and specific elements as arrays (where only root/A is specified), the converter would produce
the following invalid JSON structure:
{"root":{"A":["a"],"B":"b1",”B”:"b2","C":"c"}}
2.4.3.8.3
Limitations for XML-to-JSON Conversion
The following limitations apply to XML-to-JSON and JSON-to-XML conversion:
● The XML element and attribute names must not contain any delimiter characters, because the delimiter is
used in JSON to separate the prefix from the element name.
● Elements with mixed content are not supported.
The following limitations apply only to XML-to-JSON conversion:
● XML comments (<!-- comment -->) are not represented in the JSON document; they are ignored.
● DTD declarations are not represented in the JSON document; they are ignored.
96
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
● XML processing instructions are not represented in the JSON document; they are ignored.
● No conversion to JSON primitive types for XML to JSON. All XML element/attribute values are
transformed to a JSON string.
● Entity references (except the predefined entity references &amp; &lt; &gt; &quot; &apos;) are not
represented in the JSON document; they are ignored.
● If a sibling with another name resides between XML sibling nodes with the same name, then the order of
the siblings is not kept in JSON in the non-streaming case, because siblings with the same name are
represented by one array. Example: <root><childA>A1</childA><childB>B</
childB><childA>A2</childA></root> leads to {"root":{"childA":
["A1","A2"],"childB":"B"}}.
In the streaming case this leads to an invalid JSON document: {"root":{"childA":
["A1"],"childB":"B","childA":["A2"]}.
● If you have an element with a namespace but no XML prefix whose namespace is not contained in the
XML-namespace-to-JSON-prefix map, you get an exception: <A xmlns="http://test"/> ->
IllegalStateException Invalid JSON namespace: http://test.
If you choose the streaming option, the namespace is ignored: <A xmlns="http://test"/>v</A>
leads to {"A":"v"}.
The following limitations apply only to JSON-to-XML conversion:
● Conversion of "@attr":null to XML is not supported. You get a NullPointerException; as of cluster version
1.21 you get a JsonXmlException.
● JSON member names must not contain in their local or prefix part any characters that are not allowed for
XML element/attribute names (for example, space or column (':') are not allowed). XML element/attribute
names are of type NCName (see http://www.w3.org/TR/1999/REC-xml-names-19990114/#NTNCName ).
● JSON texts that start with an array (for example, [{"a":{"b":"bvalue"}}] ) are not supported. The
JSON text must start with a JSON object such as {{"a":{"b":"bvalue"}}}. A
javax.xml.stream.XMLStreamException is thrown. As of cluster version 1.21, a JsonXmlException is
thrown.
● The root JSON object must contain exactly one member. If the root JSON object contains more than one
member (for example, {"a":"avalue","b":"bvalue"}), a javax.xml.stream.XMLStreamException is
thrown. If the root JSON object is empty ({}), a javax.xml.stream.XMLStreamException is thrown. As of
cluster version 1.21, a JsonXmlException or IllegalStateException (for {}) is thrown.
● If no XML namespace is defined for a JSON prefix, the full member name with the prefix and JSON
delimiter is set as the element name: "p:A" -> <p:A>.
2.4.3.9
Defining Script
Context
You use this task to execute custom java script or groovy script for message processing.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
97
Procedure
1. Open the <integration flow>.iflw in the Model Configuration editor.
2. Add script in the integration flow, choose Add Message Transformers>Script from the context menu of a
connection within the pool.
3. Select the added script in the integration flow model to configure it.
4. If you already have an existing java script or groovy script, copy it to the folder src.main.resources.script.
To assign this script, choose Assign Script from the context menu of the Script element.
5. To create a new java script or groovy script, choose New Script from the context menu of the Script
element.
6. In the Properties view, specify the script step name in Name.
7. In the Properties view, specify a custom function that will take the “message” object as the argument in
Script Function.
In the script you require Script Function, which will be executed at runtime. The function definition is as
follows:
import com.sap.gateway.ip.core.customdev.util.Message
def Message processData(Message message) {
def body = message.getBody()
//modify body
message.setBody(body + "enhancements")
//modify headers
def map = message.getHeaders()
def value = map.get("oldHeader");
message.setHeader("oldHeader", value + "modified")
message.setHeader("newHeader", "headerValue")
}
//modify properties
map = message.getProperties()
value = map.get("oldProperty")
message.setProperty("oldProperty", value + "modified")
message.setProperty("newProperty", "script")
return message
8. Add or modify Header, Body, and Property by using the interfaces below on the "message" object.
1. You can use the following interfaces for Header:
○ public java.util.Map<java.lang.String,java.lang.Object> getHeaders()
○ public void setHeaders(java.util.Map<java.lang.String,java.lang.Object> exchangeHeaders)
○ public void setHeader(java.lang.String name, java.lang.Object value)
2. You can use the following interfaces for Body:
○ public java.lang.Object getBody()
○ public void setBody(java.lang.Object exchangeBody)
○ public java.lang.Object getBody(java.lang.String fullyQualifiedClassName)
Note
HCI framework supports conversion of payload into the following formats:
○ String
○ InputStream
○ byte[]
98
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
To convert the payload into String or InputStream use the following fullyQualifiedClassName:
○ java.lang.String
○ java.io.InputStream
To convert the payload into byte[] use the following:
○ For groovy script - def body = message.getBody(java.lang.String) as byte[]
○ For java script - var body = [message.getBody()]
3. You can use the following interfaces for Property:
○ public java.util.Map<java.lang.String,java.lang.Object> getProperties()
○ public void setProperties(java.util.Map<java.lang.String,java.lang.Object> exchangeProperties)
○ public void setProperty(java.lang.String name, java.lang.Object value)
Note
○ You should not add or modify a Property name starting with sap.
○ If no Script Function is specified in the script flow step, the Script Function name will be
processData by default.
9. Save the changes.
Note
○ The script should be saved in the src.main.resources.script folder.
○ In the Properties view, you can also choose Browse to select java scripts or groovy scripts for
custom processing.
○ You can also store external jar(s) in src.main.resources.lib. You can then invoke functions from
these external jar(s) in the script.
Next Steps
There are the following additional Java interfaces for the message processing log (MPL) which you can
address with the script step (either in Groovy Script or JavaScript):
● MessageLogFactory
Provides access to the message processing log.
● MessageLog
Supports writing properties and adding attachments to the message processing log.
The interface MessageLogFactory can be used through the variable messageLogFactory in order to
retrieve an instance of MessageLog.
You can use the following methods in an instance of MessageLog in order to set a property of a given type in
the message processing log:
● void setStringProperty(String name, String value)
● void setIntegerProperty(String name, Integer value)
● void setLongProperty(String name, Long value)
● void setBooleanProperty(String name, Boolean value)
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
99
● void setFloatProperty(String name, Float value)
● void setDoubleProperty(String name, Double value)
● void setDateProperty(String name, Date value)
You can use the following method in an instance of MessageLog in order to add an attachment to the message
processing log:
● void addAttachmentAsString(String name, String text, String mediaType)
If the value "null" is specified for the parameter mediaType, then the value "text/plain" is assumed as
media type.”
As an example, the following code lines allow you to set a string property:
Groovy:
def messageLog = messageLogFactory.getMessageLog(message)
messageLog.setStringProperty("Greeting", "Hello World!")
JavaScript:
var messageLog = messageLogFactory.getMessageLog(message)
messageLog.setStringProperty("Greeting", "Hello World!")
Caution
Note that the properties provided by the script step are displayed in alphabetical order in the resulting
message processing log (MPL). That means that the sequence of properties in the MPL does not
necessarily reflect the sequence applied in the script.
2.4.4
Defining Message Persistence
Context
Procedure
100
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
2.4.4.1
Defining Data Store Operations
You can use the transient data store to temporarily store messages.
Context
The transient data store (data store for sakes of simplicity) supports four types of operations:
Table 37: Data Store Operations
Operation
Used to ...
Write
Store the messages temporarily in the data store.
If you use a Write operation, you can store the messages in the data store by configuring the data store
name and a unique Entry ID.
Delete
Trigger the deletion of messages in the data store.
Select
Fetch messages in bulk from the data store.
You can also specify the number of messages you fetch in each poll.
Get
Fetch a specific message from the data store.
Procedure
1. Open the <integration flow>.iflw in the Model Configuration editor.
2. If you want to add a Data Store Operations step to the integration flow, choose Add Message Persistence>Data Store Operations from the context menu of a connection within the pool.
Note
Adding data store operations enables Write operations by default. The Switch to option allows you to
choose a different operation (Delete, Select or Get).
3. Enter the attributes of the step. The set of attributes depends on the chosen operation.
Attribute
Description
Data Store Name
Specifies the name of the data store (maximum 20 characters, no white spaces).
The default data store name for variables is sap_global_store. You must not
use this name for data store operations.
Visibility
Defines if the data store is shared by all integration flows (deployed on the tenant)
or only by one specific integration flow.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
101
Attribute
Description
○
Global: Data store is shared across all integration flows deployed on the
tenant.
○
Entry ID (only for Write, Delete
and Get operation)
Integration Flow: Data store is used by one integration flow.
Specify an entry ID that will be stored together with the message content.
Details for the entry ID are read from the incoming message. You can enter the
following kind of expressions:
○
${header.<name>} to generate the entry ID from the message header
○
${xpath.<xpath>} to generate the entry ID from an element in the
message indicated by an xPath expression
In the case of Write operations, if the Entry ID is not defined, the data store
component generates an entry ID.
In the case of Delete and Get operations, you can explicitly define an Entry ID or
pass header SapDataStoreId.
Retention Threshold for Alerting
Time period (in days) by which the messages have to be fetched before an alert is
(only for Write operation)
raised.
Expiration Period (only for Write
Number of days after which the stored messages are deleted (default is 90 days).
operation)
The minimum value of Expiration Period should be at least twice that of Retention
Threshold for Alerting.
Encrypt Stored Message (only
Select this option to encrypt the message in the data store.
for Write operation)
Overwrite Existing Message
Select this option to overwrite an existing message in the data store.
(only for Write operation)
Number of Polled Messages
Specifies number of messages to be fetched from the data store within one poll
(only for Select operation)
(default is 1).
Delete After Fetch (only for
Select this option to delete a message from the data store after successfully
Select and Get operation)
having fetched the message.
4. Save the changes.
Next Steps
You can display the content of the data store in the Data Store Viewer of the Integration Operations feature.
Note
● In the case of Select operations, you can select multiple messages. The content of the selected
messages will appear in the following format:
<messages>
102
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
<message id=”<Entry ID>”>
<Content of selected message>
</message>
<message id=”<Entry ID>”>
………..
……….
……….
</message>
<message id=”<Entry ID>”>
………..
……….
……….
</message>
</messages>
2.4.4.2
Defining Write Variables
You use write variables to specify values for variables and support message flow execution.
Procedure
1. Open the <integration flow>.iflw in the Model Configuration editor.
2. To add write variables in the integration flow, choose
the context menu of a connection within the pool.
Add Message Persistence
Write Variables
from
3. Select the Write Variables tab in the Properties view.
4. Choose Add.
5. Specify a name for the variable, and perform the following substeps to assign values to the variable.
a. To assign a value using an XPath, select xpath in the Type column and enter the XPath expression in
the Value column.
b. If the XPath contains a namespace prefix, specify the association between the namespace and the
prefix on the Runtime Configuration tab page of the integration flow Properties view.
Note
○ The Data Type column is applicable for the xpath and expression types. The data type can be
any Java class. An example of a data type for an XPath is java.lang.String.
c. To assign a value using a header, select header in the Type column and enter the header in the Value
column.
d. To assign an external parameter, select external parameter in the Type column and define a
parameter key.
e. To assign a property, select property in the Type column.
6. Save the changes.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
103
Note
○ If you want the variable to be used in multiple integration flows, select the global scope checkbox.
○ By default, stored variables are deleted 90 days after the last update; the system raises an alert 2
days before the variables expire.
○ The default data store name for variables is ‘sap_global_store’. You should not use this value as the
data store name for data store operations.
○ Variables should not have same name as header id in integration flow.
○ Properties are local variables.
2.4.4.3
Configuring Message Storage at a Process Step
Context
You use this task to configure a process step to store a message payload so that you can access the stored
message and analyze it at a later point in time.
In the integration flow, you mark a process step for persistence by specifying a unique step ID, which can be a
descriptive name or a step number. For example, a step ID configured after a mapping step could be
MessageStoredAfterMapping.
At runtime, the runtime node of the cluster stores information, such as GUID, MPL GUID, tenant ID,
timestamp, or payload, for the messages at the process steps that have been marked for persistence.
The message storage feature is useful for the following cases
● Auditing: The SaaS Admin can use this feature to analyze messages that have been processed.
Note
Messages can be stored in the runtime node for 90 days, after which the messages are automatically
deleted.
● Providing access to data owned by the customer : Since messages are processed on behalf of the
customer, you might need to access the customer-owned data after the messages have been processed
to provide it to the customer.
Procedure
1. Open the <integration flow>.iflw on the Model Configuration editor page.
2. Determine if you want to store the message payload before or after a process step.
For example, you can store the message payload before and after a mapping step, so you add Persist
Message at the two points.
104
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
3. In the Model Configuration editor, right-click the connection at the determined point within the pool and
choose the Add Persist Message option.
4. In the Model Configuration editor, select the Persist Message element.
5. In the Properties view, retain the auto-generated step ID for the process step, or edit it if required.
6. If you want to encrypt the message payload that is stored at the step ID, choose Encrypt the stored
message payload.
7. Save the changes.
2.4.5
Defining Message Routing
Context
Procedure
2.4.5.1
Defining Gateway
Prerequisites
You have selected the Content-Based Router (Multiple Interfaces/Multiple Receivers) pattern or you have
added the router element to the integration flow model from the palette.
Context
You perform this task when you have to specify conditions based on which the messages are routed to a
receiver or an interface during runtime. If the message contains XML payload, you form expressions using the
Xpath-supported operators. If the message contains non-XML payload, you form expressions using the
operators shown in the table below:
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
105
Table 38: Usage of Operators in Non- XML Conditions
Operator
Example
=
${header.SenderId} = '1'
!=
${header.SenderId} != '1'
>
${header.SenderId} > '1'
>=
${header.SenderId} >= '1'
<
${header.SenderId} < '1'
<=
${header.SenderId} <= '1'
and
${header.SenderId}= '1' and ${header.ReceiverId} = '2'
or
${header.SenderId}= '1' or ${header.ReceiverId}= '2'
contains
${header.SenderId} contains '1'
not contains
${header.SenderId} not contains '1'
in
${header.SenderId} in '1,2'
not in
${header.SenderId} not in '1,2'
regex
${header.SenderId} regex '1.*'
not regex
${header.SenderId} not regex '1.*'
Example
A condition with expression ${header.SenderId} regex '1.*' routes all the messages having Sender
ID starting with 1'.
Note
You can define a condition based on an exception that may occur. If condition $
{exception.message}contains 'java.lang.Exception' is true then gateway routes the message
to a particular receiver else it routes to other receiver.
Procedure
1. Open the <integration flow>.iflw in the Model Configuration editor.
2. If you want to add a gateway at any point in the integration flow, follow the steps below:
a. Right-click a connection within the pool and choose Add Routing.
b. Right-click the added Gateway notation and choose the relevant option, either Add Receiver or Add
Interface.
3. In the Model Configuration editor, select one of the routing branches splitting from the gateway.
4. On the Route tab of the Properties view, enter a descriptive name for the routing branch.
5. From the Expression Type dropdown, select the type of expression used to formulate the routing
condition.
106
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
a. Select XML to form an expression using Xpath.
b. Select Non-XML to form an expression using message header and message body.
6. In the Condition field, formulate a valid XML or non-XML condition that routes the message to its
associated receiver.
Recommendation
We recommend you to ensure that the routing branches of a gateway are configured with the same
type of condition, either XML or non-XML, and not a combination of both. At runtime, the specified
conditions are executed in the same order as displayed in the Properties view of the Gateway. If the
conditions are a combination of both non-XML and XML type, the evaluation fails.
Tip
To quickly configure routing conditions, select Define Condition from the context menu of the routing
branch.
7. If you want to set the selected route as the default, such that, its associated receiver handles the error
situation if no receiver is found, select the Default Route option.
Note
Only the route that was recently selected as Default Route is considered as the default route.
Tip
To quickly set a route as a default route from the Model Configuration editor tab page, select Set as
Default Route from the context menu of routing branch.
8. In the Model Configuration editor, select the Gateway notation.
9. In the Properties view, under Routing Behavior, select Raise Alert or Throw Exception to set the behavior if
no receiver is found.
Note
To configure an alert, see the Alert Configuration section in the Operations Guide.
10. To model the integration flow when no receiver is found, follow the steps below:
a. From the Palette select the Terminate End notation and drop it inside the pool in the Model
Configuration.
b. Place the cursor on the Gateway to select the connection from the hover menu and drag the
connection to the Terminate End notation.
Note
If you do not add the Terminate End notation in your integration flow model, the Raise Alert or
Throw Exception option does not apply.
11. Select the Gateway notation and, in the Properties view, check the overview of all the routes and their
conditions that you have defined for the scenario.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
107
2.4.5.2
Defining Splitter
A splitter step decomposes a composite message into a series of individual messages and sends them to a
receiver.
Prerequisites
You have selected the Splitter step or you have explicitly added the splitter step to the integration flow model.
Context
You perform this task if you need to break down a composite message into a series of individual messages and
send them to a receiver. You split the composite message based on the message type, for example, IDoc or
PKCS#7/CMS Signature-Content, or the manner in which the message is to be split, for example, general or
iterative splitter.
Procedure
1. Open the <integration flow>.iflw in the Model Configuration editor.
2. If you want to add a splitter to the integration flow, choose Add Splitter from the context menu of the
connection within the pool.
3. In the Model Configuration editor, select the splitter element.
4. In the Properties view, select a Splitter Type.
Table 39: Splitter Types
Splitter Type
Description
IDoc
Is used to split a composite IDoc messages into a series of
individual IDoc messages with the enveloping elements of
the composite IDoc message.
PKCS#7/CMS Signature-Content
Is used when an agent sends a PKCS7 Signed Data mes­
sage that contains a signature and content. This splitter
type breaks down the signature and content into separate
files.
108
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Splitter Type
Description
General
Is used to split a composite message comprising of N
messages into N individual messages each containing one
message with the enveloping elements of the composite
message.
Note
A possible use case for this splitter type is where a
message obtained from a sender contains multiple ac­
count statements and needs to be split into separate
individual messages, each containing the account
statement for one specific account owner.
Typically, the target message also needs to contain en­
veloping information such as the bank name or other
attributes to make the account statement complete. In
this case, it would make sense to choose the general
splitter pattern.
Iterating
Is used to split a composite message into a series of mes­
sages without copying the enveloping elements of the
composite message.
Note
A possible use case for this splitter type is where a
message obtained from a sender contains multiple or­
ders from different customers and needs to be split
into individual messages. Each resulting message
should contain the order of one customer only and is
to be routed to this customer. In this case it might
make more sense for the resulting split messages to
contain only data that is related to the corresponding
customer, without any of the additional information
that is contained in enveloping elements.
5. Specify the following properties.
Option
Description
Expression Type (only if you
have selected Iterating as
Splitter Type)
Specify the expression type you want to use to define the split point (the element in
the message structure below which the message is to be split).
XPath Expression (only if you
have selected General or
Iterating as Splitter Type, and in the case of an iterating
splitter - XPath Expression as
Expression Type)
Enter the XPath expression.
Note that only the following types of XPath expressions are supported:
○
Absolute XPath expressions, for example, /A/B/C/D
○
Relative XPath expressions, for example, //D
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
109
Option
Description
Note that each element with a namespace prefix has to be explicitly declared in the
following form (example):
xmlns:ns:="http://test"
If there are multiple elements with a namespace prefix, add the additional name­
space declarations after the XPath expression (separated by blank spaces).
Token (only if you have se­
lected Iterating as Splitter Type
and Token as Expression Type)
Enter the keyword or token that should be used as a reference for splitting the com­
posite message.
Grouping (only if you have se­
lected General or Iterating as
Splitter Type)
Specify the number of items each resulting split message should contain.
Example: If the composite has 10 items, and you enter 2 as Grouping, you will get 5
split messages, each containing 2 items.
Timeout (only if you have se­
lected General or Iterating as
Splitter Type)
Specify the maximum time in seconds that the system will wait for the processing to
complete before it is aborted.
Streaming (only if you have se­ Select this option if you want to stream the process of splitting a large composite
lected General or Iterating as
message by considering small chunks of the composite message in a series.
Splitter Type)
Parallel Processing (only if you
have selected General or
Iterating as Splitter Type)
Select this option if you want to enable processing of all the split messages at once.
Stop on Exception (only if you
have selected General or
Iterating as Splitter Type)
Select this option to stop message processing if an exception occurs.
Payload File Name (only if you
have selected PKCS#7/CMS
Signature-Content as Splitter
Type)
Enter the name of the file that should contain the payload after the splitting step.
Signature File Name (only if
you have selected
PKCS#7/CMS SignatureContent as Splitter Type)
Enter the name of the file (extension .sig) that should contain the signature after
the splitting step.
Wrap by Content Info (only if
you have selected
PKCS#7/CMS SignatureContent as Splitter Type)
Select this option if you want to wrap PKCS#7/CMS Signed Data containing the sig­
nature into PKCS#7 content.
Payload First (only if you have
selected PKCS#7/CMS
Signature-Content as Splitter
Type)
Select this option if you want the payload to be the first message returned.
Base64 Payload (only if you
have selected PKCS#7/CMS
Signature-Content as Splitter
Type)
Select this option if you want to encode the payload with a BASE64 encoding
scheme after splitting.
Base64 Signature (only if you
have selected PKCS#7/CMS
Signature-Content as Splitter
Type)
Select this option if you want to encode the signature using a BASE64 encoding
scheme after splitting.
6. Configure the details of the selected splitter type.
110
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Tip
For quick information about the fields, check the tooltips.
7. Save the changes.
Example
Consider the following XML payload structure as input for the Splitter step:
<orders>
<order>
<clientId>I0001</clientId>
<count>100</count>
</order>
<order>
<clientId>I0002</clientId>
<count>10</count>
</order>
</orders>
If you use Token as Expression Type and enter the order as Token, the XML payload is split into two output
files.
Output1.xml contains the following:
<order>
<clientId>I0001</clientId>
<count>100</count>
</order>
Output2.xml contains the following:
<order>
<clientId>I0002</clientId>
<count>10</count>
</order>
Using XPath as Expression Type, you can achieve the same behavior by entering one of the following two
expressions (as XPath)::
● /orders/order (absolute expression for the element <order>))
● //order (relative expression for the element <order>)
Next Steps
Note
You can use the Gather step after Splitter in an integration flow if you have configured the Splitter Type as
General or Iterating.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
111
Restriction
● You cannot use Splitter after Multicast.
● You cannot use two consecutive Splitter elements ending in Gather.
● You cannot use Splitter within a Subprocess.
Related Information
General and Iterating Splitter [page 112]
Signing the Message Content with PKCS#7/CMS Signer [page 122]
2.4.5.2.1
General and Iterating Splitter
The two splitter types General Splitter and Iterative Splitter behave differently in their handling of the
enveloping elements of the input message.
The General Splitter splits a composite message comprising of N messages into N individual messages, each
containing one message with the enveloping elements of the composite message. We use the term enveloping
elements to refer to the elements above and including the split point.
The Iterative Splitter splits a composite message into a series of messages without copying the enveloping
elements of the composite message.
The following figure illustrates the behavior of both splitter types; in both cases an input message comprising
four items is split into individual messages.
112
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
2.4.5.3
Defining an Aggregator
You can use the Aggregator step to combine multiple incoming messages into a single message.
Context
Note
When you use the Aggregator step in combination with a polling SFTP sender adapter and you expect a high
message load, please consider the following recommendation:
For the involved in SFTP sender adapter set the value for Maximum Messages per Poll to a small number
which is larger than 0 (for example, 20) (under Advanced Parameters). That way, you ensure a proper
message processing status logging at runtime.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
113
Procedure
1. Open the related integration flow and select an Aggregator step (in the palette under Message Routing).
2. Open the Properties view for the step.
3. Specify which incoming messages belong together and are to be aggregated. To do that, open Correlation
tab and enter an XPath expression that identifies an element based on which the incoming messages
should be correlated (in the field Correlation Expression (XPath)).
This attribute determines the messages which are to be aggregated in the following way: messages with
the same value for the message element defined by the XPATH expression are being stored in the same
aggregate.
4. Open the Aggregation Strategy tab and specify the following attributes:
Option
Description
Incoming
Format
The content type of the incoming message.
Currently, only XML (Same Format) can be selected.
It is important that the incoming messages have the same format.
Aggregation
Algorithm
Specifies how the correlated messages should be treated.
You can select one of the following options:
○
Combine in Sequence
Aggregated message contains all correlated incoming messages, and the original messages are
put into a sequence.
○
Combine
Aggregated message contains all correlated incoming messages.
The Aggregator step generates an SAP Process Integration multi mapping as specific format. This is
important to know because the integration developer typically has to create a mapping from the gen­
erated format to the message structure required by the receiver.
Message
Sequence
Expression
(XPath)
Enter an XPATH expression for that message element based on which a sequence is being defined.
You can use only numbers to define a sequence. Each sequence starts with 1.
(only if for
Aggregation
Algorithm the
option
Combine in
Sequence has
been se­
lected)
Last Message
Condition
(XPath)
Define the condition (XPATH = value) to identify the last message of an aggregate.
You have the option to use an Exclusive Gateway step after the Aggregator in order to evaluate the
Camel ${header.CamelAggregatedCompletedBy} attribute, and, based on the value, de­
cide how to continue.
Note that the header attribute can only have one of the following values:
114
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Option
Description
○
timeout
Processing of the aggregate has been finished because the configured Completion Timeout has
been reached.
○
predicate
Processing of the aggregate has been finished because the Completion Condition has been fulfil­
led.
Completion
Timeout
Defines the maximum time between two messages before aggregation is being stopped (period of
inactivity).
You have the option to use an Exclusive Gateway step after the Aggregator in order to evaluate the
Camel ${header.CamelAggregatedCompletedBy} attribute, and, based on the value, de­
cide how to continue.
Note that the header attribute can only have one of the following values:
○
timeout
Processing of the aggregate has been finished because the configured Completion Timeout has
been reached.
○
predicate
Processing of the aggregate has been finished because the Completion Condition has been fulfil­
led.
Data Store
Name
Enter the name of the transient data store where the aggregated message is to be stored.
Note that only local data stores (that apply only to the integration flow) can be used. Global data
stores cannot be used for this purpose.
By default, the following name is provided: DS-Aggregator-01.
Note
The Integration Operations feature provides a Data Store Viewer that allows you to monitor your
transient data stores.
Results
The Aggregator step creates a message in the multi-mapping format with just one message instance:
<?xml version="1.0" encoding="UTF-8"?>
<sm:Messages xmlns:sm="http://sap.com/xi/XI/SplitAndMerge">
<Message1>
...
</Message1>
</sm:Messages>
Related Information
Multi-Mappings [page 174]
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
115
2.4.5.4
Defining Multicast of Messages
Prerequisites
● You have created an integration project and integration flow.
● You have opened the Integration Designer perspective.
Context
Multicast enables you to send the same message to more than one receiver. This allows you to perform
multiple operations on the same message in a single integration flow. Without multicast, you require separate
integration processes to perform different operations on the same incoming message.
There are two types of multicast that you can choose:
1. Parallel multicast
2. Sequential multicast
Parallel multicast initiates message transfer to all the receiver nodes in parallel.
Sequential multicast provides an option to define the sequence in which the message transfer is initiated to
the receiver nodes.
If you want to aggregate the message that is sent to more than one receiver node, you can use the join and
gather elements.
Restriction
1. You cannot use splitter element within a multicast branch.
2. If you are using SFTP receiver with parallel multicast, the message might be corrupted in one or more of
the multicast branches. The message is corrupted in the branches where the SFTP receiver does not
write the complete data in its respective SFTP files.
You can overcome this limitation in two ways:
1. Add a content modifier before the SFTP receiver. In the content modifier, specify the Body as $
{bodyAs(byte[])}.
2. You can switch from parallel multicast to sequential multicast.
Procedure
You use this procedure to add a multicast and join elements to your integration flow.
1. In the Model Configuration editor, access the palette.
2. If you want to add a multicast or join element, perform the following substeps.
116
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
a. Choose Message Routing.
b. If you want to add parallel multicast, drag the
flow.
element from palette to the integration
c. If you want to add sequential multicast, drag the
integration flow.
element from the palette to the
3. If you want to combine the messages, see Defining Join and Gather [page 117].
4. Add the necessary elements based on your scenario to complete the integration flow.
5. Save the changes.
2.4.5.5
Defining Join and Gather
Context
The Join element enables you to bring together the messages from different routes before combining them
into a single message. You use this in combination with the Gather element. Join only brings together the
messages from different routes without affecting the content of messages.
The Gather step enables you to merge messages from more than one route in an integration process. You
define conditions based on the type of messages that you are gathering using the Gather step. You can choose
to gather:
1. XML messages of different format
2. XML messages of the same format
3. Plain text messages
Based on this, you choose the strategy to combine the two messages.
● For XML messages of the same format, you can combine without any conditions (multimapping format) or
specify the XPath to the node at which the messages have to be combined.
● For XML messages of different formats, you can only combine the messages
● For plain text messages, you can only specify concatenation as the combine strategy
● Specify valid xpath expression that includes namespace prefixes if incoming payload contains namespace
declarations, including default namespace declarations.
Remember
● If you want to combine messages that are transmitted to more than one route by Multicast, you need to
use Join before using Gather.
● If you want to combine messages that are split using Splitter, you use only Gather.
If your incoming payload contains namespace declarations including default namespace, ensure that you
specify xpath with namespace prefixes. Also ensure that the namespace prefix mapping is defined in the
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
117
runtime configuration. If the xpath you have defined does not exist in any of the branches of the incoming XML,
the scenario fails with an exception.
Consider the following XML:
Sample Code
<root xmlns="http:defaultnamespace.com">
<f:table xmlns:f="http://www.w3schools.com/furniture">
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
<table>
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
</root>
f and d are the prefixes defined in the Namespace Mapping field of Runtime Configuration and mapped to the
namespaces http://www.w3schools.com/furniture and http:defaultnamespace.com respectively.
Examples of valid xpaths for the above XML are:
● //f:table
● /d:root/f:table
● /d:root/d:table
Procedure
You use this procedure to combine messages using Gather in an integration process.
1. Open the integration flow in Model Configuration editor.
2. In the palette of the Model Configuration editor, choose Message Routing.
3. To add Join, drag
from the palette to the integration process.
4. Connect all the messages that you want to merge to the
5. To add Gather, drag
element.
from the palette to the integration process.
6. In the Properties tab page, select value in Incoming Format field based on description in table.
Value
Description
XML (Same Format)
If messages from different routes are of the same format
XML (Different Format)
If messages from different routes are of the different for­
mat
Plain Text
If messages from different routes are of the plain text for­
mat
7. Select value for Aggregation Algorithm field based on description given in table.
118
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Table 40:
Incoming Format
Aggregation Algo­
rithm
Description
Additional Fields
Description
XML (Same Format)
Combine
Combine the incoming
messages without any
conditions. The mes­
sages are combined in
Multimapping format.
NA
NA
Note
In case you are us­
ing the mapping
step to map the
output of this strat­
egy you can have
the source XSD in
the LHS and spec­
ify the Occurrence
as 0..Unbounded.
Combine at XPath
XML (Different For­
mat)
Combine
Combine the incoming Combine from Source
messages at the speci­ (XPath)
fied XPath
Combine the incoming
messages without any
conditions in multi
mapping format.
XPath of the node that
you are using as refer­
ence in the source
message to retrieve
the information.
Combine at Target
(Path)
Path to node which
would act as the root
for combined message
NA
NA
Note
In case you are us­
ing the mapping
step to map the
output of this strat­
egy you can add
the XSD’s from the
different multicast
branches one after
another in LHS. The
sequence of the
messages is impor­
tant and so this
strategy makes
sense only with the
sequential multi­
cast.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
119
Incoming Format
Aggregation Algo­
rithm
Description
Additional Fields
Plain Text
Concatenate
Concatenate the infor­ NA
mation from the differ­
ent sources one after
another
Description
NA
8. Save changes.
2.4.6
Defining Security Elements
Message-level security features allow you to digitally encrypt/decrypt or sign/verify a message (or both). The
following standards and algorithms are supported.
Context
Ensuring security is important, during message exchange, to preserve the integrity of messages. A sender
participant uses signatures to ensure authenticity of the sender, and encryption to prevent non-repudiation of
messages during the message exchange.
Procedure
Related Information
Signing the Message Content with PKCS#7/CMS Signer [page 122]
Signing the Message Content with an XML Digital Signature [page 123]
Verifying the PKCS#7/CMS Signature [page 137]
Verifying the XML Digital Signature [page 138]
Encrypting and Signing the Message Content with PKCS#7/CMS [page 144]
Encrypting and Signing the Message Content with OpenPGP [page 145]
Decrypting and Verifying the Message Content with PKCS#7/CMS [page 147]
Decrypting and Verifying the Message Content with OpenPGP [page 149]
Signing the Message Content with Simple Signer [page 121]
120
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
2.4.6.1
Signing the Message Content with Simple Signer
Simple Signer makes it easy to sign messages to ensure authenticity and data integrity when sending a
message to participants on the cloud.
Context
You work with the Simple Signer to make the identity of the sender known to the receiver(s) and thus ensure
the authenticity of the messages. This task guarantees the identity of the sender by signing the messages with
a private key using a signature algorithm.
In the integration flow model, you configure the Simple Signer by providing a private key alias. The signer uses
the alias name to get the private key of type DSA or RSA from the keystore. You also specify the signature
algorithm for the key type, which is a combination of digest and encryption algorithms, for example,
SHA512/RSA or SHA/DSA. The Simple Signer uses the algorithm to generate the corresponding signature.
Procedure
1. In the Model Configuration editor, select the Signer element and, from the context menu, select the Switch
to Simple Signer option.
2. To configure the signer with a saved configuration that is available as a template, choose Load Element
Template from the context menu of the Signer element.
3. On the Simple Signer tab page, enter the parameters to create a signature for the incoming message.
Option
Description
Name
Enter a name for the signer. It must consist of alphanumeric ASCII characters or underscores and
start with a letter. The minimum length is 3, the maximum length is 30.
Private Key Alias
Enter an alias to select the private key from the keystore.
You can also specify that the alias is read dynamically from a message header; for example, if you
specify ${header.abc} then the alias value is read from the header with the name "abc“.
Signature
Algorithm
Select a signature algorithm for the RSA or DSA private key type.
Signature Header Enter the name of the message header where the signature value in Base64 format is stored.
Name
4. Save the changes.
5. To save the configuration of the signer as a template, choose Save as Template from the context menu of
the Signer element.
Note
When you save the configuration of the Signer element as a template, the tool stores the template in the
workspace as <ElementTemplate>.fst.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
121
2.4.6.2
Signing the Message Content with PKCS#7/CMS
Signer
Context
You work with the PKCS#7/CMS signer to make your identity known to the participants and thus ensure the
authenticity of the messages you are sending on the cloud. This task guarantees your identity by signing the
messages with one or more private keys using a signature algorithm.
Working with PKCS#7/CMS Signer
In the integration flow model, you configure the PKCS#7/CMS signer by providing one or more private key
aliases. The signer uses the alias name to get the private keys of type DSA or RSA from the keystore. You also
specify the signature algorithm for each key type, which is a combination of digest and encryption algorithms,
for example, SHA512/RSA or SHA/DSA. The PKCS#7/CMS signer uses the algorithm to generate
corresponding signatures. The data generated by the signer is known as the Signed Data.
Procedure
1. Open the <integration flow>.iflw in the Model Configuration editor.
2. Right-click a connection within the pool and choose
Add Security Element
Message Signer .
3. In the Model Configuration editor, select the Signer element.
Note
By default, the Signer is of type PKCS#7/CMS. If you want to work with XML Digital Signature or Simple
Signature, choose the relevant option from the context menu.
4. To configure the signer with a saved configuration that is available as a template, choose Load Element
Template from the context menu of the Signer element.
5. In the Properties view, enter the details to sign the incoming message with one or more signatures.
Table 41: Parameters and Values of PKCS#7/CMS Signer
Parameters
Description
Name
Name for the signer step
Block Size (in bytes)
Enter the size of the data that is to be encoded.
If you enter a value equal to or less than 0, the whole data
is encoded.
122
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Parameters
Description
Include Content in Signed Data
You can choose to include the original content that is to
be signed in the Signed Data element. This Signed Data
element is written to the message body. Otherwise, you
can choose to include the Signed Data in the
SapCmsSignedData header and only keep the original
content in the message body.
Encode Signed Data with Base64
You can also Base64-encode the Signed Data in either the
message body or the message header, to further protect
it during message exchange.
Note
When you Base64-encode the Signed Data, you en­
code either the message header or body, depending
on where the Signed Data is placed. When verifying the
message, make sure you specify which part of the
message (header or body) was Base64-encoded.
Signer Parameters
The following parameters can be defined:
○
Private Key Alias
○
Signature Algorithm
○
Include Certificates
○
Include Signing Time
6. Save the changes.
7. To save the configurations of the signer as a template, choose Save as Template from the context menu of
the Signer element.
Note
When you save the configuration of the Signer element as a template, the tool stores the template in the
workspace as <ElementTemplate>.fst.
2.4.6.3
Signing the Message Content with an XML Digital
Signature
You sign with an XML digital signature to ensure authenticity and data integrity while sending an XML resource
to the participants on the cloud.
Context
The following types of XML digital signatures are supported:
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
123
● Enveloping XML Signature: The input message body is signed and embedded within the signature. This
means that the message body is wrapped by the Object element, where Object is a child element of the
Signature element.
Example
A template of the enveloping signature is shown below and describes the structure supported by XML
signature implementation. ("?" denotes zero or one occurrence; the brackets [] denote variables whose
values can vary.)
<Signature>
<SignedInfo>
<CanonicalizationMethod>
<SignatureMethod>
<Reference URI="#[generated object_id]"
type="[optional_type_value]">
<Transform Algorithm="canonicalization method">
<DigestMethod>
<DigestValue>
</Reference>
(<Reference URI="#[generated keyinfo_id]">
<Transform Algorithm="http://www.w3.org/TR/2001/REC-xmlc14n-20010315"/>
<DigestMethod>
<DigestValue>
</Reference>)?
</SignedInfo>
<SignatureValue>
(<KeyInfo Id="[generated keyinfo_id]">)?
<--!The Id attribute is only added if there exists a reference-->
<Object Id="[generated object_id]"/>
</Signature>
● Enveloped XML Signature: The digital signature is embedded in the XML message to be signed. This
means that the XML message contains the Signature element as one of its child elements. The Signature
element contains information such as:
○ Algorithms to be used to obtain the digest value
○ Reference with empty URI, which means the entire XML resource
○ Optional reference to the KeyInfo element (attribute Also Sign Key Info)
Example
A template of the enveloped signature is shown below and describes the structure supported by XML
signature implementation. ("?" denotes zero or one occurrence; the brackets [] denote variables whose
values can vary):
<[parent element]>
...
<Signature>
<SignedInfo>
<CanonicalizationMethod>
<SignatureMethod>
<Reference URI="" type="[optional_type_value]">
<Transform Algorithm="http://www.w3.org/2000/09/
xmldsig#enveloped-signature"/>
<Transform Algorithm=[canonicalization method]/>
<DigestMethod>
<DigestValue>
</Reference>
(<Reference URI="#[generated keyinfo_Id]">
124
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
c14n-20010315"/>
<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-
<DigestMethod>
<DigestValue>
</Reference>)?
</SignedInfo>
<SignatureValue>
(<KeyInfo Id="[generated keyinfo_id]">)?
<--!The Id attribute is only added if there exists a reference-->
</Signature>
</[parent element]>
● Detached XML Signature: The digital signature is a sibling of the signed element. There can be several
XML signatures in one XML document.
You can sign several elements of the message body. The elements to be signed must have an attribute of
type ID. The ID type of the attribute must be defined in the XML schema that is specified during the
configuration.
Additionally, you specify a list of XPath expressions pointing to attributes of type ID. These attributes
determine the elements to be signed. For each element, a signature is created as a sibling of the element.
The elements are signed with the same private key. Elements with a higher hierarchy level are signed first.
This can result in nested signatures.
Example
A template of the detached signature is shown below and describes the structure supported by XML
signature implementation. ("?" denotes zero or one occurrence; the brackets [] denote variables whose
values can vary):
(<[signed element] Id="[id_value]">
<!-- signed element must have an attribute of type ID -->
...
</[signed element]>
<other sibling/>* <!-- between the signed element and the corresponding
signature element, there can be other siblings -->
<Signature>
<!-- signature element becomes the last sibling of the signed element -->
<SignedInfo>
<CanonicalizationMethod>
<SignatureMethod>
<ReferenceURI="#[id_value]"type="[optional_type_value]">
<!-- reference URI contains the ID attribute value of the signed
element -->
<TransformAlgorithm=[canonicalization method]/>
<DigestMethod>
<DigestValue>
</Reference>
(<ReferenceURI="#[generated_keyinfo_Id]">
<TransformAlgorithm="http://www.w3.org/TR/2001/REC-xmlc14n-20010315" />
<DigestMethod>
<DigestValue>
</Reference>)?
</SignedInfo>
<SignatureValue>
(<KeyInfoId="[generated_keyinfo_id]">)?
<!-- The Id attribute is only added if there exists a reference with the
corresponding URI -->
<Signature>)+
Note that the following elements are generated and cannot be configured with the Integration Designer:
● Key Info ID
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
125
● Object ID
Working with XML Digital Signer
The sender canonicalizes the XML resource to be signed, based on the specified transform algorithm. Using a
digest algorithm on the canonicalized XML resource, a digest value is obtained. This digest value is included
within the 'Reference' element of the 'SignedInfo' block. Then, a digest algorithm, as specified in the signature
algorithm, is used on the canonicalized SignedInfo. The obtained digest value is encrypted using the sender's
private key.
Note
Canonicalization transforms the XML document to a standardized format, for example, canonicalization
removes white spaces within tags, uses particular character encoding, sorts namespace references and
eliminates redundant ones, removes XML and DOCTYPE declarations, and transforms relative URIs into
absolute URIs. The representation of the XML data is used to determine if two XML documents are
identical. Even a slight variation in white spaces results in a different digest for an XML document.
Procedure
1. In the Model Configuration editor, select the Signer element and, from the context menu, select the Switch
to XML Digital Signer option.
2. To configure the signer with a saved configuration that is available as a template, choose Load Element
Template from the context menu of the Signer element.
3. On the XML Digital Signer tab page, enter the parameters to create an XML digital signature for the
incoming message.
Option
Description
Private Key Alias
Enter an alias to select the private key from the keystore.
Signature Algorithm
Select a signature algorithm for the RSA or DSA private key type.
Using the private key, the sender encrypts the digest.
Digest Algorithm
Select the digest algorithm that is used to calculate a digest from the canonicalized XML
document.
Note that if the digest algorithm is not specified, the digest algorithm of the signature al­
gorithm is used by default.
Signature Type
○
Enveloping XML Signature
The input message body is signed and embedded in the signature. This means that
the message body is wrapped by the Object element, where Object is a child el­
ement of the Signature element.
○
Enveloped XML Signature
The digital signature is embedded in the XML message to be signed. This means
that the XML message contains the Signature element as one of its child ele­
ments.
○
126
Detached XML Signature
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Option
Description
The digital signature is a sibling of the signed element. There can be several XML sig­
natures in one XML document.
XML Schema file path
(only if the option
Detached XML Signatures
is selected)
Choose Browse and select the file path to the XML schema file that is used to validate the
incoming XML document. This file has to be in the package source.main.resources.xsd
Signatures for Elements
(only if the option
Detached XML Signatures
is selected)
Choose Add to enter the XPath to the attribute of type ID, in order to identify the element
to be signed. Example: /nsx:Document/SubDocument/@Id
Namespaces prefixes must be defined in the namespaces mapping of the runtime con­
figuration.
Parent Node (only if the
option Enveloped XML
Signature is selected for
the attribute Signature
Type)
Specify how the parent element of the Signature element is to be specified. You have the
following options:
○ Specified by Name and Namespace (using local name and namespace)
○ Specified by XPath expression (using an XML Path Language (XPath))
Parent Node Name (only if Specify a local name of the parent element of the Signature element.
the option Enveloped XML
This attribute is only relevant for Enveloped XML Signature case. The Signature element
Signature is selected for
is added at the end of the children of the parent.
the attribute Signature
Type and Specified by
Name and Namespace is
selected for Parent Node)
Parent Node Namespace
(only if the option
Enveloped XML Signature
is selected for the attrib­
ute Signature Type and
Specified by Name and
Namespace is selected
for Parent Node)
Specify a namespace of the parent element of the Signature element.
This attribute is only relevant for Enveloped XML Signature case. In the Enveloped XML
Signature case, a null value is also allowed to support no namespaces. An empty value is
not allowed.
XPath Expression (only if
Enter an XPath expression for the parent node to be specified.
the option Enveloped XML
This attribute is only relevant for Enveloped XML Signature case.
Signature is selected for
the attribute Signature
Type and Specified by
XPath expression is se­
lected for Parent Node)
Key Info Content
Specifies which signing key information will be included in the KeyInfo element of the
XML signature. You can select a combination of the following attribute values:
○ X.509 Certificate Chain
X509Certificate elements representing the certificate chain of the signer key
Note
The KeyInfo element might not contain the whole certificate chain, but only the
certificate chain that is assigned to the key pair entry.
○
X.509 Certificate
X509Certificate element containing the X.509 certificate of the signer key
○
Issuer Distinguished Name and Serial Number
X509IssuerSerial element containing the issuer distinguished name and the serial
number of the X.509 certificate of the signer key
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
127
Option
Description
○
Key Value
Key Value element containing the modulus and exponent of the public key
Note
You can use any combination of these four attribute values.
With this attribute you can specify a reference to the KeyInfo element.
Sign Key Info
For more information about the various attributes, see the following:
http://www.w3.org/TR/xmldsig-core/
4. On the Advanced tab page, under Transformation, specify the following parameters.
Option
Description
Canonicalization Method for
SignedInfo
Specify the canonicalization method to be used to transform the SignedInfo element
that contains the digest (from the canonicalized XML document).
Transform Method for Payload
Specify the transform method to be used to transform the inbound message body
before it is signed.
For more information about the various methods, see the following:
http://www.w3.org/TR/2001/REC-xml-c14n-20010315
http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments
http://www.w3.org/2001/10/xml-exc-c14n#
http://www.w3.org/2001/10/xml-exc-c14n#WithComments
5. On the Advanced tab page, under XML Document Parameters, specify the following parameters.
Option
Description
Reference Type
Enter the value of the type attribute of the content reference.
If you enter null or empty, no reference type is created.
More information: http://www.w3.org/2000/09/xmldsig#Object
Namespace Prefix
Enter a prefix for the XML signature namespace.
Default value is ds.
Signature Id
Specifies the value of the Id attribute of the Signature element.
If you specify no value, no Id attribute is added to the Signature element.
Output Encoding
Select an encoding scheme for the output XML document.
The encoded output document will be written into the message header. If no encoding scheme is
specified, the output will be UTF-8-encoded.
128
Exclude XML
Declaration
Specify whether the XML declaration header shall be omitted in the output XML message.
Disallow DOCTYPE
Declaration
Specify whether DTD DOCTYPE declarations shall be disallowed in the incoming XML message.
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
6. Save the changes.
7. To save the configurations of the signer as a template, choose Save as Template from the context menu of
the Signer element.
Note
When you save the configuration of the Signer element as a template, the tool stores the template in the
workspace as <ElementTemplate>.fst.
2.4.6.4
Signing the Message Content with XML Advanced
Electronic Signature
XML Advanced Electronic Signature (XAdES) allows you to create digital signatures based on XML Digital
Signature that include additional qualifying properties.
Context
The additional properties allow you to create signatures that are compliant with the European Directive
(http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2000:013:0012:0020:EN:PDF ).
XAdES is an industry standard based on XML Signature and issued by the European Telecommunications
Standards Institute (ETSI). It allows you to enhance the digital signature with additional data, for example,
timestamps to provide evidence that the signature key was valid at the time the signature was created.
The following XAdES forms are supported:
Table 42: XAdES Forms
Form
Allows you to ...
XAdES-BES (variants XAdES-BES (1)
and XAdES-BES (2))
Create an electronic signature based on XML Digital Signature that includes ad­
ditional properties to further qualify the signature.
(XAdES Basic Electronic Signature)
XAdES-EPES
Create an electronic signature based on XML Digital Signature that unambigu­
(XAdES Explicit Policy based Electronic
ously refers to a signature policy agreed between signer and verifier. An elec­
Signature)
tronic signature built in this way enforces the usage of the signature policy for
signature validation and thus increases the security level of the usage of the dig­
ital signature.
Note
There are additional XAdES forms defined by the specification. SAP currently only supports XAdES-BES (in
two variants) and XAdES-EPES.
For more information, see http://uri.etsi.org/01903/v1.3.2/ts_101903v010302p.pdf
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
.
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
129
Procedure
Related Information
Signing the Message Content with XAdES-BES (1) [page 131]
Signing the Message Content with XAdES-BES (2) [page 133]
Signing the Message Content with XAdES-EPES [page 134]
Message Headers [page 136]
Limitations [page 130]
2.4.6.4.1
Limitations
SAP currently only supports XAdES-BES and XAdES-EPES. There are a number of additional limitations.
● No support for the QualifyingPropertiesReference element (see section 6.3.2 of the XAdES
specification at http://uri.etsi.org/01903/v1.3.2/ts_101903v010302p.pdf
).
● No support for signature forms XAdES-T and XAdES-C.
● No support for the Transforms element contained in the SignaturePolicyId element contained in the
SignaturePolicyIdentifier element.
● No support of the CounterSignature element; this implies that there is no support for the
UnsignedProperties element.
● At most one DataObjectFormat element is supported.
More than one DataObjectFormat element does not make any sense in the use cases supported by the
Signer step, because only one signed data object is expected (the incoming message body to the XML
signer).
● At most one CommitmentTypeIndication element is supported.
More than one CommitmentTypeIndicationelement does not make any sense in the use cases
supported by the Signer step, because only one signed data object is expected (the incoming message
body to the XML signer).
● A CommitmentTypeIndication element always contains the AllSignedDataObjects element.
The ObjectReference element within a CommitmentTypeIndication element is not supported.
● No support of the AllDataObjectsTimeStamp element (it requires a time authority).
● No support of the IndividualDataObjectsTimeStamp element (it requires a time authority).
130
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
2.4.6.4.2
Signing the Message Content with XAdES-BES (1)
This option allows you to add timestamps (for the signing time), a reference to the signer's key certificate, and
other information that further qualifies the signature.
Context
For more information, see http://uri.etsi.org/01903/v1.3.2/ts_101903v010302p.pdf
.
Procedure
1. In the Model Configuration editor, select the Signer element and, from the context menu, select the Switch
to XAdES-BES (1) option.
2. Add the signing time and the certificate to the signature.
Option
Description
Time
Select this option if you want to add the signing time to the signature.
This measure helps to provide evidence that the signature key was valid at the time the signa­
ture was created.
Certificate
Specify whether the certificate of the signing key is to be added to the signature.
You have the following options:
○
None
○
Certificate Only
Add no certificate.
Add digest value, issuer, and serial number of the signing certificate.
○
Certificate Chain
Add digest value, issuer, and serial number of the certificates of the certificate chain.
Digest Algorithm
(only when either
Certificate
Only or
Certificate
Chain is selected
Specify a digest algorithm that is to be used to calculate a digest value from the certificate.
This measure helps to control whether the certificate that is used to verify the message content
corresponds to the one that has been used to sign the message content.
SHA256 is proposed as the default.
for Certificate)
Certificate URI
Specify a reference to the certificate.
If as Certificate you have selected Certificate Only, only one URI is allowed.
If as Certificate you have selected Certificate Chain, you can add for each certificate in
the certificate chain an URI. The URI must be added at the position where the corresponding
certificate in the chain is located. At the position 0 the signing certificate URI must be placed. If
for a certain certificate in the chain no URI is available, enter an empty string at the correspond­
ing place in the URI list.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
131
Adding the signer's key certificate and its digest value to the signed document makes sure that the signed
document contains an unambiguous reference to the signer's certificate.
3. Specify the signer role.
These properties allow you to specify the role of the signer in order to make clear the signer's position in
the company or organization. Doing this helps provide evidence to the verifier that the signer is
empowered by the organization to perform the signing task.
Option
Description
Claimed Roles
(optional)
Specify the claimed roles of the signer.
To specify a claimed role, choose Add and enter a text or an XML fragment with the root element
ClaimedRole.
Certified Roles
(optional)
Specify the roles of the signer which are certified by an attribute certificate.
An attribute certificate associates the identifier of a certificate to some attributes of its owner, in this
case, to a role
The specified attribute certificates must be base-64 encoded.
To specify a certified role, choose Add and specify the following attributes:
○
Encoding
Select the encoding scheme.
An empty string indicates that the Encoding attribute is not specified. In this case, it is assumed
that the PKI data is ASN.1 data encoded in DER.
○
ID (optional)
4. Under Data Object Format, specify the format of the signed data.
Option
Description
Description (optional)
Provide an informal text to describe the format of the signed data.
MIME Type (optional)
Specify the Internet Media Type (MIME type) that determines the data object format.
You need to enter the MIME type manually.
Example: text/xml
This information can help to parse the signed document correctly.
5. Specify the Identifier of the data object format.
Option
Description
Name
Specify an identifier to indicate the format of a signed data.
You can specify the identifier by one of the following options:
○
By means of a Uniform Resource Identifier (URI) (preferred option when dealing
with XML documents)
In this case, the Name of the identifier consists of the identifying URI. In this case,
○
By means Object Identifier (OID) when using ASN.1 (Abstract Syntax Notation
One)
To support an OID, the content of Identifier consists of an OID, either encoded as
the property Qualifier must not be specified (empty string).
Uniform Resource Name (URN) or as Uniform Resource Identifier (URI). The op­
132
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Option
Description
tional Qualifier attribute can be used to provide a hint about the applied encoding
(values OIDAsURN or OIDAsURI).
Qualifier (only relevant if an Further qualify how the identifier is defined in case Abstract Syntax Notation One (ASN
Identifier Name has been
1) is used.
specified)
You can select one of the following values:
○
○
○
empty string
OIDAsURI – uses Uniform Resource Name.
OIDAsURN – uses Uniform Resource Name.
Description (only relevant if Provide a reference to further documentation of the identifier.
an Identifier Name has
been specified)
Documentation Reference
(only relevant if an Identi­
fier Name has been speci­
fied)
2.4.6.4.3
Signing the Message Content with XAdES-BES
(2)
This option allows you to add further contextual information to the signature, like, for example, the place
where the signature has been created, or the type of commitment assured by the signer when creating the
signature.
Context
For more information, see http://uri.etsi.org/01903/v1.3.2/ts_101903v010302p.pdf
.
Procedure
1. In the Model Configuration editor, select the Signer element and, from the context menu, select the Switch
to XAdES-BES (2) option.
2. Under Production Place enter information on the purported place where the signer claims to have
produced the signature (City, State/Province, Postal Code, and Country Name).
3. Specify the commitment to be undertaken by the signer (for example, proof of origin, proof of receipt,
proof of creation).
Option
Description
Commitment
Specify the commitment. You can select one of the following values:
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
133
Option
Description
○
Proof of origin
Indicates that the signer recognizes to have created, approved and sent the signed data ob­
ject.
The URI for this commitment is: http://uri.etsi.org/01903/v1.2.2#ProofOfOrigin
○
.
Proof of receipt
Indicates that signer recognizes to have received the content of the signed data object.
The URI for this commitment is: http://uri.etsi.org/01903/v1.2.2#ProofOfReceipt
○
.
Proof of delivery
Indicates that the trusted service provider (TSP) providing that indication has delivered a
signed data object in a local store accessible to the recipient of the signed data object.
The URI for this commitment is: http://uri.etsi.org/01903/v1.2.2#ProofOfDelivery
○
.
Proof of sender
Indicates that the entity providing that indication has sent the signed data object (but not
necessarily created it).
The URI for this commitment is: http://uri.etsi.org/01903/v1.2.2#ProofOfSender
○
.
Proof of approval
Indicates that the signer has approved the content of the signed data object.
The URI for this commitment is: http://uri.etsi.org/01903/v1.2.2#ProofOfApproval
○
.
Proof of creation
Indicates that the signer has created the signed data object (but not necessarily approved,
nor sent it).
The URI for this commitment is: http://uri.etsi.org/01903/v1.2.2#ProofOfCreation
Description
Enter a free text description of the commitment.
Documentation
Reference
Enter references (URIs) to one or more documents where the commitment is described.
Commitment
Qualifier
Enter additional qualifying information on the commitment made by the signer.
.
Enter a text or an XML fragment with the root element CommitmentTypeQualifier.
Adding these properties helps to avoid legal disputes as the commitment undertaken by the signer can be
compared with the commitment made in the context of an applied signature policy.
4. Under XML Document Parameters, select the namespace of the XAdES version and enter a namespace
prefix.
2.4.6.4.4
Signing the Message Content with XAdES-EPES
This option allows you to create a digital signature based on XML Digital Signature that unambiguously refers
to a signature policy agreed between signer and verifier. An electronic signature created this way enforces the
134
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
usage of the signature policy for signature validation and thus increases the security level of the digital
signature.
Context
A signature policy is a set of rules for the creation and validation of a digital signature.
For more information, see http://uri.etsi.org/01903/v1.3.2/ts_101903v010302p.pdf
.
Procedure
1. In the Model Configuration editor, select the Signer element and, from the context menu, select the Switch
to XAdES-EPES option.
2. Specify the properties of the signature.
Option
Description
Signature Policy
Specify whether a signature policy is to be added, and, if yes, in which form this should be
done.
○ None
○
Implied
The signature policy can be unambiguously derived from the semantics of the type
of data object(s) being signed, and some other information.
Using this option, the SignaturePolicyImplied element will be part of the signature.
○
Explicit ID
The signature contains an identifier of a signature policy together with a hash value
of the signature policy that allows verification that the policy selected by the signer is
the one being used by the verifier.
Identifier (only if the value Specify an identifier that uniquely identifies a specific version of the signature policy.
Explicit ID has been
You can specify the identifier by one of the following options:
selected for Signature
Policy)
○ By means of a Uniform Resource Identifier (URI) (preferred option when dealing with
XML documents)
In this case, the Name of the Identifier consists of the identifying URI. In this case,
the property Qualifier must not be specified (empty string).
○
By means of an Object Identifier when using ASN.1 (Abstract Syntax Notation One)
To support an OID, the content of Identifier consists of an OID, either encoded as a
Uniform Resource Name (URN) or as a Uniform Resource Identifier (URI). The op­
tional Qualifier attribute can be used to provide information about the applied en­
coding (values OIDAsURN or OIDAsURI).
Identifier Qualifier (only if
the value Explicit ID
has been selected for
Signature Policy)
Qualify how the identifier is defined in case Abstract Syntax Notation One (ASN 1) is
used.
You can select one of the following values:
○
○
Empty string
OIDAsURI – uses Uniform Resource Name.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
135
Option
Description
○
OIDAsURN – uses Uniform Resource Name.
Description (only if the
Enter a description of the signature policy.
value Explicit ID has
been selected for
Signature Policy)
Documentation Reference
(only if the value
Explicit ID has been
selected for Signature
Policy)
Provide a reference to further documentation of the signature policy.
Digest Algorithm (only if
the value Explicit ID
has been selected for
Signature Policy)
Specify the digest algorithm used to calculate the digest value of the signature policy
document.
As default, SHA256 is used.
Digest Value (only if the
Specify the digest value of the signature policy document (base 64-encoded).
value Explicit ID has
You can either enter the digest value manually or calculate it.
been selected for
Signature Policy)
To calculate the digest value, you have the following options:
○
Calculate from Identifier
Calculates the digest value from the value of the Identifier provided above. Note that
the Identifier must be a valid URL and start with http:// or https://.
○
Browse to local File
Calculates the digest value from the content of a file.
Policy Qualifier (only if the Enter additional information qualifying the signature policy. To do this, enter text or an
value Explicit ID has XML fragment with the root element SigPolicyQualifier.
been selected for
Signature Policy)
2.4.6.4.5
Message Headers
For certain message headers you can define specific elements in the XAdES form.
Table 43: Message Headers
Message Header
Type
Allows you to ...
CamelXmlSignatureXAdESQualifying­
PropertiesId
String
Specify the Id attribute value of the QualifyingProperties element.
CamelXmlSignatureXAdESSignedDa­
taObjectPropertiesId
String
CamelXmlSignatureXAdESSigned­
SignaturePropertiesId
String
Specify the Id attribute value of the SignedDataObjectProperties ele­
ment.
Specify the Id attribute value of the SignedSignatureProperties ele­
ment.
CamelXmlSignatureXAdESDataObject­ String
FormatEncoding
element.
CamelXmlSignatureXAdESNamespace
String
Overwrite the namespace parameter value.
CamelXmlSignatureXAdESPrefix
String
Overwrite the prefix parameter value.
136
Specify the value of the Encoding element of the DataObjectFormat
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
2.4.6.5
Verifying the PKCS#7/CMS Signature
Context
You perform this task to ensure that the signed message received over the cloud is authentic.
Working with PKCS#7/CMS Verifier
In the integration flow model, you configure the Verifier by providing information about the public key alias,
and whether the message header or body is Base64-encoded, depending on where the Signed Data is placed.
For example, consider the following two cases:
● If the Signed Data contains the original content, then in the Verifier you provide the Signed Data in the
message body.
● If the Signed Data does not contain the original content, then in the Verifier you provide the Signed Data in
the header SapCmsSignedData and the original content in the message body.
The Verifier uses the public key alias to obtain the public keys of type DSA or RSA that are used to decrypt the
message digest. In this way the authenticity of the participant who signed the message is verified. If the
verification is not successful, the Verifier informs the user by raising an exception.
Under Public Key Alias you can enter one or multiple public key aliases for the Verifier.
Note
In general, an alias is a reference to an entry in a keystore. A keystore can contain multiple public keys. You
can use a public key alias to refer to and select a specific public key from a keystore.
You can use this attribute to support the following use cases:
● Management of the certificate lifecycle. Certificates have a certain validity period. Using the Public Key
Alias attribute in the Verifier step, you can enter both an alias of an existing certificate (which will expire
within a certain time period) and an alias for a new certificate (which does not necessarily have to exist
already in the keystore). In this way, the Verifier is configured to verify messages signed by either the old
or the new certificate. As soon as the new certificate has been installed and imported into the keystore, the
Verifier refers to the new certificate. In this way, certificates can be renewed without any downtime.
● You can use different aliases to support different signing senders with the same Verifier step. Using the
Public Key Alias attribute, you can specify a list of signing senders.
Note
Exceptions that occur during runtime are displayed in the Message Processing Log view of the Operations
for SAP HANA Cloud Integration perspective.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
137
Procedure
1. Open the <integration flow>.iflw in the Model Configuration editor.
2. Right-click a connection within the pool and choose
Add Security Element
Signature Verifier .
3. In the Model Configuration editor, select Verifier.
Note
By default, the Verifier is of type PKCS#7/CMS. If you want to work with XML Signature Verifier, then
choose the Switch to XML Signature Verifier option from the context menu.
4. In the Properties view, enter the details to verify the signatures of the incoming message.
Table 44: Parameters and Values of PKCS#7/CMS Verifier
Parameters
Description
Name
Name for the Verifier step
Header is Base64 Encoded
Select this option to verify if the Signed Data encoded in
Base64 is included in the header
Body is Base64 Encoded
Select this option to verify if the Signed Data encoded in
Base64 is included in the message body
Public Key Alias
Enter an alias name to select a public key and corre­
sponding certificate from the keystore
5. Save the changes.
2.4.6.6
Verifying the XML Digital Signature
Context
The XML signature Verifier validates the XML signature contained in the incoming message body and returns
the content which was signed in the outgoing message body.
Note
For enveloping and enveloped XML signatures the incoming message body must contain only one XML
signature.
The Verifier supports enveloping and enveloped XML signatures and detached XML signatures. In the
enveloping XML signature case, one reference whose URI references the only allowed 'Object' element via ID,
and an optional reference to the optional KeyInfo element via ID is supported
138
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Working of XML Signature Verifier
In the validation process, a public key is required and it is fetched from the worker node keystore. On receiving
the XML message, the Verifier canonicalizes the data identified by the 'Reference' element and then digests it
to give a digest value. The digest value is compared against the digest value available under the 'Reference'
element of the incoming message. This helps to ensure that the target elements were not tampered with.
Then, the digest value of the canonicalized 'SignedInfo' is calculated. The resulting bytes are verified with the
signature on the 'SignedInfo' element, using the sender's public key. If both the signature on the 'SignedInfo'
element and each of the 'Reference' digest values verify correctly, then the XML signature is valid.
Note
XML Signature Verifier supports both enveloping and enveloped signatures
Procedure
1. In the Model Configuration editor, select Verifier element and from the context menu, select Switch to XML
Signature Verifier option.
2. In the XML Signature Verifier tab page, enter the parameters to verify XML digital signature for the
incoming message.
Table 45: Parameters and Values of XML Signature Verifier
Parameters
Description
Name
Name for the Verifier step
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
139
Parameters
Description
Expected Signature Type
Select the expected Signature type:
○
Enveloping or Enveloped XML Signature: If the sig­
nature is contained within the content or the signa­
ture contains the signed data.
Verifying Enveloping Signature: If the incoming
message has enveloping signature
○
an optional 'Reference' to the optional 'KeyInfo'
element via ID is supported
○
'References' can have one optional transform
whose algorithm must be a canonicalization
method
So it implies, an enveloping XML signature with only
the following structure is supported ("?" denotes
zero or one occurrence, the brackets [] denotes vari­
ables whose values can vary).
<Signature>
<SignedInfo>
<CanonicalizationMethod>
<SignatureMethod>
<Reference
URI="#[object_id]">
(<Transform
Algorithm=[canonicalization
method]/>)?
<DigestMethod>
<DigestValue>
</Reference>
(<Reference
URI="#[keyinfo_id]">
(<Transform
Algorithm=[canonicalization
method]/>)?
<DigestMethod>
<DigestValue>
</Reference>)?
</SignedInfo>
<SignatureValue>
(<KeyInfo
(Id="[keyinfo_id]")?>)?
<Object Id="[object_id]"/>
</Signature>
Verifying Enveloped Signature: If the incoming mes­
sage has enveloped signature
○
One reference with empty URI and an optional
reference to the KeyInfo element via its ID is al­
lowed
○
An additional transform containing a canonicali­
zation method is supported, beside the trans­
form with algorithm "http://www.w3.org/
2000/09/xmldsig#enveloped-signature".
140
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Parameters
Description
So it implies, an enveloped XML signature with only
the following structure is supported ("?" denotes
zero or one occurrence, the brackets [] denotes vari­
ables whose values can vary).
<[parent]>
<Signature>
<SignedInfo>
<CanonicalizationMethod>
<SignatureMethod>
<Reference URI="">
<Transform
Algorithm="http://www.w3.org/
2000/09/xmldsig#envelopedsignature"/>
(<Transform
Algorithm="[canonicalization
method]"/>)?
<DigestMethod>
<DigestValue>
</Reference>
(<Reference
URI="#[keyinfo_id]">
(<Transform
Algorithm="[canonicalization
method]"/>)?
<DigestMethod>
<DigestValue>
</Reference>)?
</SignedInfo>
<SignatureValue>
(<KeyInfo
(Id="[keyinfo_id]")?>)?
</Signature>
</[parent]>
○
Detached XML Signatures: If the signature is con­
tained within the content or the signature contains
the signed data.
Verifying Detached Signature If the incoming mes­
sage has detached signature:
○
Signature element must be a sibling of the
signed element
○
Signed element must have an attribute of type
ID
○
Signature references signed element via the ID
value
So it implies, a detached XML signature with only the
following structure is supported ("?" denotes zero or
one occurrence, the brackets [] denotes variables
whose values can vary).
(<[signed element]
Id="[id_value]">
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
141
Parameters
Description
<!-- signed element must
have an attribute of type ID -->
...
</[signed element]>
<other sibling/>* <!-between the signed element and
the corresponding signature
element, there can be other
siblings -->
<Signature>
<SignedInfo>
<CanonicalizationMethod>
<SignatureMethod>
<ReferenceURI="#[id_value]"type="
[optional_type_value]">
<!-- reference URI
contains the ID attribute value
of the signed element -->
<TransformAlgorithm=[canonicaliza
tion method]/>
<DigestMethod>
<DigestValue>
</Reference>
(<ReferenceURI="#[generated_keyin
fo_Id]">
<TransformAlgorithm="http://
www.w3.org/TR/2001/REC-xmlc14n-20010315" />
<DigestMethod>
<DigestValue>
</Reference>)?
</SignedInfo>
<SignatureValue>
(<KeyInfoId="[generated_keyinfo_i
d]">)?
<Signature>)+
Check for Key Info Element
Select this option to check that the XML Signature con­
tains a Key Info element
The KeyInfo element has to contain either the certificate
chain, the certificate, the Issuer Distinguished Name and
Serial Number, or the Key Value element (or combina­
tions of these attributes).
Note
In case multiple public key aliases are specified (using
the Public Key Alias attribute), this option is manda­
tory (to make sure that from the KeyInfo the public key
can be derived).
142
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Parameters
Description
Disallow DOCTYPE Declaration
Select this option to disallow DTD DOCTYPE declaration
in the incoming XML message
Public Key Alias
Enter an alias name to select a public key and corre­
sponding certificate
Using the Public Key Alias, you can enter one or multiple
public key aliases for the Verifier.
Note
In general, an alias is a reference to an entry in a key­
store. A keystore can contain multiple public keys. You
can use a public key alias to refer to and select a spe­
cific public key from a keystore.
You can use this attribute to support the following use
cases:
○
Management of the certificate lifecycle: Certificates
have a certain validity period. Using the Public Key
Alias attribute in the Verifier step, you can enter both
an alias of an existing certificate (which will expire
within a certain time period) and an alias for a new
certificate (which not necessarily has to exist already
in the keystore). That way, the Verifier is configured
to verify messages signed by either the old or the
new certificate. As soon as the new certificate has
been installed and imported into the keystore, the
Verifier refers to the new certificate. That way, certifi­
cates can be renewed without any downtime.
○
You can use different aliases to support different
signing senders with the same Verifier step. Using
the Public Key Alias attribute, you can specify a list
signing senders.
3. Save the changes.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
143
2.4.6.7
Encrypting and Signing the Message Content with
PKCS#7/CMS
Context
You perform this task to protect the message content from being altered while it is being sent to other
participants on the cloud, by encrypting the content. In the integration flow model, you configure the Encryptor
by providing information on the public key alias, content encryption algorithm, and secret key length. The
encryptor uses one or more receiver public key aliases to find the public key in the keystore. The encryption
process uses a symmetric key of specified length for content encryption. The symmetric key is encrypted by
the public recipient key with the cipher. The encryption is determined by the type of Content Encryption
Algorithm that you select. The encrypted content and the receiver information containing the symmetric
encryption key are placed in the message body.
In addition to encrypting the message content, you can also sign the content to make your identity known to
the participants and thus ensure the authenticity of the messages you are sending. This task guarantees your
identity by signing the messages with one or more private keys using a signature algorithm.
Procedure
1. Open the <integration flow>.iflw in the Model Configuration editor.
2. Right-click a connection within the pool and choose
Add Security Element
Content Encryptor .
3. In the Model Configuration editor, select Encryptor.
4. To configure the encryptor with a saved configuration that is available as a template, choose Load Element
Template from the context menu of the Encryptor element.
5. In the Properties view, specify the general settings for encryption.
Option
Description
Block Size (in bytes)
Enter the size of the data that is to be encoded.
If you enter a value equal to or less than 0, the whole data is encoded.
Encode Body with Base64
Select this option if the message body will be base64-encoded.
Signatures in PKCS7 Message
Select one of the following options:
○
Enveloped Data Only
○
Signed and Enveloped Data
Select this option if you want to apply encryption only.
Select this option if you want to apply both encryption and signing.
6. Specify the settings for the encryption process (under Encryption).
144
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Option
Description
Content Encryption Algorithm
Specify the algorithm that is to be used to encrypt the payload.
Secret Key Length
Specify the key length.
The offered key lengths depend on the chosen encryption algorithm.
Receiver Public Key Alias
Specify one or more aliases.
You use the alias to select the public key from the keystore.
7. Specify the settings for the signing process under Signature (only if you selected Signed and Enveloped
Data for Signatures in PKCS7 Message).
For each private key alias (specified under Signer Parameters), you define the following parameters:
Option
Description
Signature Algorithm Specify the signature (digest) algorithm.
Include Certificates
If you activate this option (value true), the signer's certificate chain will be added to the Signe­
dAndEnvelopedData object of the message.
8. Save the changes.
9. To save the configuration of the encryptor as a template, choose Save as Template from the context menu
of the Encryptor element.
Note
When you save the configuration of the Encryptor element as a template, the tool stores the template in
the workspace as <ElementTemplateName>.fst.
2.4.6.8
Encrypting and Signing the Message Content with
OpenPGP
You have the option to encrypt the message content using Open Pretty Good Privacy (OpenPGP).
Context
You have the following options to protect communication at message level based on the OpenPGP standard:
● You can encrypt a payload.
● You can sign and encrypt a payload.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
145
Procedure
1. Open the <integration flow>.iflw in the Model Configuration editor.
2. Right-click a connection within the pool and choose
Add Security Element
Content Encryptor .
3. In the Model Configuration editor, position the cursor on the Content Encryptor step and in the context
menu select Switch to PGP.
4. Open the Properties view.
5. Specify whether or not to sign the payload (in addition to applying payload encryption). To do this, select
one of the following options for Signatures in PGP Message:
Option
Description
Include Signature
Select this option if you want to apply both encryption and signing.
No Signature
Select this option if you want to apply encryption only.
6. Under Encryption, specify the following parameters for message encryption:
Option
Description
Content Encryp­
tion Algorithm
Specify the algorithm that is to be used to encrypt the payload. This is the symmetric key algo­
rithm.
Secret Key
Length
Specify the key length. The offered key lengths depend on the chosen encryption algorithm.
Compression Al­
gorithm
Specify the compression algorithm.
There is an option to apply compression before the encryption step. If you do not want to apply
compression, select Uncompressed.
Armored
Select this option if you want the output to be radix 64-(base64-)encoded with an additional
header.
Selecting this option increases the message security level and is therefore recommended.
With Integrity
Packet
Select this option if you want to create an Encrypted Integrity Protected Data Packet. This is a
specific format where an additional hash value is calculated (using the SHA-1 algorithm) and
added to the message.
Selecting this option increases the message security level and is therefore recommended.
Encryption Key
User IDs of the
Public Keyring
You can specify the encryption key user IDs (or parts of them).
Based on the encryption key user ID, the public key (for message encryption) is looked up in the
PGP public keyring.
You can specify multiple user IDs.
7. Under Signature, specify the following parameters for message signing (only if you have selected Include
Signature for Signatures in PGP Message):
146
Option
Description
Digest Algorithm
Specify the digest algorithm (or hash algorithm) that is to be applied.
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Option
Description
The sender calculates a digest (or hash value) from the message content using a digest algo­
rithm. To finalize the payload signing step, this digest is encrypted by the sender using a pri­
vate key.
Signer Key User ID
Parts of Keys from
the Secret Keyring
Specify the signer key user ID parts.
Based on the signer key user ID parts, the private key (for message signing) is looked up in the
PGP secret keyring.
8. Save the changes.
Next Steps
You can provide a file name with the PGP message in the Literal Packet, according to the specification at
https://tools.ietf.org/html/rfc4880 , chapter 5.9 Literal Data Packet (Tag 11).
By default, this file name is set to an empty string.
A file name that differs from an empty string can be specified by the header CamelFileName.
Note
The SFTP adapter sets the header CamelFileName automatically.
2.4.6.9
Decrypting and Verifying the Message Content with
PKCS#7/CMS
Context
You perform this task to decrypt messages received from a participant on the cloud.
Note that the related keystore must contain the private key, otherwise decryption of the message content will
not work.
It is also possible to verify the signature of a SignedAndEnvelopedData object to ensure that the received
signed message is authentic.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
147
Procedure
1. Open the <integration flow>.iflw in the Model Configuration editor.
2. Right-click a connection within the pool and choose
Add Security Element
Content Decryptor .
3. In the Model Configuration editor, select Decryptor.
4. In the Properties view, enter the details to decrypt the content of the incoming message.
Option
Description
Name
Name of the selected PKCS7 Decryptor element. The default name is PKCS7Decryptor.
If you add a second PKCS7 Decryptor to the integration flow, you have to change the name because
the Decryptor name must be unique.
Body is
Base64-En­
coded
Select this option if a Base64-encoded message body is expected.
Signatures in
PKCS7 Mes­
sage
Specify which kind of content can be processed.
You can select one of the following options:
○
Enveloped Data Only
Encrypted-only payloads can be processed.
○
Signed and Enveloped Data
Payloads with content type Signed and Enveloped Data can be processed.
○
Enveloped or Signed and Enveloped Data
Both content types – Enveloped Data Only or Signed and Enveloped Data - can be processed.
5. Depending on the option you have chosen for Signatures in PKCS7 Message, you can specify further
settings (only if you have specified Enveloped or Signed and Enveloped Data or Signed and Enveloped Data
for Signatures in PKCS7 Message):
Option
Description
Public Key
Alias
Enter the public key aliases of all expected senders.
These are the public key aliases corresponding to the private keys (of the expected senders) that are
used to sign the payload.
The public key aliases specified in this step restrict the list of expected senders and, in this way, act as
an authorization check.
The public key alias list specified in this step is only required for signed content. The private key required
to decrypt the payload automatically is found by the system; it is the private key deployed on the
corresponding tenant.
Signed content is verified as follows: SAP HCI checks the list of aliases as specified in this step. As soon as
a signature is found that is signed by a private key corresponding to one of the public keys listed in the
alias list, the signature is verified by the public key. If the verification is successful, the payload is accepted.
No further check is executed.
6. Save the changes.
148
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
2.4.6.10 Decrypting and Verifying the Message Content with
OpenPGP
You have the option to decrypt the message content using Open Pretty Good Privacy (OpenPGP).
Context
Procedure
1. Open the <integration flow>.iflw in the Model Configuration editor.
2. Right-click on a connection within the pool and choose
Add Security Element
Content Decryptor .
3. In the Model Configuration editor, position the cursor on the Content Decryptor step and in the context
menu select Switch to PGP.
4. Open the Properties view.
5. Specify the following parameters for message decryption:.
Option
Description
Name
Name of the selected PGP Decryptor element. The default name is PGP Decryptor.
If you add a second PGP Decryptor to the integration flow, you have to change the name because the
Decryptor name must be unique.
Signatures
in PGP Mes­
sage
Specify the expected payload content type which is to be decrypted. You have the following options:
○ No Signatures Expected
When you select this option, the decryptor expects an inbound message that doesn't contain a
signature.
Note
If you select this option, inbound messages that contain a signature cannot be processed.
○
Signatures Optional
When you select this option, the decryptor can process messages that either contain a signature
or not.
○
Signatures Required
When you select this option, the decryptor expects an inbound message that contains a signa­
ture.
Signer User
ID of Key(s)
from the
Public Key­
ring
Specify the signer user ID of key(s) parts of all expected senders.
Based on the signer user ID of key(s) parts, the public key (for message verification) is looked up in the
PGP public keyring.
The signer user ID of key(s) key parts specified in this step restrict the list of expected senders and, in
this way, act as an authorization check.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
149
6. Save the changes.
2.4.7
Defining Events
Context
Procedure
2.4.7.1
Scheduling a Process Start
Context
If you want to configure a process to automatically start in a particular schedule, you can use this procedure to
set the date and time on which the process should run once or repetitively. The day and time combinations
allow you to configure the schedule the process requires. For example, you can set the trigger just once on a
specific date or repetitively on that date, or you can periodically trigger the timer every day, specific days in a
week or specific days in a month along with the options of specific or repetitive time.
Procedure
1. Open the <integration flow>.iflw in the Model Configuration editor.
2. From the Palette, expand the Event category.
3. Select the Timer Start notation and drop it within the Integration Process pool such that it is the first
element of the integration flow.
4. From the speed button of the Timer Start, select the sequence flow and connect to the following element
within the Integration Process pool of the integration flow.
5. Select the Timer Start and in the Properties view, enter the details for setting the schedule or specific day
in which the process should start.
150
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
6. Save the changes
Example
The image below shows a sample scenario that requires to periodically poll a WebService endpoint to fetch
messages and send them to a receiver.
2.4.7.2
Configuring an Escalation Event
An escalation event stops message processing. For synchronous messages, an error messages is sent to the
sender.
Context
A retry or any other error handling mechanism is not triggered. The message status changes to ESCALATED.
In certain situations it does not make sense to retry the message processing until it finally gets delivered to the
receiver. For example, in case a wrong receiver is configured in the integration flow, it does not make any
sense to retry the processing of the message without having corrected the integration flow configuration. In
that case, it makes more sense to stop message processing and notify the sender that an error occurred.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
151
Procedure
1. Open the <integration flow>.iflw in the Model Configuration editor.
2. From the Palette, expand the Event category.
3. Select the Escalation notation and drop it within the Integration Process pool at the position where the
escalation should be placed.
4. Specify the Escalation Category (in the Properties view).
There are the following Escalation Categories:
Option
Description
Routing condition not met
Routing condition has not been met.
Receiver not reachable
Receiver could not be reached, because it is temporarily down or not accessible
(for example, due to overload or maintenance work).
Receiver not found
Receiver could not be found because the URL points to a non-existent resource
(for example, HTTP 404 error).
Not authenticated to invoke re­
Receiver could not be called because authentication has failed (for example,
ceiver
HTTP 401 error).
Not authorized to invoke receiver
Receiver could not be called because of insufficient permissions (for example,
HTTP 403 error).
Receiver tries to redirect
Receiver could not be reached (HTTP 302 error).
Internal server error in receiver
Internal server error occurred in the receiver system (for example, HTTP 500 er­
ror).
Others – not further qualified
2.4.8
Escalation category has not been further qualified.
Defining Tasks
Context
Procedure
152
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
2.4.8.1
Defining Service Call
Prerequisites
You have added the service call element to the integration flow model from the palette.
Context
Service Call is used to call an external system. Such calls enable transaction of data from or to the target
system. It can be used for following types of operations:
1. Request-Reply
2. Content Enrichment
2.4.8.1.1
Defining Request-Reply
Context
You can use this task to enable request and reply interactions between sender and receiver systems.
Example:
Suppose currency conversion is required for a transaction between Indian and German business partners. In
such a scenario, using Request-Reply pattern, user can successfully convert Indian currency to German
currency and vice versa. As shown in the integration flow, the request mapping converts the currency in
payload to Euro and reply mapping converts the currency in payload back to Indian Rupee.
Procedure
1. Open the <integration flow>.iflw in the Model Configuration editor.
2. If you want to add a Request-Reply element in the integration flow, choose Add Service Call from the
context menu of a connection within the pool.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
153
3. From the Palette, select
Others
Receiver , and drop it outside the Integration Process pool.
4. From the speed button of the Request-Reply element, create a connection that represents a channel from
the Request-Reply element to the Receiver.
5. Configure the channel with the required adapter details.
6. You can add integration flow elements between the Request-Reply and End Message element, for
processing response payload from Receiver system.
7. You can also connect End Message element back to the sender. Also, ensure that no adapter is configured
for this channel (as highlighted in the integration flow screenshot).
Note
In this release, the channel connecting the external system with the Request-Reply element can be
configured with the SOAP, SuccessFactors, HTTP and IDOC adapters.
2.4.8.1.2
Defining Content Enricher
Prerequisites
You have created an integration project and integration flow.
Context
The content enricher adds the content of a payload with the original message in the course of an integration
process. This converts the two separate messages into a single enhanced payload. This feature enables you to
make external calls during the course of an integration process to obtain additional data, if any.
Consider the first message in the integration flow as the original message and the message obtained by
making an external call during the integration process as the lookup message. You can choose between two
strategies to enrich these two payloads as a single message:
● Combine
● Enrich
Consider the following original and lookup messages.
Original Message
<EmployeeList>
<Employee>
<id>111</id>
<name>Santosh</name>
<external_id>ext_111</external_id>
</Employee>
<Employee>
<id>22</id>
154
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
<name>Geeta</name>
<external_id>ext_222</external_id>
</Employee>
</EmployeeList>
Lookup Message
<EmergencyContacts>
<contact>
<c_id>1</c_id>
<c_code>ext_111</c_code>
<isEmergency>0</isEmergency>
<phone>9999</phone>
<street>1st street</street>
<city>Gulbarga</city>
</contact>
<contact>
<c_id>2</c_id>
<c_code>ext_111</c_code>
<isEmergency>1</isEmergency>
<phone>1010</phone>
<street>23rd Cross</street>
<city>Chitapur</city>
</contact>
<contact>
<c_id>3</c_id>
<c_code>ext_333</c_code>
<isEmergency>1</isEmergency>
<phone>007</phone>
<street></street>
<city>Raichur</city>
</contact>
</EmergencyContacts>
If you use Combine as the aggregation strategy, the enriched message appears in the following format.
Enriched Message
<multimap:messages xmlns:multimap=”http://sap.com/xi/XI/SplitAndMerge”>
<message1>
<EmployeeList>
<Employee>
<id>111</id>
<name>Santosh</name>
<external_id>ext_111</external_id>
</Employee>
<Employee>
<id>22</id>
<name>Geeta</name>
<external_id>ext_222</external_id>
</Employee>
</EmployeeList>
</message1>
<message2>
<EmergencyContacts>
<contact>
<c_id>1</c_id>
<c_code>ext_111</c_code>
<isEmergency>0</isEmergency>
<phone>9999</phone>
<street>1st street</street>
<city>Gulbarga</city>
</contact>
<contact>
<c_id>2</c_id>
<c_code>ext_111</c_code>
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
155
<isEmergency>1</isEmergency>
<phone>1010</phone>
<street>23rd Cross</street>
<city>Chitapur</city>
</contact>
<contact>
<c_id>3</c_id>
<c_code>ext_333</c_code>
<isEmergency>1</isEmergency>
<phone>007</phone>
<street></street>
<city>Raichur</city>
</contact>
</EmergencyContacts>
</message2>
</multimap:messages xmlns:multimap=”http://sap.com/xi/XI/SplitAndMerge”>
Enrich offers you control on how you can merge the original and lookup message. In this example, we consider
the node <ext_111> as the reference to enrich the original message with the lookup message.
Consequently, you specify the following values while configuring the Content Enricher.
Table 46:
Section
Field
User input
Original Message
Path to Node
Employees/Employee
Key Element
location
Path to Node
EmployeeLocations\emplocation
Key Element
locationid
Lookup Message
The enriched message will be in the following format.
<EmployeeList>
<Employee>
<id>111</id>
<name>Santosh</name>
<external_id>ext_111</external_id>
<contact>
<c_id>1</c_id>
<c_code>ext_111</c_code>
<isEmergency>0</isEmergency>
<phone>9999</phone>
<street>1st street</street>
<city>Gulbarga</city>
</contact>
<contact>
<c_id>2</c_id>
<c_code>ext_111</c_code>
<isEmergency>1</isEmergency>
<phone>1010</phone>
<street>23rd Cross</street>
<city>Chitapur</city>
</contact>
</Employee>
<Employee>
<id>22</id>
<name>Geeta</name>
<external_id>ext_222</external_id>
</Employee>
</EmployeeList>
In the enriched message, you can see the content of the lookup message after the node <location>.
156
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Remember
If lookup message contains more than one entry of the key element, content enricher enhances the
enriched message with all the entries referred by the key element in lookup message. In the above example,
the lookup message contains the key element ext_111 in two places. You can see that the enriched
message contains both the <contact> entries that the key element refers to.
Procedure
You use this procedure to add Content Enricher element to an integration flow.
1. Open the integration flow in Model Configuration editor.
2. From the context menu of integration flow, choose
Add Tasks
Service Call .
3. From the context menu of the service call element, choose Switch to Content Enricher.
4. In the Properties view, choose the Aggregation Strategy field.
5. Perform the required subprocedure below based on the strategy you want to use.
Using Combine Strategy
Procedure
You use this subprocedure for using the Combine strategy.
1. In the dropdown list, choose Combine.
2. Save changes.
Using Enrich Strategy
Procedure
You use this subprocedure for using the Enrich strategy.
1. In the dropdown list, choose Enrich.
2. Provide values in fields based on description in table.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
157
Table 47:
Section
Field
Description
Original Message
Path to Node
Path to the node in the original mes­
sage where content has to be en­
riched. Ensure that you provide it in
the format <xx>/<yy>/<zz> with
<xx> being the root node and <zz>
being the node where new content will
reside
Key Element
Key element in the original message
contained in the Path to Node speci­
fied above. Ensure that you provide
only the key element name.
Path to Node
Path to the node that would be used
in the lookup message to enrich the
content. Ensure that you provide it in
the format <xx>/<yy>/<zz> with
<xx> being the root node and <zz>
being the reference node
Key Element
Key element in the lookup message
contained in the Path to Node speci­
fied above. Ensure that you provide
only the key element name.
Lookup Message
3. Save the changes.
2.4.9
Defining Additional Elements (Others)
Context
Procedure
158
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
2.4.9.1
Defining a Local Integration Process
You can use this task if you want to simplify your integration process. It enables you to fragment your
integration process into smaller processes (local integration processes), which are in turn called from the
main integration process or from other local integration processes.
Context
Note
For the main integration process the SAP icon is displayed in the top left corner, whereas for the local
integration processes this icon is not displayed.
Procedure
1. Open the <integration flow>.iflw in the Model Configuration editor.
2. Add a local integration process.
a. If you want to add a local integration process to the integration flow, choose
Integration Process
Others
Local
from the palette. On the Properties tab, provide a name.
b. You can add various elements between the start event and end event of the process.
A local integration process does not support multicast and splitter elements.
3. Invoke the local integration process.
a. If you want to call the local integration process from the main integration process, add a process call in
the main integration process. To do this, choose
Tasks
Process Call
from the palette.
b. Choose Assign Local Integration Process from the context menu of the process call within the pool.
Select the local integration process that needs to be assigned to the process call in the integration
flow.
4. Save the changes.
2.4.9.2
Defining Exception Subprocess
Context
You use this task if you want to catch any exceptions thrown in the integration process and process them.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
159
Procedure
1. Open the <integration flow>.iflw in the Model Configuration editor.
2. To add an exception subprocess to the integration flow, choose Others Exception Subprocess from
the palette. The subprocess can be dropped into the integration process and should not be connected to
any of the elements of the integration flow.
3. Select the exception subprocess you have added to the integration flow model to configure it.
4. Start the process with an Error Start event always.
5. End the process with either an End Message or an Error End event.
Note
○ You can use an End Message event to wrap the exception in a fault message and send it back to the
sender in the payload.
○ You can use an Error End event to throw the exception to default exception handlers.
6. If you want you can add various tasks between the start and end events. For example, you can choose Add
Service Call from the context menu of a connection within the pool. This enables you to call another
system to handle the exception.
7. Save the changes.
Note
○ The message processing log will be in an error state even if a user catches an exception and
performs additional processing on it.
○ You cannot enable exception subprocess for integration flow scenarios containing the timer
element.
○ You can get more details on exception using ${exception.message} or $
{exception.stacktrace}.
○ You can configure the following integration flow elements within an exception subprocess:
○ Content Modifier
○ Service Call (Request/Reply)
○ Process Call
2.4.10 Defining Error Handling Strategy
Context
You use this task to handle errors when message processing fails in the runtime. You select an error handling
strategy based on the description below:
160
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
● Raise Exception for IDOC/SOAP SAP RM Channels - When a message exchange could not be processed
and there is IDOC or SOAP SAP RM channel in the integration flow, then an exception is raised back to the
sender.
● Raise Exception - When a message exchange could not be processed, an exception is raised back to the
sender.
● None - When a message exchange could not be processed, no error handling strategy is used.
Procedure
1. In the Model Configuration editor, click on the graphical area outside the integration flow model.
2. In the Properties view, select the Error Configuration tab.
3. From the Error Handler strategy dropdown, select one of the options - Raise Exception for IDOC/SOAP
SAP RM Channels, Raise Exception or None.
2.4.11
Specifying Runtime Configuration
Context
Specify the runtime configurations for the integration flow that are required when the integration flow is
executed in runtime. You configure the following parameters:
● Namespace Mapping: Maps a prefix to a namespace at runtime. This parameter is required for elements
such as content-based router, content modifier or content filter that can use namespaces in their
configuration. You can either enter the namespace-prefix pair or the tool automatically fills the
namespace-prefix pair whenever a lookup is performed for the assigned WSDL.
Example
See the namespace mapping example below:
xmlns:ns0=https://hcischemas.netweaver.neo.com/hciflow
Here, ns0 is the prefix and https://hcischemas.netweaver.neo.com/hciflow is the namespace. So, in
a gateway, you can specify the routing condition for an XML message as:
/ns0:HCIMessage/SenderID='Sender01'
To know where you need to specify namespace for content-based router, content modifier or content filter
flowsteps, see the relevant step in the corresponding tasks Defining Gateway, Defining Content Modifier,
Defining Content Filter.
● Message Processing Log: Allows you to configure the log level to display the logs in the Log view of the
Message Monitoring editor in the Integration Operations perspective.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
161
● Allowed Header(s): Allows you to specify the headers to be retained when the incoming message is
processed. In general, headers used by the runtime components are retained and other headers are
removed during message processing. This field is useful when you need specific header information along
with the message body.
Procedure
1. In the Model Configuration editor page, select the graphical area outside the integration flow model.
2. In the Properties view, choose the Runtime Configuration tab.
3. In the Namespace Mapping field, enter a namespace-prefix pair with a format
xmlns:<prefix>=<namespace> or select it from the dropdown.
Note
The field is required if the integration flow contains content-based routing. You can also enter multiple
namespace-prefix as shown in the example- xmlns:test=http://sapcd.com/
testABC;xmlns:test2=http://sapcd.com/testPQR
4. Select one of the log levels from the Message Processing Log dropdown.
Note
The available logging levels are:
○ All Events: Allows all messages to be logged and displayed
○ Error Events: Allows only error messages to be logged and displayed
○ No Logging: Hides logging information
5. In Allowed Header(s) field, enter one or more names of headers by separating them with pipe (|).
With this setting you can specify the header fields that are to be retained in the incoming message.
6. Select Enable Debug Trace option to enable server log in case you need to obtain help from SAP Support
for troubleshooting issues.
Caution
If you select Enable Debug Trace option and if the SaaS Admin has set the log level for
org.apache.cxf as INFO, the message payload is written into the log files. If the message payload
contains sensitive data, then you should consider the settings as the message payload should not be
logged.
7. Save the changes.
Related Information
Defining Gateway [page 105]
Defining Content Filter [page 85]
162
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Defining Content Modifier [page 81]
2.5
Developing Value Mappings
Context
Procedure
2.5.1
Creating a Value Mapping Project
Context
You use this task to create a value mapping definition that represent multiple values of an object. For example,
a product in Company A is referred by the first three letters as 'IDE' whereas in Company B it is referred by
product code as ''0100IDE". When Company A sends message to Company B, it needs to take care of the
difference in the representations of the same product. So Company A defines an integration flow with a
Mapping element and this Mapping element contains reference to the value mapping definition. You create
such value mapping groups in a Value Mapping project type.
You can also create value mapping definitions from the web UI application. Note that this option is not
available in SAP Financial Services Network scenarios.
Note
You can deploy only one value mapping project on the tenant.
Procedure
1. In the main menu, choose
File
New
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Project… .
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
163
2. In the New Project wizard, select
SAP HANA Cloud Integration
Integration Project .
3. Choose Next.
4. Enter a project name and select the required Project Type as Value Mapping.
5. Choose Finish.
A new project is available in the Project Explorer view. By default, the new value mapping project is
configured with IFLMAP runtime node type.
Related Information
Working with Value Mappings [page 263]
2.5.2
Externalizing Parameters of Integration Flow
Context
Externalizing parameters is useful when the integration content has to be used across multiple landscapes,
where the endpoints of the integration flow can vary in each landscape. This method helps you to declare a
parameter as a variable entity to allow you to customize the parameters on the sender and receiver side with a
change in landscape.
Partial Parameterization enables to change part of a field rather than the entire field. This variable entity of the
field is entered within curly braces.
List of parameters that can be externalized
● SOAP (SAP RM) adapter: Address, URL to WSDL
● SOAP (SOAP 1.x) adapter: Address, URL to WSDL
● IDoc (IDoc-SOAP) adapter: Address, URL to WSDL
● SFTP adapter: Server Host , User Name , Directory
● Sender Authorization: Subject DN and Issuer DN
Procedure
1. Externalize parameters by extraction.
Note
You can extract certain parameters that are already configured in the integration flow, so that the
parameters are externalized. You can view the extracted parameters in the Externalized Parameter
view. If you have already extracted a parameter, the parameter cannot be extracted again.
164
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
a. From the Project Explorer view, open the <integration flow>.iflw in the editor.
b. In the Model Configuration editor, right-click the graphical area outside the model and choose Extract
Parameters from the context menu.
c. In the Extract Parameters dialog, select the parameters that have to be extracted and be available for
externalization.
Note
In the Console view, you can see a summary of the parameter extraction.
d. Open the Externalized Parameters view.
Note
You can view the externalized parameters of the field in the integration flow. The field is now
available as a variable.
e. From the toolbar of the view, choose
(Sync with Editor icon) to synchronize the integration flow
that is currently open with the Externalized Parameters view.
f. Choose
(Reload icon) to update the view with the list of externalized parameters.
g. You can edit parameter values and then choose
view.
(Save Parameters icon), from the toolbar of the
Note
The Save Parameters icon is enabled only if the parameter values and the type are consistent. For
drop down or combo box the values should be edited from here else, the parameter references are
lost.
2. Externalize parameters by manual configuration.
Note
You can use the step below if you want to externalize certain parameters in such a way that you do
provide any values in the integration flow but want to manually configure the attributes in the
Externalized Parameters view.
a. In the Project Explorer view, open the <integration flow>.iflw in the editor.
b. In the Model Configuration editor, double-click the channel.
c. In the Channel editor, choose the Adapter-specific tab.
d. Enter a value for the field that you want to externalize, in this format: {{<parameter name>}}.
Note
You can externalize the value of the field so that the field is now a variable. For example, you might
need to change the 'Address' field of a connector at the receiver without making any other changes
to the integration flow. So, you enter {{server}} in the 'Address' field. The steps below show how
you can specify data for the externalized parameters.
Only part of the field can also be changed. For example, in the given URL, http://{{host}}:
{{port}}/FlightBookingScenario, host and port are the variable entities.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
165
e. Save the changes in the channel editor.
f. Open the Externalized Parameters view.
g. From the toolbar of the view, choose Sync with Editor (icon) to synchronize the integration flow that is
currently open with the Externalized Parameters view.
Note
In the Externalized Parameters view, you can see all the parameters that have been externalized in
the integration flow. For example, if you have externalized the 'Address' field of a connector as
{{server}} or you have selected this field for extraction, you can see the parameter under the
Name column.
h. Open the Externalized Parameters view and choose
(Reload icon).
Note
In the Externalized Parameters view, you can view all the parameters that have been externalized in
the integration flow. For example, if you have externalized the 'Address' field of a connector as
{{server}} or you have selected this field for extraction, you can see the parameter under the
Name.
i.
From the toolbar of the Externalized Parameters view, choose
(Save Parameters icon).
Note
○ The Save Parameters icon in the Externalized Parameters view is enabled only if the parameter
values and the type are consistent.
○ If you do not save the view using the Save Parameters icon, the parameters.prop file is not
updated with the new externalized parameters, which is indicated with an error marker in the
Integration Flow editor. If the editor has no unsaved changes, the error marker remains even
though the parameter content is saved. In such a case, you can execute the consistency check
by using the Execute Checks context menu option in the Model Configuration editor.
2.5.2.1
Configuring Multiple Externalized Parameters
Context
You use this task when you want to provide the same values for the common parameterized attributes across
multiple integration projects. The tool offers quick parameterization with the Configurations view that displays
a list of externalized parameters from all the projects. If multiple integrations require same values for the
externalized parameters, you can choose the Mass Parameterize option to fill values for all the common
parameters.
166
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Procedure
1. In the main menu, choose
Window
2. In the Show View dialog, choose
Show View
Others
3. In the Configurations view toolbar, choose
Others .
Configurations .
(Mass Configure).
4. In the Mass Configuration wizard, select the projects that contain the common parameters and choose
Next.
5. Enter values for the list of parameters and choose Next. These values get applied to their corresponding
parameters that are common across the selected projects.
Note
A common parameter that has been assigned different values, is indicated using the tag Parameter has
Different Values. If you delete this tag and enter a new value or keep it empty, the value of the common
parameter changes accordingly across all the projects that use it.
6. Confirm if you want to update the common parameters with the new values.
7. If you want to view or change externalized parameters in the integration flow from the Configurations view,
double-click any file under the Configurations view to open the Model Configuration editor and the
Externalized view.
8. If you want to deploy the projects, select Deploy Integration Content and enter the Tenant ID.
9. Choose Finish.
Results
The completion of this task triggers the build automatically and your projects get deployed with the updated
externalized parameters.
2.5.3
Editing the Value Mapping Project
Context
You use this task to define value mapping groups in the value_mapping.xml file that is available under the Value
Mapping project type. You enter the group IDs for each set of agency, schema and a value of the object that
together identify a specific representation of the object.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
167
Procedure
1. Open the value_mapping.xml in the editor and choose the Source tab page editor.
2. Enter the group ID, agency, schema and value as shown in the example below, and save the changes.
<?xml version="1.0" encoding="UTF-8"?>
<vm>
<group id="Vegetable">
<entry>
<agency>UK</agency>
<schema>Food Items</schema>
<value>Aubergine</value>
</entry>
<entry>
<agency>US</agency>
<schema>Food Items</schema>
<value>Eggplant</value>
</entry>
</group>
<group id="Herb">
<entry>
<agency>UK</agency>
<schema>Food Items</schema>
<value>Coriander</value>
</entry>
<entry>
<agency>US</agency>
<schema>Food Items</schema>
<value>Cilantro</value>
</entry>
</group>
</vm>
Tip
If you want to edit the values, you can switch to the Design tab page editor.
168
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
2.5.4
Exporting and Importing Value Mapping Groups
Context
You use this task to either import a .csv file containing value mapping groups into the Value Mapping project
type within your workspace or export the content of value_mapping.xml from your workspace and store it as
a .csv file in your file system. The format of the valid .csv file containing value mapping groups is shown in the
image below:
This task shows the steps for a simple scenario that requires you to export value mappings from your
workspace, and import the same value mappings into a workspace located in another system.
Procedure
1. Export the value mapping groups into your local file system
a. In the Project Explorer, select the value mapping project and choose Export Value Mappings.
b. In the Export Value Mapping Groups wizard, select the required value mapping groups and choose
Next.
c. In the Export groups into a file page, enter a name for the .csv file and browse for a location to store the
file.
d. Choose Finish.
The .csv file containing the exported value mapping groups is available at the selected file location.
Example
The image below shows an example of a vale mapping group exported into a .csv file.
2. Import the value mapping groups
a. In the Project Explorer, select the value mapping project that you want to import the value mappings
to.
b. Choose Import Value Mappings.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
169
c. In the Select a CSV File page, browse for the .csv file.
d. Choose Finish.
Note
You cannot import value mappings that have been exported from Eclipse. If you do so, then the
existing version of the value mapping files changes.
The .csv file is imported as value_mapping.xml file, and is available under the value mapping project.
Example
The screenshot below shows how the content of the .csv file (as shown in the previous screenshot) gets
imported as the value_mapping.xml.
2.5.5
Referencing Value Mappings from a Message
Mapping
Prerequisites
● You have imported message mapping (.mmap) from an On-Premise repository into the
src.main.resources.mapping folder of the integration project in your workspace.
● You have placed the required source and target WSDLs into the src.main.resources.wsdl folder of the
integration project in your workspace.
170
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
● You have added value_mapping.xml under the value mapping project.
Context
You use this procedure to configure the message mapping definition with references to a value mapping. The
value mapping referencing is required when a node value of a message needs to be converted to another
representation. The runtime can evaluate the reference only if you deploy the integration flow project
containing the message mapping, and the associated value mapping project on the same tenant.
Procedure
1. In the Project Explorer view, expand the integration flow project.
2. Under src.main.resources.mapping folder, double-click the <message map>.mmap to open it in the
message mapping editor.
3. In the Message Mapping Overview, under the Signature category, provide the source and target WSDLs.
4. Choose the Definition editor tab page to view the message mapping tree structure.
5. Connect a source node item with one or more target node item to define the mapping.
6. Double-click the function icon on the connection, denoted as fx, to open the mapping relation between the
source and target elements.
For example, see the screenshot below:
7. In the Expression tab page of the Properties view, expand the Function folder.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
171
For example, see the screenshot below:
8. Select the valuemap option under the Conversion package and drop it within the Expression tab page.
9. Connect the required node and the valuemapping function.
For example, see the screenshot below:
10. Double-click the value mapping function and provide details for the value mapping parameters.
11. Save the changes.
2.5.6
Checking the Value Mapping Consistency
Context
You can execute a consistency check to validate if the content of the project is adhering to the required
definition of a value mapping.
The consistency check is executed on the value_mapping.xml file. The inconsistencies can be mainly due to
invalid content entered in the value_mapping.xml such as the value for an agency-schema pair is repeated ,
incorrect tags or missing tags.
172
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Procedure
1. Right-click on the project and choose Execute Checks.
2. Open the Properties view, and view the result of the check.
2.6
Working with the Mapping Editor
Context
Procedure
2.6.1
Creating a Message Mapping
Context
You perform this task to create a message mapping when the receiver system accepts a different message
format than that of the sender system. The message mapping defines the logic that maps input message
structures with the required format of output message structures.
You define a message mapping using the mapping editor by following the steps below:
Procedure
1. Create a mapping object under the package src.main.resources.mapping under the Project Explorer view.
2. Define the signature for message mapping by specifying the source and target elements under the
Signature section.
3. Define the mapping logic in the Definition tab page.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
173
2.6.1.1
Multi-Mappings
A multi-mapping is a mapping that allows you to transform a source (input) message to multiple target
(output) messages or multiple source to multiple target messages.
Multi-mappings reference multiple message structures. You can, for example, use a multi-mapping to map a
message to multiple different (and generally smaller) messages. In that case, the cardinality of the mapping is
1:n.
In your mapping, always add the namespace http://sap.com/xi/XI/SplitAndMerge to the root tag.
For the format of a multi-mapping, see below:
<?xml version="1.0" encoding="UTF-8"?>
<sm:Messages xmlns:sm="http://sap.com/xi/XI/SplitAndMerge">
<Message1>
...
</Message1>
<MessageN>
...
</MessageN>
</sm:Messages>
2.6.1.2
Creating a Mapping Object
Context
You perform this task to create a mapping object required for message mapping.
Procedure
1. In the Project Explorer, select the integration project.
2. Expand the integration project and select the src.main.resources. mapping package.
3. From the context menu, choose
4. In the New wizard, select
New
Other... .
SAP NetWeaver Cloud Integration
Message Mapping .
5. Choose Next.
6. In the New Message Mapping wizard, enter a name for the mapping.
7. Choose Finish.
174
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Results
The new message mapping object is created under src.main.resources. mapping package and the Message
Mapping Overview editor opens.
2.6.1.3
Defining the Mapping Signature
Context
You perform this task to define the signature of a mapping object.
Procedure
1. In the Message Mapping Overview editor, under the
Signature
Source Elements
section, Add a file.
Note
○ If you have selected an XSD or WSDL file, you can also perform multi mapping by selecting another
source WSDL or XSD.
○ If you have selected an EDMX file as your first source element or you are choosing an edmx file as
your next source element then you will not be able to perform multi mapping. The new file will
overwrite the existing file and only a single file can be seen as source elements.
2. If you are performing multi mapping then change the cardinality of mapping to the required cardinality.
The default cardinality for single mapping is 1:1.
3. Choose OK.
4. Under Target Elements section, repeat steps 1 to 3.
2.6.1.4
Defining the Mapping
Context
You perform this task to the define a mapping for the mapping object.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
175
Procedure
1. In the Definition tab page editor, to map a source field to target field, drag a source node and drop onto a
target node in the tree structure.
Note
○ Alternately, you right-click on the source field, drag and drop it onto the target node and select Map
automatically
○ If you have selected multiple messages under source or target elements, system creates a new
node Messages, which has all the other nodes under it.
.
2. If you want to perform any of the actions such as duplicating the subtree, disabling a field or adding a
variable, then from the context menu of the selected node, choose the required option.
When you need to map different node structures of the source message to only one node structure of the
target message you use the option of duplicating the subtrees.
3. If you want to map the child elements of a recursive node (if any), from the context menu choose the
option of Expand Recursive Node.
Note
○ Recursive node acts as a design time placeholder to indicate creation of a node at this location at
runtime of the type indicated in the repeatedNode property.
○ In case you do not want to use the child elements or variable of the recursive node, then from the
context menu, choose the option of Collapse Recursive Node.
4. Double-click a node to view the graphical representation of mapping in the graphical editor.
Note
If you want to perform mapping directly in the graphical editor, then drag the source and target nodes
from the tree structure into the graphical area.
5. In the graphical editor, connect the source and target node using connectors.
6. If you want to add a function to the connection between the source and target nodes, double-click on the
functions displayed under the Functions folder on the right-side of the graphical editor.
7. Connect the function to the required node with the use of connectors.
8. If you want to add parameters to a function, choose Properties from the context menu of the function.
Note
○ You can also double-click on the function to add parameters
○ The functions, in which you can add parameters, are displayed with a wheel symbol
a. Add a value for the parameter.
b. Choose OK
9. If you want to find the hierarchy of the node in the tree structure, then from the context menu of the node
in graphical editor, choose Find Field.
176
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
10. If you want to change context of the node, then from the context menu, choose Context and select an
option.
11. If the resulting mapping layout in the graphical editor is not in order, from the toolbar of the Properties
view, choose
(Organize Layout) to automatically arrange the layout.
12. Save the mapping.
Note
To check the correctness of the mapping, you can right-click on the editor and choose Execute Checks,
if there are any errors, you get notified by a red error mark close to the field or in Problems view. Some
such errors are described below:
○ In case, there are any unassigned mandatory fields, an error is indicated by a red error mark appears
close to such fields in the Definition tab page.
○ If source or target messages are not assigned, an error message is displayed in the Problems view.
○ If any of the source or target messages are not available in required location, an error mark in red
appears on the element in the Overview tab page.
○ Also, if the mapping is not present in the folder src.main.resources.mapping then an error is shown in
the Problems view.
○ The above errors are also displayed once you have saved the mapping.
2.6.2
Handling Inconsistencies in Mapping Editor
Context
You use this task to handle the inconsistencies in the message structures or mappings that occur due to
modification of source or target elements.
Scenarios where such inconsistencies occur are:
● When you change an XSD or WSDL that are being used in existing mapping as source or target element
● When you change the source or target nodes in the message mapping tree structure
Note
Whenever you open a mapping where any changes have been made to the source or target element, the
editor notifies you about the change.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
177
Procedure
1. In the Definition tab page editor, choose the icon
structures ).
( Check for consistencies between changed message
2. In the Reload Confirmation dialog, choose OK to continue with correcting of structural inconsistencies.
Note
This action discards any recent changes or additional mappings that you have done after changing the
source or target element.
3. In the Missing Fields wizard, you can choose to reassign or delete the inconsistent fields.
Note
○ A red mark appears on the fields with inconsistencies.
○ If there are changes in both source and target structures, then in the Missing Fields wizard, changes
in source structure are displayed first and the follow on screen displays the changes in the target
structure.
4. If you want to reassign the missing fields, then follow the substeps below:
a. Right-click on the missing field in the old structure.
b. Drag the missing field from the old structure and drop it on the required field in the new structure.
c. If you want to map all the children fields related to the selected missing field in old structure with the
matching fields in the new structure, choose the option Map Automatically.
d. If you want to map only the single selected field, then choose Create mapping option.
Note
○ Alternatively, you can simply drag the fields from old structure and drop onto the fields in the new
structure.
○ In case you have moved a disabled missing field, then the mapping also moves along with the field
but the new field is not marked as disabled.
○ In case you have moved a missing field with a variable defined under it, then the variable also
appears under the new field, and the mapping of the old variable is assigned to the new variable.
5. If you do not require the missing fields in your mapping, then select the missing field and choose the icon
(Delete Field) to mark for deletion.
Note
If you want to use the field marked for deletion, then select the icon (Delete Field icon) again to cancel
the delete action.
6. Choose Next to check the missing fields of target structure.
7. Repeat the steps above to reassign or delete the missing fields of target structure.
8. Choose Finish.
Now the fields are reassigned and the fields marked for deletion are removed from the structure.
178
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
9. Save the mappings.
2.6.3
Exporting Mapping Details to Excel
Context
You use this procedure when you want to see the mapping details offline without signing into the Eclipse or
NWDS.
Procedure
1. Select the required mapping from the package main.resources.mapping .
2. From the context menu of the selected mapping, choose Export to Excel.
3. In the Save As dialog, select the location for saving the excel containing the mapping details.
4. Select Save.
Note
○ If the mapping is exported to the selected location without any error, a dialog box with message
Export to excel is completed, is displayed.
○ If you are performing Export to Excel on the mapping for the second time, then it displays a dialog to
replace the earlier excel with the new excel.
○ If you trying to export a mapping, for which an excel is already created and in use by another user,
then the excel does not open and an error is displayed.
○ If any target node is disabled in the mapping, then the node is greyed out in excel and it displays the
value Disabled under the under the corresponding cell of column Type.
○ Similarly, if a node or field is recursive, it displays the value ...[Recursive] under the under the
corresponding cell of column Type.
○ Also, currently only .xlsx format of excel is supported.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
179
2.7
Testing an Integration Flow
Context
Procedure
2.7.1
Checking the Consistency
Context
You can execute consistency checks to validate if the configurations of the integration flow elements are
adhering to their definition. This helps you validate the integration flow model and the configured attributes are
supported at runtime. The inconsistencies can occur if the integration flow model does not adhere to the
modeling constraints that SAP supports for specific scenarios. When you trigger consistency check execution,
the tool validates the consistency of your integration flow model against the predefined constraints set by the
SAP supported scenarios.
Procedure
1. Right-click on the project and choose Execute Checks.
Tip
You can also click on the graphical model outside the Integration Process pool, and choose Execute
Checks from the context menu.
2. Open the Problems view for the consistency check results.
180
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
2.8
Operations-Related Tasks
Context
Procedure
2.8.1
Deploying an Integration Project
Prerequisites
You have obtained the details about the system management node from the SaaS Admin and entered in
Windows
Preferences
SAP HANA Cloud Integration
Operations Server
page.
You have ensured that the supported version of Eclipse IDE, Eclipse Juno (Classic 4.2.2), is installed on your
system to avoid deployment failure.
Context
You perform this task to trigger deployment of the integration project. The deployment action triggers the
project build and deployment on the Tenant Management Node (Secure).
Procedure
1. If you are deploying only one integration flow project, follow the steps below:
a. Right-click on the project and choose Deploy Integration Content from the context menu.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
181
Note
You can distinguish each deployment of the project bundle by adding a qualifier in the
MANIFEST.MF file. Open the MANIFEST.MF file of the project and enter the value for BundleVersion as <version>.qualifier. For example, 1.0.0.qualifier.
b. In the Integration Runtime dialog, enter the Tenant ID of the Tenant Management Node.
c. Choose OK.
2. Check the deployment status of the integration project in the runtime by following the steps below:
a. In the Node Explorer view, select the Tenant that is represented as
<Tenant ID>.
b. Open the Task view and check if the 'Generate and Build' task is available.
c. In the Node Explorer, select the worker node type represented as
project bundle that is deployed in the Component Status view.
IFLMAP and check for the
Note
You can identify the project bundle by checking the Version column. If you have specified the
qualifier, the Version column displays the bundle version along with the timestamp.
2.8.2
Viewing Error Logs
Context
You use this procedure to view the errors of an integration content artifact for monitoring purposes.
Procedure
1. Launch SAP HANA Cloud Integration.
2. Choose
Window
Open Perspective
Other .
3. In the Open Perspective dialog box, choose Integration Designer.
4. Choose OK.
5. In the Node Explorer pane, expand
cluster
<node name>
TM:<VM Name> .
6. Choose the Component Status View tab.
7. In the context menu of an artifact in error state, select Show Error Details.
182
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
2.8.3
Activating Tenant and Integration Flow Tracing
You activate tracing to track the message flow of processed messages, view the relevant message payload at
various points of message flow, and identify if there is any error in the message execution.
Prerequisites
1. You have obtained the following roles to retrieve and view traces.
Table 48:
Operations
Roles
View Message Trace
IntegrationOperationServer.read
View Message Payload/Header
esbmessagestorage.read
Export MPL
IntegrationOperationServer.read
esbmessagestorage.read
NodeManager.read
2. You have verified that tracing is enabled for newly deployed integration flows.
Procedure
1. If you want to enable tracing at the tenant level, perform the following substeps:
a. In the Node Explorer, double click on the tenant management node, which henceforth opens the
tenant editor.
b. In the Tenant Configuration tab, add the following strings and set their value to True
○ wn.ifl.tracing.enable to enable tracing for worker node of type IFL.
○ wn.iflmap.tracing.enable to enable tracing for worker node of type IFLMAP.
2. If you want to enable tracing at the integration flow level, perform the following substeps:
a. In the In the Model Configuration editor page, select the graphical area outside the integration flow
pool.
b. In the Properties view, choose the Trace Configuration tab.
c. In the Property sheet, select trace level None, Message Body and Header, Header from the dropdown
menu of trace log.
Note
○ You can retrieve tracing content if connection to the tenant management node exists.
○ Post message processing, the trace data is deleted after 24 hours.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
183
2.8.3.1
View MPL
You use this task to display message trace for a particular integration flow.
In the Message Monitoring editor, for a completed or failed message, the Properties view displays the message
processing log (MPL) for this message. The MPL provides information on the steps during processing of a
particular message and the View MPL button opens the particular integration flow with the message trace,
displaying path of message flow. If the particular project does not exist in workspace then it automatically
imports project.
If the current project state is different from deployed state then tracing of message flow occurs till the point,
sequence of elements match.
View Trace imports trace content in project with name same as bundle id. If existing project name is not same
as that of bundle id, then view trace creates a new project in the workspace with same bundle-id.
Payload and header tabs appear in property sheet, on clicking the message icon in the message trace. If in any
case splitter is used, then there are multiple message payloads and the icon has multiple message symbols. In
such a scenario, the message heading is displayed between dashed lines and below the heading, payload
content appears. The same is shown below.
------------------------Message 1
-----------------------<ns0:BSNMessage xmlns:ns0="https://bsnschemas.netweaver.neo.com/bsnflow">
<SenderId>Token</SenderId>
<ReceiverId></ReceiverId>
<MessageType></MessageType>
<FileName></FileName>
<NumberOfRecords></NumberOfRecords>
<MessageId></MessageId>
<MessageContent></MessageContent>
</ns0:BSNMessage>
There are multiple sequences which traverse one path. The property sheet displays this information. For
example, “Displaying content for message 1 (out of 3)”. Here, ‘3’ denotes number of times the sequence
traverses a particular path. Clicking on the text enables user to switch to a different sequence.
In case of huge payload, the whole information is not visible. In such a scenario, we can use ‘Export Payload’
button to view content using external tool/application.
2.8.3.2
Export MPL
Context
You enable this element to export and analyze a trace.
184
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
Procedure
Select a processed message in Message Monitoring editor. On clicking the same, Message Processing Log
dialog box opens. Select one of the following from the dialog box:
○ Export Log – Exports message flow sequence only
○ Export Log with Trace – Exports message flow sequence, message payload and headers at different trace
points
○ Export Log with Trace and Integration Project
2.8.3.3
Import Trace
Context
You can import the content by using Import Trace. Import Trace imports content with trace only.
Procedure
1. Right click on the Project Explorer.
2. Select Import.
3. Select Message Processing Log Archive and click on Next.
4. In the dialog box, select the archived file where the content is saved.
5. The integration flow opens with the message trace.
2.9
References to Additional Help
Cheatsheet
Cheatsheets guide you in performing simple end-to-end use cases. Cheatsheets are very useful if you are
working with the tool for the first time and you want to understand the related steps to complete a task. It
shows you the flow of steps and has UI controls to automatically open the relevant UI elements, such as a
wizard or a view.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
185
To open cheatsheets, follow the steps below:
1. From the main menu, choose
Help
Cheatsheets... .
2. In the Cheatsheet Selection dialog, expand SAP HANA Cloud Integration folder.
3. Select the most appropriate cheatsheet from the list and choose OK.
4. Follow the instructions mentioned in the cheatsheet.
Context-sensitive Help
Context -sensitive help provides more details about a specific view, wizard or page. It is useful when you want
more information about the parameters in the UI elements.
Select the UI element and press F1 .
186
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Developing Integration Content Using the Integration Designer
3
Packaging Integration Content in SAP
HCI Spaces
You use this procedure to assemble integration contents into packages and publish them, so that integration
developers can use these integration packages in their integration scenarios.
As an integration developer, you can now create integration packages for your specific domain or organization.
3.1
Importing Integration Packages
Context
Procedure
1. Choose Import in the Design tab to import an integration package.
2. Browse and select the integration package for importing.
3. Choose OK.
Imported file appears in the Design tab of the application.
3.2
Creating an Integration Package
Procedure
1. Launch SAP HCI Spaces by accessing the URL provided by SAP.
2. If you are a new user, choose Signup.
3. If you have user credentials, choose Login.
4. Choose the Design tab.
5. Choose Create.
6. In the <integration package name> editor page, enter the required data.
Developer's Guide: Managing Integration Content
Packaging Integration Content in SAP HCI Spaces
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
187
7. Perform the following substeps as required:
○ If you want to add an integration flow as an artifact, perform the following substeps:
1. Choose
Add
Process Integration
in the
(Artifacts) section.
2. Enter the required details in the Create Process Integration Artifact Artifact dialog box.
3. Choose Browse in the Integration Flow field to import an integration flow from your local system.
4. Choose the required file in the Open dialog box.
5. Choose Open.
6. Choose OK.
Note
Create a zip file of the required integration flow in your project folder before importing it as an
artifact. The zip file must not contain any bin folder, and you must not keep the integration flow in
any sub folder.
○ If you want to add a file as an artifact, perform the following substeps:
1. Choose
Add
File
in the
(Artifacts) section.
2. Enter the required details in the Create File Artifact dialog box.
3. Choose Browse in the File Upload field to import a file form your local system.
4. Choose the required file in the Open dialog box.
5. Choose OK.
○ If you want to add a mapping as an artifact, perform the following substeps:
1. Choose
Add
Value Mapping
in the
(Artifacts) section.
2. Enter the required details in the Create Value Mapping Artifact Artifact dialog box.
3. Choose Browse in the File Upload field to import a file from your local system.
4. Choose the required file in the Open dialog box.
5. Choose Open.
6. Choose OK.
Note
Create a zip file of the required value mapping in your project folder before importing it as an
artifact.
○ If you want to add a URL as an artifact, perform the following substeps:
1. Choose
Add
URL
in the
(Artifacts) section.
2. Enter the required details in the Create URL Artifact dialog box.
3. Choose OK.
○ If you want to add a data integration as an artifact, perform the following substeps:
188
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Packaging Integration Content in SAP HCI Spaces
1. Choose
Add
Data Integration
in the
(Artifacts) section.
2. Enter the required details in the Create Data Integration Artifact dialog box.
3. Choose OK.
8. If you want to remove the integration package, choose Delete Package.
9. If you want to keep the integration package, choose Save.
10. If you want to terminate the creation of the integration package, choose Cancel before saving it.
3.3
Working with an Integration Package
You use this procedure to perform various miscellaneous functions with the artifacts of an integration
package.
Procedure
1. Launch SAP HCI Spaces by accessing the URL provided by SAP.
2. Choose the Design tab to view the list of integration packages.
3. If you want to view the details of an integration package, choose <integration package name>.
4. Choose
View metadata
5. Choose
Deploy
to view the metadata of the artifact.
to deploy the artifact.
You can only deploy data flows, integration flows and value mappings. You can deploy multiple value
mappings at a time.
6. Choose
Configure
to configure the artifact.
You can configure only integration flows.
7. Choose
Download
to download an artifact.
You can only download integration flow, files, and value mappings. Your local file system stores the
downloaded artifact(s) with name as <IntegrationPackage>_artifact.zip file. If you want to use the artifact
in eclipse, you need to import it in eclipse after extracting it from the zip file.
Developer's Guide: Managing Integration Content
Packaging Integration Content in SAP HCI Spaces
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
189
3.4
Editing an Integration Package
Procedure
1. Launch SAP HCI Spaces by accessing the URL provided by SAP.
2. If you are a new user, choose Signup.
3. If you have user credentials, choose Login.
4. Choose the Design tab.
5. Select the required integration package.
6. In the <integration package name> editor, choose Package Content.
7. Choose Edit.
8. If you want to edit integration content of type process integration, data integration, file, or value mapping,
choose
You get the following functions:
○ View metadata
○ Delete
○ Download
○ Configure (only for integration flows)
○ Deploy (only for data flows and integration flows)
9. If you want to edit artifact of type URL, choose
.
You get the following functions:
○ View metadata
○ Delete
10. If you want to edit the metadata of an artifact, then perform the following substeps:
a. Choose View metadata.
b. In the <Artifact Name Details> dialog box, choose Edit.
c. Choose Save to keep the changes.
d. Choose Save as version to retain a copy of the current artifact.
You can view the version history of an artifact by choosing the current version mentioned along with it.
You can save versions of a single or multiple artifacts, or an integration package. You can also view the
list of existing versions of the required artifact(s) or integration package(s). You can choose to make
an existing version as the latest one with or without saving a draft of it.
e. Choose Cancel to revert the changes.
11. If you want to edit a specific integration package that is present in the Discover tab, then perform the
following substeps:
a. Choose the Discover tab.
b. Select the integration package.
c. Choose
to copy it to the Design tab.
You can copy an integration package to the Design tab by opening the integration package in the Discover
tab and choosing Copy in the integration package editor. If the copy fails, then choose Create copy to
190
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Packaging Integration Content in SAP HCI Spaces
create a copy of the integration package or Overwrite to erase errors and register new information in the
integration package.
12. If you want to download multiple artifacts at once, then perform the following substeps:
a. Select the Artifacts checkbox.
b. From the list of artifacts, select the ones you want to download.
c. Choose
Actions
Download all .
13. If you want to keep the changes made to the integration package, choose Save.
14. If you want to discard the changes, choose Cancel before saving it.
3.5
Locking Integration Packages
You use this procedure to restrict multiple users from editing an integration package.
Context
Procedure
1. Launch SAP HCI Spaces by accessing the URL provided by SAP.
2. Choose the Design tab.
3. Choose an integration package from the list.
4. Choose the Edit button.
When you choose Edit in an integration package editor, it locks the integration package and prevents any
other user from modifying it.
5. Choose Save after making the required changes.
○ Choosing Save, Cancel or Delete releases the integration package and allows it to be modified by other
users.
○ In case you close your browser without saving the integration package or there is a session timeout for
you, the integration package remains locked by you unless you edit and save, cancel or delete it.
Developer's Guide: Managing Integration Content
Packaging Integration Content in SAP HCI Spaces
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
191
3.6
Exporting Integration Packages
Context
Procedure
1. Choose the Design tab.
2. Select the required integration package from the list.
3. 3. Choose Export.
The destination of export depends on the default browser setting. By default, the downloaded file takes
the name of the integration package. In case the name contains special characters, the browser changes
the file name by appending them.
192
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Packaging Integration Content in SAP HCI Spaces
4
Accessing Integration Content in SAP
HCI Web Application
SAP HCI Spaces is a Web-based application that helps you to access integration content available for a
particular HCI account on an OnDemand integration infrastructure.
SAP HANA Cloud Integration web tool provides you a web based interface for accessing and managing
integrations configured in HCI. You can access and use the prepackaged integration content from the
catalogue or import them to the workspace from the system you are accessing HCI.
You can use the artifacts available in integration packages to achieve the integration scenario. Optionally, you
can also import integration package from your local folder and use them. Integration flow, one of the artifacts
in integration packages, are used to achieve the integration scenarios along with other artifacts like value
mappings, data flows, files and URLs. You can use the integration flows available in packages by configuring
and deploying them. You can also edit the integration flows by adding or removing elements, before you
configure and deploy them.
The HCI web tool consists of four components:
1. Discover
This tab page is the catalogue where you can view all the available integration packages. The integration
packages available to you depends on the permissions available for the user credentials using which you
logged into the HCI web tool. You can view the description of integration packages and copy them to your
customer workspace.
2. Design
The Design tab page, also known as customer workspace, enables you to configure or model integration
flows. After completing this task, you can save the changes, save as a version or deploy the integration
flow.
3. Run
This tab page enables you to view all the deployed artifacts. It also provides information like the state of
deployment (successful or error), the type of artifact, the deployment date and version. You can undeploy
an artifact or also configure the parameters. You can also configure the externalized parameters in this tab
page.
4. Monitor
This tab page enables you to monitor everything related to HANA Cloud Integration. You can view an
overview of the two main aspects of HCI that you need to monitor, integration content and messages. You
can also access the dedicated message monitor and integration content monitor to view more information
on the status of messages and integration content respectively.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
193
4.1
View Integration Packages in Catalog
Prerequisites
You have access to SAP HCI web tooling with integration developer role.
Context
HCI Spaces offers integration packages that comprises of artifacts. These artifacts include integration flows,
value mappings, and files. You use this procedure to view the artifacts in an integration package.
Procedure
1. Launch HCI Spaces application by accessing the URL provided by SAP.
You can view the HCI Spaces catalogue page. It lists all the integration packages you can access.
2. If you want to view the description of an integration package, mouse-over the integration package tile and
choose
.
3. If you want to filter the integration packages, perform the following substeps.
a. Choose
to activate the filter criteria.
System activates the Apply Filters screen area.
b. Select the Product and Keyword you want to filter for and choose OK.
4. If you want to sort integration packages according to name or date, choose
appropriate sorting option from dropdown list.
194
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
and select the
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
4.2
Add Integration Packages to Customer Workspace
Prerequisites
You have logged into SAP HCI web tooling with integration developer role.
Context
You have to add the integration packages to your customer workspace (Design tab page). This enables you to
access the artifacts in that package, configure, and deploy them. HCI web tooling provides you two options to
do this:
1. Copy integration package from catalog (Discover tab page) to your customer workspace.
2. Upload integration package from your local file system to your customer workspace.
You use this procedure to add integration packages to your customer workspace.
Procedure
1. If you want to copy integration package in catalog to your customer workspace, mouse-over the
integration package tile and choose
.
2. If you want to upload an integration package from your local file system to your customer workspace,
perform the following substeps.
a. Choose
Design .
b. Choose Import.
c. Navigate to the folder in your local file system in which you have saved the integration package.
Note
The integration package must be a .zip file.
d. Choose Open.
You see the integration package that you uploaded in your customer workspace.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
195
4.3
Configure Integration Flow
Prerequisites
● You have connected to SAP HCI web tooling.
● Your user is assigned with integration developer role.
● You have accessed the customer workspace.
Context
SAP HCI web tooling allows you to configure an integration flow individually or multiple integration flows at
once. You can configure the runtime, error configuration and also provide a description about the integration
flow.
Procedure
1. In Design tab page, select the integration package that contains the integration flow you want to configure.
2. Choose Package content.
You see an overview of all the artifacts available in the selected integration package.
3. In the Actions column for the integration flow you want to configure, choose
Configure .
4. Provide the relevant details in Sender, Receiver and Parameters tab pages.
Note
For more information, see Configure Adapters in Communication Channels [page 199].
5. If you want to save this configured integration flow as a version, choose Save as version and specify the
version details.
6. If you want to save or deploy this integration flow, choose the appropriate option.
Note
You can use error configuration to handle errors when message processing fails at runtime. You select
an error handling strategy based on the descriptions below:
196
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
Table 49: Error Handler Strategies
Option
Description
None
No error handling strategy is used if a message exchange could
(default setting)
not be processed .
Raise Exception (Deprecated)
If a message exchange could not be processed and there is an
IDoc or SOAP ( SAP RM) channel in the integration flow, an ex­
ception is raised to the sender.
Raise Exception
4.4
If a message exchange could not be processed, an exception is
raised to the sender.
Configure Multiple Integration Flows
Prerequisites
You have copied the integration package to your workspace
Context
SAP standard integration packages offer a feature where you can configure multiple integration flows that
connect to the same system at once. You need to enter the configuration details only once in the mass
configuration screen. All the integration flows that connect to that system instance are updated with the
details. This eliminates the need for individually entering the configuration details in each integration flow.
For example, consider a scenario in which all the integration flows connect to the same instance of SAP ERP.
The configuration details like Host, Port and Client are the same for all the integration flows. Once you specify
these details in the mass configuration screen, the application updates these details in all the relevant
integration flows. This simplifies the task of configuring multiple integration flows that share common system
properties.
Remember
● The system consolidates field names into a single section only if they match exactly across all the
integration flows you select for configuration.
● System supports mass configuration for integration flows with SOAP or iDoc adapters only.
● You can also configure authentication details during mass configuration.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
197
Procedure
You use this procedure to configure multiple integration flows.
1. Launch SAP HCI Spaces using the application URL.
2. Choose
Design .
3. Select the package that contains the integration flows that you want to configure and choose Package
content.
4. In the Artifacts screen area, select the integration flows you want to configure.
5. Choose
Actions
Configure .
Note
You can also download the artifacts to your local folder by choosing Download instead of Configure.
The system displays the externalized system properties pertaining to the selected integration flows that
you want to configure. If there are common properties, the application displays them as a single entry.
6. Enter the system properties and choose OK.
7. If you want to save the configuration, choose Save.
8. If you want to deploy the integration flows, choose Deploy.
4.5
Assign Adapters to Communication Channels
Prerequisites
● You have logged on to SAP HCI web tooling.
● You have copied or imported the integration package to your workspace.
Context
You need to enable the communication between sender and receiver systems by assigning the communication
channel with the appropriate adapters. The integration package that you have copied to workspace contain
integration flows that have the relevant adapters assigned to their communication channels.
You use this procedure if you want to change the adapter assigned to the communication channel in
integration flows.
198
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
Procedure
1. Access SAP HCI Web tooling by launching the URL provided by SAP.
Design .
2. Choose
3. Select the integration package that contains the integration flow in which you want to assign adapter to
communication channel.
4. Select the integration flow and choose Edit.
5. If a communication channel does not exist, go to step 7.
6. If there is a communication channel, choose the channel and in the palette choose
7. Choose
.
.
8. If you want to define sender channel, choose Sender and drag the pointer to Start.
9. If you want to define receiver channel, choose End and drag the pointer to Receiver.
10. In Adapter Type dialog, select the adapter you want to assign.
11. If you have assigned SuccessFactors or SOAP adapter, in Message Protocol dialog, choose the message
protocol you want to use.
12. Save or deploy the changes after configuring the adapter and other integration flow elements.
4.6
Configure Adapter in Communication Channels
You should configure the adapters assigned to communication channels before deploying the integration flow.
If you are quick configuring an integration flow, you can configure a few adapter parameters. Refer to the
relevant adapter configuration details for information on those parameters.
Table 50:
Adapter
Link to Adapter Configuration Guide
SOAP (SAP RM)
Configure Communication Channel with SOAP (SAP RM)
Adapter [page 200]
SOAP (1.x)
Configure Communication Channel with SOAP (1.x) Adapter
[page 202]
SuccessFactors (SOAP)
Configure Communication Channel with SuccessFactors
(SOAP) Adapter [page 207]
SuccessFactors (REST)
Configure Communication Channel with SuccessFactors
(REST) Adapter [page 211]
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
199
Adapter
Link to Adapter Configuration Guide
SuccessFactors (OData)
Configure Communication Channel with SuccessFactors
(OData) Adapter [page 213]
IDoc
Configure Communication Channel with IDoc Adapter [page
216]
OData
Configure Communication Channel with OData Adapter
[page 218]
HTTP
Configure Communication Channel with HTTP Adapter
[page 222]
SFTP
Configure Communication Channel with SFTP Adapter
[page 224]
4.6.1
Configure Communication Channel with SOAP (SAP
RM) Adapter
Prerequisites
● You have logged into your customer workspace in HCI web tooling.
● You have assigned SOAP adapter to the communication channel.
● You have specified SAP RM as the message protocol.
Context
You use this procedure to configure a communication channel with the SuccessFactors adapter.
Procedure
1. Select the integration flow you want to configure and choose Edit.
2. Choose the communication channel with SOAP (SAP RM) adapter that you want to configure.
3. In General tab page, provide channel name and description in the relevant fields if required.
4. Choose Adapter Specific tab page.
200
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
5. Provide values in fields based on description in table.
Table 51: Field Name and Description for SOAP (SAP RM) Sender
Field
Description
Address
Relative endpoint address of the ESB that listens to in­
coming requests.
URL to WSDL
Choose Select and select the WSDL in Select WSDL Re­
source. You can also upload the WSDL from local folder
by choosing Upload from File System.
Robust One-Way Communication
Select to ensure reliable one-way message transmission.
System returns a status after message processing. Sys­
tem returns a fault if the message processing fails.
Table 52: Field Name and Description for SOAP (SAP RM) Receiver
Field
Description
Address
Relative endpoint address of the ESB that listens to in­
coming requests. Example: /FSN/Payment
URL to WSDL
Choose Select and select the WSDL in Select WSDL Re­
source. You can also upload the WSDL from local folder
by choosing Upload from File System.
Service
Name of the service that the referenced WSDL contains
Endpoint
Name of the endpoint of the selected service
Operation Name
Name of the operation of the selected service that the ref­
erenced WSDL contains
Timeout (in ms)
Maximum time in milliseconds that the channel waits be­
fore terminating message processing
Compress Message
Select if you want to send compressed messages to the
receiver and indicate that the endpoint can handle com­
pressed response messages.
Allow Chunking
Select to enable HTTP chunking of data while sending
messages
Basic Authentication
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
Select if you want to connect using basic authentication
(Credential Name). Selecting this option enables the
Credential Name field.
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
201
Field
Description
Credential Name
Enter the credential name of the user specified while de­
ploying the basic authentication credentials on the clus­
ter.
Note
This option is enabled only if you select Basic
Authentication checkbox.
Private Key Alias
Enter the private key alias that enables the system to
fetch the private key from keystore for authentication.
6. Save or deploy changes.
4.6.2
Configure Communication Channel with SOAP (1.x)
Adapter
Prerequisites
● You have logged into your customer workspace in HCI web tooling.
● You have assigned SOAP adapter to the communication channel.
● You have specified SOAP 1.x as the message protocol.
Context
You use this procedure to configure a communication channel with the SOAP (1.x) adapter.
Procedure
1. Select the integration flow you want to configure and choose Edit.
2. Choose the communication channel with SOAP (1.x) adapter you want to configure.
3. In General tab page, provide channel name and description in the relevant fields if required.
4. Choose Adapter Specific tab page.
5. If you are configuring the SOAP 1.x adapter in sender channel, perform the following substeps.
202
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
a. Choose the General tab page and specify name and description for the channel if required.
b. Choose the Adapter Specific tab page and provide values in fields based on description in table.
Table 53: Field Name and Description for SOAP (1.x) Sender General Adapter Specific Settings
Field
Description
Address
Relative endpoint address of the ESB that listens to in­
coming requests.
URL to WSDL
Choose Select and select the WSDL in Select WSDL Re­
source. You can also upload the WSDL from local folder
by choosing Upload from File System.
Service
Name of service that the referenced WSDL contains
Endpoint
Name of the relative endpoint of the selected service
that the referenced WSDL contains
Processing Settings
Choose Standard or Robust from the dropdown list.
If you choose Robust, system returns a status after
message processing. It returns a fault if the message
processing fails.
c. Choose WS-Security tab page.
d. In WS-Security Configuration field, if you want to manually configure WS-Security settings, select Via
Manual Configuration in Channel in dropdown list. Provide values in fields based on description in
table.
Table 54:
Field
Description
WS-Security Type
Select Verify Message if you want to verify the signed
payload from the tenant. Select Verify and Decrypt
Message if you want the adapter to verify and decrypt
the signed message from the tenant.
Save Incoming Signed Message
Select this checkbox if you want the system to save the
incoming (encrypted) message from the tenant.
Check Time Stamp
Select this checkbox if the sender sends a time stamp
with the incoming message
Sender is Basic Security Profile Compliant
Select this checkbox by default. Deselect this only if the
sender system does not have a dedicated security level
that the basic security profile indicates.
Private Key Alias for Response Signing
Specify an alias for the private key that is used to sign
the response message.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
203
Field
Description
Public Key Alias for Response Encryption
Specify an alias for the public key that is used to en­
crypt the response message.
Note
This field is available only if Verify and Decrypt
Message option is selected in WS-Security Type
field.
Initiator Token Include Strategy
This option is set as Always to Recipient by default to
ensure that certificate is sent with the message.
X509 Token Assertion
The certificate format that is sent with the message.
Recipient Token Include Strategy
Select Always to Initiator if you want certificate to be
added with the response message.
Algorithm Suite Assertion
The algorithm that is to be used by the WS consumer.
6. If you are configuring the SOAP 1.x adapter in receiver channel, perform the following substeps.
a. Choose General tab page and specify name and description for the channel if required.
b. Choose the Adapter Specific tab page and provide values in fields based on description in table.
Table 55: Field Name and Description for SOAP (1.x) Receiver Adapter Specific Settings
Address
Relative endpoint address of the ESB that listens to in­
coming requests.
URL to WSDL
Choose Select and select the WSDL in Select WSDL Re­
source. You can also upload the WSDL from local folder
by choosing Upload from File System.
Service
Name of service that the referenced WSDL contains
Endpoint
Name of the relative endpoint of the selected service
that the referenced WSDL contains
Operation Name
Name of the operation of the selected service that the
referenced WSDL contains
Timeout (in ms)
The maximum time in milliseconds system has to wait
for a response before the connection is terminated.
Compress Message
Select this checkbox to send compressed request mes­
sages to the receiver and indicate that system can han­
dle compressed response messages
204
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
Allow Chunking
Select this checkbox to enable HTTP chunking while
sending messages
Connect without Client Authentication
Select this option if the client allows you to connect
without authentication
Basic Authentication
Select this option if the client enables connection using
basic authentication using the credentials deployed.
Note
This is enabled if you do not select Connect without
Client Authentication checkbox.
Credential Name
Enter the credential name of the user specified while
deploying the basic authentication credentials on the
Note
cluster.
This is enabled if you do not select Connect without
Client Authentication checkbox.
c. Choose WS-Security tab page.
d. In WS-Security Configuration field, if you have selected None, save or deploy the changes.
e. In WS-Security Configuration field, if you have selected Via Manual Configuration in Channel, provide
values in fields based on description in table.
Table 56:
Field
Description
Options
Choose None, Plain Text Password or Credential Name
from dropdown list.
Credential Name
Enter the credential name of the user specified while
deploying the basic authentication credentials on the
Note
cluster.
This field is enabled only of you select Plain Text
Password or Hashed Password (Password Digest) in
Options field.
WS-Security Type
Select Sign Message if you want the system to sign the
payload. Select Sign and Encrypt Message if you want
the tenant to sign and encrypt the payload.
Set Time Stamp
Select this checkbox if the tenant should send a time
stamp with the payload
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
205
Field
Description
Sender is Basic Security Profile Compliant
Select this checkbox by default.
Deselect this only if the sender system does not have a
dedicated security level that the basic security profile
indicates.
Private Key Alias for Signing
Specify an alias for the private key that is used to sign
the response message.
Public Key Alias for Response Encrypt
Specify an alias for the public key that is used to en­
crypt the response message.
Note
This field is available only if Verify and Decrypt
Message option is selected in WS-Security Type
field.
Initiator Token Include Strategy
This option is set as Always to Recipient by default to
ensure that certificate is sent with the message.
X509 Token Assertion
The certificate format that is sent with the message.
Recipient Token Include Strategy
Select Always to Initiator if you want certificate to be
added with the response message.
Algorithm Suite Assertion
The algorithm that is to be used by the WS consumer.
f. In WS-Security Configuration field, if you have selected Based on Policies in WSDL, provide values in
fields based on description in table.
Table 57:
Field
Description
Credential Name
Enter the credential name of the user specified while
deploying the basic authentication credentials on the
cluster.
Private Key Alias for Signing
Specify an alias for the private key that is used to sign
the response message.
Public Key Alias for Response Encryption
Specify an alias for the public key that is used to en­
crypt the response message.
Sender is Basic Security Profile Compliant
Select this checkbox if the sender system has a dedi­
cated security level that the basic security profile indi­
cates.
7. Save or deploy the changes.
206
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
4.6.3
Configure Communication Channel with
SuccessFactors (SOAP) Adapter
Prerequisites
● You have logged into your customer workspace in HCI web tooling.
● You have assigned the SuccessFactors adapter to the communication channel.
● You have selected SOAP message protocol while assigning the SuccessFactors adapter.
Context
The SuccessFactors adapter enables you to communicate with the SuccessFactors system. You use the SOAP
message protocol to connect to the SOAP based web services of the SuccessFactors system.
You use this procedure to configure communication channel with SuccessFactors adapter.
Procedure
1. Select the integration flow you want to configure and choose Edit.
2. Choose the communication channel you want to configure.
3. In General tab page, provide channel name and description in the relevant fields if required.
4. Choose Adapter Specific tab page and provide values in fields based on description in table.
Table 58: Field Name and Description for SuccessFactors SOAP Adapter Processing Details
field
Description
SFSF Data Center
SuccessFactors data center that you want to connect to
Address
URL of the SuccessFactors data center that you want to
connect to
Note
This field is enabled only if you choose Other in SFSF
Data Center field.
Address Suffix
System automatically populates this value as /sfapi/v1/
soap as you have selected the SOAP message protocol
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
207
field
Description
Credential Name
Credential name for your credentials that has been de­
ployed on the tenant
Call Type
It is Synchronous Query by default. If you want to execute
an Adhoc operation, select Adhoc / Asynchronous from
the dropdown list
Entity
Entity that you want to access in SuccessFactors system.
Operation
Operation that you want to perform on the entity that you
are accessing on the SuccessFactors system
Query
Query that you are executing
Page Size
Maximum number of records to be fetched in one page of
response
5. If you are configuring the sender channel, choose the Scheduler tab page and provide values in fields
based on description in table.
Table 59:
Scheduler Option
Field
Description
Run Once
NA
Select to execute the operation im­
mediately after deploying the integra­
tion content
Schedule on Day
On Date
Specify the date on which you want
the operation to be executed
On Time
Specify the time on which you want
the operation to be executed
Every
Specify the interval in which the oper­
ation has to be executed.
Time Zone
Select the time zone that you want
the scheduler to use as a reference
for the date and time settings
Schedule to Recur
Daily
Select the time or interval and time
zone for the schedule to recur
Weekly
Select the checkboxes to indicate the
days of the week on which the opera­
tion has to be executed. Also, specify
the time or interval for the schedule
to recur
208
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
Scheduler Option
Field
Description
Monthly
Select the day of the month on which
the operation has to be executed.
Also indicate the time or the interval
during which the schedule has to re­
cur
6. Save or deploy changes.
Modifying SuccessFactors SOAP Entity and Operation
Prerequisites
● You are configuring the communication channel that is assigned with SuccessFactors SOAP adapter.
● Ensure that the TrustedCAs from the service provider you are connecting to are added to the system
keystore associated with your HCI account.
Context
SuccessFactors SOAP adapter enables you to modify the entity that you are accessing and the operation that
you are performing on the entity. You can use this adapter to perform the following operations:
● Query
● Insert
● Update
● Upsert
You use this procedure to change the entity and modify the operation for SuccessFactors SOAP adapter.
Procedure
1. In Entity field, choose Select.
2. If you have not added the system with authentication details, choose
based on description in table. Choose Connect.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
and provide values in fields
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
209
Table 60:
Fields
Description
System
Name of the SuccessFactors datacenter that you are con­
necting to
Address
URL of the SuccessFactors datacenter that you are con­
necting to
Company ID
Company ID for authentication
User ID
User ID associated with the Company ID
Password
Relevant password for the specified user ID
3. If you have added the system with authentication details, perform the following substeps.
a. In System field, choose the system you want to connect to from the dropdown list.
b. In Password field, provide the appropriate password.
c. Choose Connect.
4. In Entity Selection dialog, select the entity that you want to access.
5. In Query field, choose Modify.
6. In Operation field, choose the operation you want to perform.
Note
You can only perform Query operation in sender channel.
7. In the Fields dropdown list, select the fields that you want to perform the operation on.
Note
You can select multiple fields by selecting their respective checkboxes.
8. If you want to specify filter conditions, choose
and perform the following substeps.
a. In Filter By field, choose the fields that you want filter.
b. In Operator field, choose the operator that you want to use to define the filter condition.
c. In Input Type field, select the type of input you want to provide for defining the filter condition.
d. In Value field, provide value of the input for filter condition.
e. Select AND or OR based on how you want this filter condition to be considered when the operation is
executed.
f. Choose
to add more than one filter condition.
9. If you want to specify sorting conditions, choose
and perform the following substeps.
a. In Field, select the field you want to include in the sorting condition.
210
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
b. If you want the sorting to be done in descending order, select the checkbox in Desc column.
c. Choose
to add more than one filter condition.
Results
The system displays a prompt that a XSD file is created. You can use this XSD file for mapping steps.
4.6.4
Configure Communication Channel with
SuccessFactors (REST) Adapter
Prerequisites
● You have logged into your customer workspace in HCI web tooling.
● You have assigned the SuccessFactors adapter to the communication channel.
● You have selected REST message protocol while assigning the SuccessFactors adapter.
Context
The SuccessFactors adapter enables you to communicate with the SuccessFactors system. You use the REST
message protocol to connect to the REST based web services of the SuccessFactors system.
You use this procedure to configure communication channel with SuccessFactors adapter.
Procedure
1. Select the integration flow you want to configure and choose Edit.
2. Choose the communication channel you want to configure.
3. In General tab page, provide channel name and description in the relevant fields if required.
4. Choose Adapter Specific tab page and provide values in fields based on description in table.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
211
Table 61: Field Name and Description for SuccessFactors REST Adapter Processing Details
Field
Description
Address
URL of the SuccessFactors LMS service
Address Suffix
URL suffix for the SuccessFactors LMS service
Credential Name
Name of the credentials deployed on the SuccessFactors
LMS service for authentication
Operation
Operation that you want to perform
Note
You can only perform GET operation on sender chan­
nel.
Entity
LMS entity that you are accessing.
Note
Refer for the relevant LMS API documentation for
more details.
Parameters
Operation parameters that you want to send
Page Size
Maximum number of records in one page of response
5. If you are configuring the sender channel, choose Scheduler tab page and provide values in fields based on
description in table.
Table 62:
Scheduler Option
Field
Description
Run Once
NA
Select to execute the operation im­
mediately after deploying the integra­
tion content
Schedule on Day
On Date
Specify the date on which you want
the operation to be executed
On Time
Specify the time on which you want
the operation to be executed
Every
Specify the interval in which the oper­
ation has to be executed.
Time Zone
Select the time zone that you want
the scheduler to use as a reference
for the date and time settings
212
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
Scheduler Option
Field
Description
Schedule to Recur
Daily
Select the time or interval and time
zone for the schedule to recur
Weekly
Select the checkboxes to indicate the
days of the week on which the opera­
tion has to be executed. Also, specify
the time or interval for the schedule
to recur
Monthly
Select the day of the month on which
the operation has to be executed.
Also indicate the time or the interval
during which the schedule has to re­
cur
6. Save or deploy the configuration.
4.6.5
Configure Communication Channel with
SuccessFactors (OData) Adapter
Context
The SuccessFactors adapter enables you to communicate with the SuccessFactors system. You use the
OData message protocol to connect to the OData based web services of the SuccessFactors system.
Note
OData message protocol for SuccessFactors adapter is available only in the receiver channel.
You use this procedure to configure communication channel with SuccessFactors adapter.
Procedure
1. Select the integration flow you want to configure and choose Edit.
2. Choose the communication channel you want to configure.
3. In General tab page, provide channel name and description in the relevant fields if required.
4. Choose Adapter Specific tab page and provide values in fields based on description in table.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
213
Table 63: Field Name and Description for SuccessFactors OData Adapter Processing Details
Field
Description
SFSF Data Center
SuccessFactors data center that you want to connect to
Address
URL of the SuccessFactors data center that you want to
connect to
Note
This field is enabled only if you choose Other in SFSF
Data Center field.
Address Suffix
System automatically populates this value as /odata/v2
as you have selected the SOAP message protocol
Credential Name
Credential name for your credentials that has been de­
ployed on the tenant
Operation
Operation that you want to perform on the entity that you
are accessing on the SuccessFactors system
Resource Path
Path for the OData resource that you are accessing
EDMX
EDMX file for authentication
Request Payload Format
The format in which the request payload should be sent to
the system. You can choose Atom or JSON.
Page Size
Maximum number of records to be fetched in one page of
response
5. Save or deploy the changes.
Modifying SuccessFactors OData Operation
Prerequisites
● You are configuring the communication channel that is assigned with SuccessFactors OData adapter.
● Ensure that the TrustedCAs from the service provider you are connecting to are added to the system
keystore associated with your HCI account.
214
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
Context
SuccessFactors OData adapter enables you to modify the entity that you are accessing and the operation that
you are performing on the entity. You can use this adapter to perform the following operations:
● Query (GET)
● Create (POST)
● Update (PUT)
● Read (GET)
You use this procedure to change the entity and modify the operation for SuccessFactors SOAP adapter.
Procedure
1. In Resource Path field, choose Modify.
2. If you have not added the system with authentication details, choose
based on description in table. Choose Connect.
and provide values in fields
Table 64:
Fields
Description
System
Name of the SuccessFactors datacenter that you are con­
necting to
Address
URL of the SuccessFactors datacenter that you are con­
necting to
Company ID
Company ID for authentication
User ID
User ID associated with the Company ID
Password
Relevant password for the specified user ID
3. If you have added the system with authentication details, perform the following substeps.
a. In System field, choose the system you want to connect to from the dropdown list.
b. In Password field, provide the appropriate password.
c. Choose Connect.
4. In Entity Selection dialog, select the entity that you want to access.
5. In Sub-Levels field, select the number of sub-levels in the entity that you want to access.
6. In Operation field, select the operation you want to perform from the dropdown list.
7. In the Top and Skip fields, specify the number of records from the top that should be fetched or the
number of records from the top that need to be skipped respectively.
Example
If you want only the top 8 records to be fetched, enter 8 in Top field. If you want to skip the top 8
records and fetch the rest, enter 8 in the Skip field.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
215
8. In the Fields dropdown list, select the fields that you want to perform the operation on.
Note
You can select multiple fields by selecting their respective checkboxes.
9. If you want to specify filter conditions, choose
and perform the following substeps.
a. In Filter By field, choose the fields that you want filter.
b. In Operator field, choose the operator that you want to use to define the filter condition.
c. In Input Type field, select the type of input you want to provide for defining the filter condition.
d. In Value field, provide value of the input for filter condition.
e. Select AND or OR based on how you want this filter condition to be considered when the operation is
executed.
f. Choose
to add more than one filter condition.
10. If you want to specify sorting conditions, choose
and perform the following substeps.
a. In Field, select the field you want to include in the sorting condition.
b. If you want the sorting to be done in descending order, select the checkbox in Desc column.
c. Choose
to add more than one filter condition.
11. Choose Ok.
Results
The system displays a prompt that an EDMX file is created. You can use this EDMX file for connecting to the
system subsequently for modifying operations.
The system also displays a prompt that a XSD file is created. You can use this XSD file in mapping steps.
4.6.6
Configure Communication Channel with IDoc Adapter
Prerequisites
● You have logged into your customer workspace in HCI web tooling.
● You have assigned the IDoc adapter to the communication channel.
216
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
Context
You use the IDoc adapter to communicate IDoc messages with other systems that support communication via
SOAP web services.
Procedure
1. Select the integration flow you want to configure and choose Edit.
2. Choose the communication channel you want to configure.
3. In General tab page, provide channel name and description in the relevant fields if required.
4. Choose Adapter Specific tab page and provide values in fields based on description in table.
Table 65: Field Name and Description for IDoc Adapter Sender Channel
Field Name
Description
Address
Relative endpoint address that you are sending the re­
quest messages to.
For example, /file/GetEmployeeDetails.
URL to WSDL
URL to the WSDL that defines the WS provider of the end­
point. You can also upload the WSDL by choosing Upload
from File System.
Table 66: Field Name and Description for IDoc Adapter Receiver Channel
Field
Description
Address
Relative endpoint address that you are sending the re­
quest messages to.
For example, /file/GetEmployeeDetails.
URL to WSDL
URL to the WSDL that defines the WS provider of the end­
point. You can also upload the WSDL by choosing Upload
from File System.
IDoc Content Type
Application/x-sap.idoc: If you select this option, system
allows one IDoc record per request, enables exactly-once
processing and message sequencing.
Text/XML: If you select this option, system allows multi­
ple IDoc records per request.
Timeout (in ms)
The maximum time system has to wait before the con­
nection is timed out.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
217
Field
Description
Compress Message
Select if you want to send compressed messages to the
receiver and indicate that the endpoint can handle com­
pressed response messages.
Allow Chunking
Select to enable HTTP chunking of data while sending
messages
Basic Authentication
Select if you want to connect using basic authentication
(Credential Name). Selecting this option enables the
Credential Name field.
Private Key Alias
Enter the private key alias that enables the system to
fetch the private key from keystore for authentication.
5. Save or deploy the integration flow.
4.6.7
Configure Communication Channel with OData
Adapter
Prerequisites
● You have logged into your customer workspace in HCI web tooling.
● You have assigned the OData adapter to the communication channel.
Context
You use the OData adapter to communicate OData messages with other systems that support communication
with OData service providers.
Note
OData adapter is available only for the receiver channel.
Procedure
1. Select the integration flow you want to configure and choose Edit.
218
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
2. Choose the communication channel you want to configure.
3. In General tab page, provide channel name and description in the relevant fields if required.
4. Choose Adapter Specific tab page and provide values in fields based on description in table.
Table 67: Field Name and Description for OData Adapter
Field
Description
Address
URL of the OData service provider.
Authentication
Select the type of authentication from dropdown list
Credential Name
Credential name for your credentials that has been de­
ployed on the tenant
Note
This field is enabled only if you select Basic as authen­
tication method.
Private Key Alias
Enter the private key alias that enables the system to
fetch the private key from keystore for authentication.
Note
Enabled only if you select Client Certificate as authenti­
cation method.
Operation
Operation that you want to perform on the entity that you
are accessing on the OData service provider
Resource Path
Path for the OData resource that you are accessing
EDMX
EDMX file for authentication
Content Type
The format in which the request payload should be sent to
the system. You can choose Atom or JSON.
Note
The response from OData service provider is in the
same format as the request payload.
Page Size
Maximum number of records to be fetched in one page of
response
5. Save or deploy the changes.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
219
Modifying OData Operation
Prerequisites
● You are configuring the communication channel with OData adapter.
● Ensure that the TrustedCAs from the service provider you are connecting to are added to the system
keystore associated with your HCI account.
Context
OData adapter enables you to modify the entity that you are accessing and the operation that you are
performing on the entity. You can use this adapter to perform the following operations:
● Query (GET)
● Create (POST)
● Update (PUT)
● Merge (MERGE)
● Read (GET)
You use this procedure to change the entity and modify the operation for OData adapter.
Procedure
1. In Resource Path field, choose Modify.
2. If you have not added the system with authentication details, choose
based on description in table. Choose Connect.
and provide values in fields
Table 68:
Fields
Description
System
Name of the OData that you are connecting to
Address
URL of the OData service provider that you are connect­
ing to
Company ID
Company ID for authentication
User ID
User ID associated with the Company ID
Password
Relevant password for the specified user ID
3. If you have added the system with authentication details, perform the following substeps.
a. In System field, choose the system you want to connect to from the dropdown list.
220
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
b. In Password field, provide the appropriate password.
c. Choose Connect.
4. In Entity Selection dialog, select the entity that you want to access.
5. In Sub-Levels field, select the number of sub-levels in the entity that you want to access.
6. In Operation field, select the operation you want to perform from the dropdown list.
7. In the Top and Skip fields, specify the number of records from the top that should be fetched or the
number of records from the top that need to be skipped respectively.
Example
If you want only the top 8 records to be fetched, enter 8 in Top field. If you want to skip the top 8
records and fetch the rest, enter 8 in the Skip field.
8. In the Fields dropdown list, select the fields that you want to perform the operation on.
Note
You can select multiple fields by selecting their respective checkboxes.
9. If you want to specify filter conditions, choose
and perform the following substeps.
a. In Filter By field, choose the fields that you want filter.
b. In Operator field, choose the operator that you want to use to define the filter condition.
c. In Input Type field, select the type of input you want to provide for defining the filter condition.
d. In Value field, provide value of the input for filter condition.
e. Select AND or OR based on how you want this filter condition to be considered when the operation is
executed.
f. Choose
to add more than one filter condition.
10. If you want to specify sorting conditions, choose
and perform the following substeps.
a. In Field, select the field you want to include in the sorting condition.
b. If you want the sorting to be done in descending order, select the checkbox in Desc column.
c. Choose
to add more than one filter condition.
11. Choose Ok.
Results
The system displays a prompt that an EDMX file is created. You can use this EDMX file for connecting to the
system subsequently for modifying operations.
The system also displays a prompt that a XSD file is created. You can use this XSD file in mapping steps.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
221
4.6.8
Configure Communication Channel with HTTP
Adapter
Context
You use the HTTP adapter to communicate with receiver systems using HTTP message protocol.
Note
HTTP adapter is available only for the receiver channel.
You use this procedure to configure HTTP adapter in receiver channel.
Procedure
1. Select the integration flow you want to configure and choose Edit.
2. Choose the communication channel you want to configure.
3. In General tab page, provide channel name and description in the relevant fields if required.
4. Choose Adapter Specific tab page and provide values in fields based on description in table.
Table 69: Field Name and Description for HTTP Adapter
Field
Description
Address
URL of the target system that you are connecting to
Note
You should use HTTPS protocol if you are using client
certificate as the authentication method.
Query
Query string that you want to send with the HTTP re­
quest. Ensure that the query string starts with the charac­
ter ‘&’.
Method
Action that the HTTP request should perform.
POST: Requests the receiver to accept data enclosed in
the request body.
GET: Sends a GET request to the receiver.
PUT: Updates existing data or creates a new record of the
data enclosed.
222
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
Field
Description
Authentication
Select value from dropdown list.
You can choose None, Basic and Client Certificate.
Credential Name
Enter the credential name of the user specified while de­
ploying the basic authentication credentials on the clus­
Note
ter.
This field is enabled only if you select basic authentica­
tion.
Private Key Alias
Enter the private key alias that enables the system to
fetch the private key from keystore for authentication.
Note
This option is enabled only if you select client certifi­
cate authentication.
Timeout (in ms)
Maximum time that the channel waits before terminating
message processing
5. Save or deploy the integration flow.
4.6.9
Configure Communication Channel with Ariba
Adapter
Context
Procedure
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
223
4.6.10 Configure Communication Channel with SFTP
Adapter
Prerequisites
● You have logged into your customer workspace in HCI web tooling.
● You have assigned SFTP adapter to the communication channel.
Context
SFTP adapter uses a certificate and keystore to authenticate the file transfer unlike the standard FTP. The
SFTP adapter achieves secure transfer by encrypting sensitive information before transmitting it on the
network. It uses SSH protocol to transfer files.
Procedure
1. Select the integration flow you want to configure and choose Edit.
2. Choose the communication channel you want to configure.
3. In General tab page, provide channel name and description in the relevant fields if required.
4. Choose Adapter Specific tab page and provide values in fields based on description in table.
Table 70:
Tab Page
Field
Description
Source for sender channel
Directory
File path from where the file should be
read, for example, <dir>/<subdir>.
Target for receiver channel
File Name
Name of the file to be read.
Note
If you do not enter a file name and
the parameter remains blank, all
the files in the specified directory
are read. Regular expressions,
such as ab*, a.*, *a*, and so on are
not supported.
224
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
Tab Page
Field
Description
Address
Host name or IP address of the SFTP
server and an optional port, for exam­
ple, wdfd00213123:22.
User Name
ID of the user performing the file
transfer.
Timeout (in ms)
Maximum time to wait for the SFTP
server to be contacted while estab­
lishing connection or performing a
read operation.
Default value: 10000 ms
Maximum Reconnect Attempts
Maximum number of attempts al­
lowed to reconnect to the SFTP
server.
Default value: 3
Use 0 to disable this behavior.
Reconnect Delay (in ms)
Time duration the system waits for
before attempting to reconnect to the
SFTP server.
Default Value: 1000ms
Automatically Disconnect
Disconnect from the SFTP server af­
ter each message processing.
5. Choose Processing tab page.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
225
Table 71: Fields and Description for SFTP Adapter Sender Channel
Field
Description
Read Lock Strategy
Prevents files that are in the process of being written from
being read from the SFTP server. The endpoint waits until
it has an exclusive read lock on a file before reading it.
Select one of the following options based on the capabili­
ties of the SFTP server:
None: Does not use a read lock, which means that the
endpoint can immediately read the file. None is the sim­
plest option if the SFTP server guarantees that a file only
becomes visible on the server once it is completely writ­
ten.
Rename: Renames the file before reading. The Rename
option allows clients to rename files on the SFTP server.
Content Change: Monitors changes in the file length/
modification timestamp to determine if the write opera­
tion on the file is complete and the file is ready to be read.
The Content Change option waits for at least one second
until there are no more file changes. Therefore, if you se­
lect this option, files cannot be read as quickly as with the
other two options.
Change Directories Stepwise
Select this option to change directory levels one at a time.
Include Sub-Directories
Selecting this option allows you to look for files in all the
subdirectories of the directory.
226
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
Field
Description
Post-Processing
Allows you to specify how files are to be handled after
processing. You can select one of the following options
from dropdown list:
Delete File: The file is deleted after it has be
Keep File and Mark as Processed in Idempotent
Repository: Enables an idempotent repository to prevent
a file from being consumed twice. Select this option for
SFTP servers that do not allow deletion or moving of files,
but the files are to be read only once. You can select one
of the following idempotent repository options:
In Memory: Keeps the file names in the memory. Files are
read again from the SFTP server when the runtime node
is restarted.
Note
If there is a system crash or disaster, this data will be
lost and cannot be recovered later.
Database: Stores the file names in a database to prevent
the files from being read again when the runtime node is
restarted. File name entries are deleted by default after
90 days.
Note
The database uses the server name, directory, and file
name as key values to identify files uniquely across in­
tegration flows of a tenant.
Keep File and Process Again: The file is kept on the SFTP
server and file processing is repeated. You can use this
option, for example, for testing purposes.
Move File: The file is moved to another directory. If you se­
lect this option, you need to specify the target directory.
You can specify the target directory dynamically, for ex­
ample, using the timestamp of the message. The follow­
ing example uses backup folders with timestamps and re­
places the file extension with bak: backup/$
{date:now:yyyyMMdd}/$
{file:name.noext}.bak
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
227
Field
Description
Retry Threshold for Alerting
If the number of attempts to retry polling a message from
the SFTP server exceeds this threshold value, an alert is
raised. The default value '0' indicates that the alert is not
raised.
Note
If two or more sender channels are configured with the
SFTP connector, the value for the Alert Threshold for
Retry parameter should be the same.
Table 72: Parameters and Description for SFTP Adapter Receiver Channel
Field
Description
Handling for Existing Files
If the file already exists in the target, allow the following:
Override: Replace the existing file content with the new
one.
Append: Add the new file content to the end of the exist­
ing one.
Fail: Do not perform any action and raise a failure.
Ignore: Do not perform any action.
Change Directories Stepwise
Changes directory levels one at a time.
Create Directories
Automatically creates missing directory levels as pro­
vided in the file's path name.
6. Choose Advanced tab page.
Table 73:
Field
Description
Buffer Size
Write file content using the specified buffer size.
Default: 128 KB
Log Level
The level of information to be logged during message
processing.
Flatten File Names
Flatten the file path by removing the directory levels so
that only the file names are considered and they are writ­
ten under a single directory.
228
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
Field
Description
Max. Messages per Poll (For sender channel only)
Maximum number of messages to gather per poll.
Default: 0 Example: 1000 can be set as a limit.
Note
When you use the sender SFTP adapter in combination
with an Aggregator step and you expect a high mes­
sage load, consider the following recommendation:
Set the value for Maximum Messages per Poll to a
small number larger than 0 (for example, 20). This en­
sures a proper message processing status logging at
runtime.
Prevent Directory Traversal
If the file contains any backward path traversals such as
\..\ or /../.. , this can lead to a potential risk of directory
traversal. In such a case message processing is stopped
with an error. The unique message ID is logged in the
Message Processing Log.
Note
We recommend that you specify the Directory and File
Name fields to avoid any security risks. If you provide
these fields, the header is not considered.
7. Choose Scheduler tab page.
Table 74:
Field
Description
Initial Delay (in ms)
Time duration the system waits after deploying the inte­
gration flow.
Recurrent Delay (in ms)
Time duration the system waits before executing the inte­
gration flow again.
8. Save or deploy the configuration.
SFTP polling is supported in the following way: The same file can be polled by multiple endpoints
configured to use the SFTP channel. This means that you can now deploy an integration flow with a
configured SFTP channel on multiple runtime nodes (which might be necessary to meet failover
requirements) without the risk of creating duplicates by polling the same file multiple times. Note that to
enable the new option, integration flows (configured to use SFTP channels) that have been developed
prior to the introduction of this feature have to be regenerated.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
229
4.7
Define Events
4.7.1
Define an Escalation Event
Context
Procedure
1. In the palette, choose
Escalation Event .
2. Specify the Escalation Category.
There are the following Escalation Categories:
Option
Description
Routing condition not met
Routing condition has not been met.
Receiver not reachable
Receiver could not be reached, because it is temporarily down or not accessible
(for example, due to overload or maintenance work).
Receiver not found
Receiver could not be found because the URL points to a non-existent resource (for
example, HTTP 404 error).
Not authenticated to invoke
Receiver could not be called because authentication has failed (for example, HTTP
receiver
401 error).
Not authorized to invoke
Receiver could not be called because of insufficient permissions (for example,
receiver
HTTP 403 error).
Receiver tries to redirect
Receiver could not be reached (HTTP 302 error).
Internal server error in receiver
Internal server error occurred in the receiver system (for example, HTTP 500 er­
ror).
Others – not further qualified
Escalation category has not been further qualified.
3. Save the changes.
230
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
4.8
Define Message Transformers
Message transformers enable you to convert messages in one format to another.
4.8.1
Configure CSV to XML Converter
Prerequisites
● You have logged into your customer workspace in SAP HCI web tooling.
● You are editing the integration flow in the editor.
Context
The CSV to XML converter converts content in CSV format into XML format.
You use this procedure to configure CSV to XML converter.
Procedure
1. In the palette, choose
Converter
CSV to XML Converter .
2. Place the CSV to XML converter in the integration process and define the message path.
3. Choose CSV to XML Converter and provide values in fields based on description in table.
Table 75:
Field
Description
XML Schema
Choose Browse. Select the XML schema you want to use.
Optionally, you can also upload the XML schema from
your local file system by choosing Upload from File
System.
Path to Target Element in XSD
XPath in the XML schema file where the content from
CSV file has to be placed.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
231
Field
Description
Record Marker in CSV
The record in CSV file that indicates the entry which the
converter has to consider as the starting point of the con­
tent.
Note
If you do not provide a value for this field, all the re­
cords in the CSV file are considered for conversion
Field Separator in CSV
Select the character from dropdown list that is used as
the field separator in CSV file.
4. Save or deploy the configuration.
4.8.2
Configure XML to CSV Converter
Prerequisites
● You have logged into your customer workspace in SAP HCI web tooling.
● You are editing the integration flow in the editor.
Context
The XML to CSV converter converts content in XML format into CSV format.
You use this procedure to configure XML to CSV converter.
Procedure
1. In the palette, choose
Converter
XML to CSV Converter .
2. Place the XML to CSV converter in the integration process and define the message path.
3. Choose XML to CSV Converter and provide values in fields based on description in table.
232
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
Table 76:
tab Page
Field
Description
XML to CSV Converter
Path to Source Element
Path to the source element in the
XML file
Field Separator in CSV
Select the character that you want to
use as the field separator in CSV file
from dropdown list
Field Names as Headers in CSV
Select this checkbox if you want to
use the field names as the headers in
CSV file
Advanced
Include Parent Element
Select this checkbox if you want to in­
clude the parent element of the XML
file in CSV file
XPath of master record identifier (en­
Xpath of the master record identifier
abled only if you select Include Parent in CSV file
Element checkbox)
Include Attribute Values
Select this checkbox if you want to in­
clude attribute values in the CSV file
4. Save or deploy the configuration.
4.8.3
Define the XML-to-JSON Converter
The XML-to-JSON converter enables you to transform messages in XML format to JSON format.
Context
The conversion from XML to JSON format and JSON to XML format follows the following rules:
● An element is represented as a JSON member whose name is the concatenation of the JSON prefix
corresponding to the XML namespace, the JSON delimiter, and the element name. If the element has no
namespace, then no prefix or JSON delimiter is added to the JSON name.
● An attribute is represented as a JSON member whose name is the concatenation of '@' , the JSON prefix
corresponding to the XML namespace, the JSON delimiter, and the attribute name. If the attribute has no
namespace, then no prefix or JSON delimiter is added to the JSON name.
● An element with no characters or child elements is represented by "element" : "" .
● Multiple elements with the same name are represented by an array. For example, <A>a1</A><A>a2</A>
is transformed to “A”:[“a1”,”a2”].
● The value of a complex element (with attributes, for example) is represented by a separate member
"$":"value" .
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
233
The conversion from XML to JSON format follows the following rules:
● Elements with mixed content (for example, <A>mixed1_value<B>valueB</B>mixed2_value</A>) are not
supported. You will get incorrect results for XML to JSON: {"A":
{"B":"valueB","$":"mixed1_valuemixed2_value"}}.
● No namespace declaration is written into the JSON document.
● Tabs, spaces, and new lines between elements and attributes are ignored.
● If you have an element with a namespace but no XML prefix whose namespace is not contained in the
XML-Namespace-to-JSON-Prefix map, you get an exception: <A xmlns="http://test"/> ->
IllegalStateException Invalid JSON namespace: http://test.
Procedure
1. Launch SAP HCI Spaces by accessing the URL provided by SAP.
2. Choose the Design tab.
3. Select the required integration package.
4. In the Package content view, choose the integration flow you want to edit.
5. In the Integration Package Editor page, choose Edit.
6. In the graphical editor of integration flow, choose the XML-to-JSON Converter element..
7. Define the parameters to convert the XML data format to JSON data format.
Option
Description
Name
Enter the name of the converter.
JSON Output Encoding
Enter the JSON output encoding. The default value is
from header or property.
If you select from header or property, the converter tries
to read the encoding from the message header or ex­
change property CamelCharsetName. If there is no
value defined, UTF-8 is used.
XML Namespace (only if the option Namespace
Mapping is selected)
Enter the mapping of the XML namespace to the JSON
prefix. The JSON namespace/prefix must begin with a let­
ter and can contain aA-zZ and 0-9.
JSON Prefix Separator (only if the option Namespace
Mapping is selected)
Enter the JSON prefix separator to be used to separate
the JSON prefix from the local part. The value used must
not be used in the JSON prefix or local name.
The following characters are allowed: colon(:), comma(,),
dot(.), pipe(|), semicolon(;), and space.
8. Specify whether to enable Streaming or not.
You can specify whether the whole XML document or only specified XML elements are to be presented by
JSON arrays.
234
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
Option
Description
All
All elements are presented as JSON arrays.
Specific
Only the specified elements will be represented as JSON arrays, the others as JSON objects.
Ones
Note
A JSON object is an unordered set of name/value pairs that begins with { and ends with }. Each
name is followed by : and the name/value pairs are separated by ,.
A JSON array is an ordered collection of values. An array begins with [ and ends with ]. Values are
separated by ,.
Enter the absolute paths to the XML elements to be converted to JSON arrays. Specify all elements with
a multiplicity larger than one. Otherwise, it cannot be ensured that streaming will result in a valid JSON
document.
Familiarize yourself with streaming in the XML-to-JSON converter, as documented in a separate topic.
9. If you want to continue editing the integration package without exiting, choose Save.
10. Choose Save as version to retain a copy of the current artifact.
11. If you want to terminate the creation of package, choose Cancel before saving it.
4.8.4
Define Content Modifier
Prerequisites
● You have logged into your customer workspace in SAP HCI web tooling.
● You are editing the integration flow in the editor.
Context
You use the content modifier to modify the content of incoming message by providing additional information
in the header or body of the message.
Procedure
1. If Content Modifier element is present in the integration flow, choose it to edit properties.
2. If you want to add Content Modifier to the integration flow, perform the following substeps:
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
235
a. In the palette, choose
Modifier .
b. Place Content Modifier in integration process and define message path.
3. Choose Message Header tab.
4. Choose Add.
5. In Name column, enter a name.
6. In Type column, select value from dropdown list based on type of header information you want to add to
the headers or set values of existing headers in incoming message.
7. In Value column, define value for the header.
8. Choose Message Body tab.
9. Enter the content expected in the outgoing message.
Remember
Ensure that you set a placeholder for the existing header information.
10. Choose Exchange Property tab.
11. Choose Add to add a property.
12. In Name column, define the property name.
13. In Type column, select the type of property you want to define from dropdown list.
14. In Value column, define a value for the property.
15. Save or deploy the changes.
Example
Suppose the incoming message has the following information:
<order>
<book>
<BookID>A1000</BookID>
<Count>5<Count>
</book>
</order>
In the Body tab of the Content Modifier, you specify the content expected in the outgoing message. Keep a
placeholder for the header information to modify the content as shown below:
<invoice>
<vendor>${header.vendor}</vendor>
${in.body}
<deliverydate>${header.date}</delivery>
</invoice>
In the Header tab of the Content Modifier, enter the following:
Table 77:
Name
Type
Value
vendor
constant
ABC Corp
delivery date
constant
25062013
236
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
The output message would look like this:
<invoice>
<vendor>ABC Corp</vendor>
<order>
<book>
<BookID>A1000</BookID>
<Count>5<Count>
</book>
</order>
<deliverydate>25062013</deliverydate>
</invoice>
4.8.5
Define Script
Context
You use this task to execute custom java script or groovy script for message processing.
Procedure
1. In the palette, choose
Message Transformers
Script .
2. Choose Groovyscript or Javascript.
3. In the Properties view, specify the script step name in Name.
4. In the Properties view, specify a custom function that will take the “message” object as the argument in
Script Function.
In the script you require Script Function, which will be executed at runtime.
5. Add or modify Header, Body, and Property by using the interfaces below on the "message" object.
1. You can use the following interfaces for Header:
○ public java.util.Map<java.lang.String,java.lang.Object> getHeaders()
○ public void setHeaders(java.util.Map<java.lang.String,java.lang.Object> exchangeHeaders)
○ public void setHeader(java.lang.String name, java.lang.Object value)
2. You can use the following interfaces for Body:
○ public java.lang.Object getBody()
○ public void setBody(java.lang.Object exchangeBody)
○ public java.lang.Object getBody(java.lang.String fullyQualifiedClassName)
Note
HCI framework supports conversion of payload into the following formats:
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
237
○ String
○ InputStream
○ byte[]
To convert the payload into String or InputStream use the following fullyQualifiedClassName:
○ java.lang.String
○ java.io.InputStream
To convert the payload into byte[] use the following:
○ For groovy script - def body = message.getBody(java.lang.String) as byte[]
○ For java script - var body = [message.getBody()]
3. You can use the following interfaces for Property:
○ public java.util.Map<java.lang.String,java.lang.Object> getProperties()
○ public void setProperties(java.util.Map<java.lang.String,java.lang.Object> exchangeProperties)
○ public void setProperty(java.lang.String name, java.lang.Object value)
Note
○ You should not add or modify a Property name starting with sap.
○ If no Script Function is specified in the script flow step, the Script Function name will be
processData by default.
6. Save the changes.
Note
○ The script should be saved in the src.main.resources.script folder.
○ In the Properties view, you can also choose Browse to select java scripts or groovy scripts for
custom processing.
○ You can also store external jar(s) in src.main.resources.lib. You can then invoke functions from
these external jar(s) in the script.
4.9
Define Message Routers
Message routers enable you to define the message path. You can also perform operations like splitting the
message based on configured conditions and routing the split messages to different message paths.
238
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
4.9.1
Define General Splitter
Prerequisites
● You have logged into your customer workspace in SAP HCI web tooling.
● You are editing the integration flow in the editor.
Context
The general splitter breaks down a composite message containing ‘n’ number of messages into ‘n’ individual
messages. Each individual message is enveloped by the same elements that enveloped the composite
message.
Procedure
1. In the palette, choose
Splitter
General Splitter .
2. Place General Splitter in integration process and define the message path.
3. Choose Splitter and provide values in fields based on description in table.
Table 78:
Field
Description
XPath Expression
XPath to the split term. You can specify the absolute or
relative path.
Grouping
The group size into which the composite message has to
be split.
For example, if a message has 10 nodes and grouping is
defined as 2, the message is split into 5 messages with 2
nodes each.
Timeout (in s)
Maximum time in seconds the system will wait for the
processing to complete before it is aborted.
Streaming
Select this checkbox if you want to stream the process of
splitting a big composite message by considering small
chunks of the composite message in a series.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
239
Field
Description
Parallel Processing
Select this checkbox if you want to enable processing of
all the split messages at once.
Stop On Exception
Select this option to stop message processing if an excep­
tion occurs.
4. Save or deploy the configuration.
Related Information
General and Iterating Splitter [page 243]
4.9.2
Define Iterating Splitter
Prerequisites
● You have logged into your customer workspace in SAP HCI web tooling.
● You are editing the integration flow in the editor.
Context
The iterative splitter splits a composite message into a series of smaller messages without copying the
enveloping elements of the composite message.
Procedure
1. In the palette, choose
Splitter
General Splitter .
2. Place General Splitter in integration process and define the message path.
3. Choose Splitter and provide values in fields based on description in table.
240
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
Table 79:
Field
Description
Expression Type
Select the expression type that is used as the reference to
split the composite message. You can choose Token or
XPath
Token (enabled only if you choose Token in Expression
The keyword or token that should be used as a reference
Type field)
for splitting the composite message
XPath (enabled only if you choose XPath in Expression
Absolute or relative XPath of the node to be used as a ref­
Type field)
erence for splitting the message
Streaming
Select this checkbox if you want to stream the process of
splitting a big composite message by considering small
chunks of the composite message in a series.
Parallel Processing
Select this checkbox if you want to enable processing of
all the split messages at once.
Stop On Exception
4. Save or deploy the configuration.
Related Information
General and Iterating Splitter [page 243]
4.9.3
Define PKCS#7/CMS Splitter
Prerequisites
● You have logged into your customer workspace in SAP HCI web tooling.
● You are editing the integration flow in the editor.
Context
You use PKCS#7/CMS splitter when you want to break down PKCS7 Signed Data message into two files that
contain signature and content respectively.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
241
Procedure
1. In the palette, choose
Splitter
General Splitter .
2. Place General Splitter in integration process and define the message path.
3. Choose Splitter and provide values in fields based on description in table.
Table 80:
Field
Description
Payload File Name
Name of the payload file
Signature File Name
Name of the signature file
Wrap by Content Info
Select if you want to wrap PKCS#7 signed data containing
the signature into PKCS#7 content.
PayloadFirst
Select if you want the payload to be the first message re­
turned.
BASE64 Payload
Select if you want to encode the payload with BASE64 en­
coding scheme after splitting.
BASE64 Signature
Select if you want to encode the signature using BASE64
encoding scheme after splitting.
4.9.4
Define Sequential Multicast
Prerequisites
● You have accessed the customer workspace in SAP HCI web tooling.
● You are editing the integration flow containing local integration process element.
Context
You can use the sequential multicast element to send copies of the same message to multiple routes. This
allows you to perform multiple operations on the same message in a single integration process. Without
multicast, you needed multiple integration processes to perform this task.
In sequential multicast, you define the sequence in which the system initiates message transfer to the different
routes.
242
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
Note
You can only edit the properties of sequential multicast and the integration elements of the integration flow
that support editing. Modeling palette is not available for integration flows containing sequential multicast.
Procedure
1. Choose the sequential multicast element you want to configure.
2. Use
and
buttons to change the sequence order.
3. Save or deploy the configuration.
4.9.5
General and Iterating Splitter
The two splitter types General Splitter and Iterative Splitter behave differently in their handling of the
enveloping elements of the input message.
The General Splitter splits a composite message comprising of N messages into N individual messages, each
containing one message with the enveloping elements of the composite message. We use the term enveloping
elements to refer to the elements above and including the split point.
The Iterative Splitter splits a composite message into a series of messages without copying the enveloping
elements of the composite message.
The following figure illustrates the behavior of both splitter types; in both cases an input message comprising
four items is split into individual messages.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
243
4.10 Define Security Elements
Security elements in the integration flow enable you to encrypt, decrypt, sign and verify messages. This
ensures that the message is secure and can only be accessed by the intended recipient. Encryption also
prevents non-repudiation of messages during message exchange.
4.10.1 Sign the Message Content with PKCS#7/CMS Signer
Context
You work with the PKCS#7/CMS signer to make your identity known to the participants and thus ensure the
authenticity of the messages you are sending on the cloud. This task guarantees your identity by signing the
messages with one or more private keys using a signature algorithm.
244
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
The following prerequisites must be met:
● You have logged into your customer workspace in HCI web tooling.
● You are editing the integration flow in the editor.
Procedure
1. Select the integration flow you want to configure and choose Edit.
2. Select the Signer element.
3. In the Properties view, enter the details to sign the incoming message with one or more signatures.
Table 81: Parameters and Values of PKCS#7/CMS Signer
Parameters
Description
Name
Enter a name for the signer. It must consist of alphanu­
meric ASCII characters or underscores and start with a
letter. The minimum length is 3, the maximum length is
30.
Block Size (in bytes)
Enter the size of the data that is to be encoded.
If you enter a value equal to or less that 0, the whole data
is encoded.
Include Content in Signed Data
You can choose to include the original content that is to
be signed in the Signed Data element. This Signed Data
element is written to the message body. Otherwise, you
can choose to include the Signed Data in the
SapCmsSignedData header and only keep the original
content in the message body.
Encode Signed Data with Base64
You can also Base64-encode the Signed Data in either the
message body or the message header, to further protect
it during message exchange.
Note
When you Base64-encode the Signed Data, you en­
code either the message header or body, depending
on where the Signed Data is placed. When verifying the
message, make sure you specify which part of the
message (header or body) was Base64-encoded.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
245
Parameters
Description
Signer Parameters
The following parameters can be defined:
○
Private Key Alias
○
Signature Algorithm
○
Include Certificates
○
Include Signing Time
4. Save the changes.
4.10.2 Encrypt and Sign the Message Content with
PKCS#7/CMS
Context
You perform this task to protect the message content from being altered while it is being sent to other
participants on the cloud, by encrypting the content. In the integration flow model, you configure the Encryptor
by providing information on the public key alias, content encryption algorithm, and secret key length. The
encryptor uses one or more receiver public key aliases to find the public key in the keystore. The encryption
process uses a symmetric key of specified length for content encryption. The symmetric key is encrypted by
the public recipient key with the cipher. The encryption is determined by the type of Content Encryption
Algorithm that you select. The encrypted content and the receiver information containing the symmetric
encryption key are placed in the message body.
In addition to encrypting the message content, you can also sign the content to make your identity known to
the participants and thus ensure the authenticity of the messages you are sending. This task guarantees your
identity by signing the messages with one or more private keys using a signature algorithm.
The following prerequisites must be met:
● You have logged into your customer workspace in HCI web tooling.
● You are editing the integration flow in the editor.
Procedure
1. Select the integration flow you want to configure and choose Edit.
2. Select the Signer element.
3. In the Properties view, specify the general settings for encryption.
246
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
Option
Description
Name
Enter a name for the signer. It must consist of alphanumeric ASCII characters or underscores
and start with a letter. The minimum length is 3, the maximum length is 30.
Block Size (in
bytes)
Enter the size of the data that is to be encoded.
Encode Body with
Base64
Select this option if the message body will be base64-encoded.
Signatures in
PKCS7 Message
Select one of the following options:
○ Enveloped Data Only
Select this option if you want to apply encryption only.
If you enter a value equal to or less that 0, the whole data is encoded.
○
Signed and Enveloped Data
Select this option if you want to apply both encryption and signing.
4. Specify the settings for the encryption process (under Encryption).
Option
Description
Content Encryption Algorithm
Specify the algorithm that is to be used to encrypt the payload.
Secret Key Length
Specify the key length.
The offered key lengths depend on the chosen encryption algorithm.
Receiver Public Key Alias
Specify one or more aliases.
You use the alias to select the public key from the keystore.
5. Specify the settings for the signing process under Signature (only if you selected Signed and
Enveloped Data for Signatures in PKCS7 Message).
For each private key alias (specified under Signer Parameters), you define the following parameters:
Option
Description
Signature Algorithm Specify the signature (digest) algorithm.
Include Certificates
If you activate this option (value true), the signer's certificate chain will be added to the Signe­
dAndEnvelopedData object of the message.
6. Save the changes.
7. To save the configuration of the encryptor as a template, choose Save as Template from the context menu
of the Encryptor element.
Note
When you save the configuration of the Encryptor element as a template, the tool stores the template in
the workspace as <ElementTemplateName>.fst.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
247
4.10.3 Define PGP Encryptor
Prerequisites
● You have logged into your customer workspace in SAP HCI web tooling.
● You are editing the integration flow in the editor.
Context
You use the PGP Encryptor to encrypt or sign and encrypt the payload using OpenPGP standard.
Procedure
1. In the palette, choose
Encryptor
PGP Encryptor .
2. Place PGP Encryptor in integration process and define the message path.
3. In Name field, provide a name for the element.
4. If you want to sign the payload with a signature, in Signatures field, choose Including.
5. In Encryption section, provide values in fields based on description in table.
Table 82:
Field
Description
Content Encryption Algorithm
In the dropdown list, select the algorithm you want to use
to encrypt the payload.
Secret Key Length
Enter the secret key length.
Note
The length of the secret key depends on the encryp­
tion algorithm that you choose.
Compression Algorithm
Select the algorithm you want to use to compress the
payload.
Armored
Select if you want the output to be radix 64 (base64) en­
coded with additional header.
248
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
Field
Description
Integrity protected Data Packet
Select if you want to create an Encrypted Integrity Pro­
tected Data Packet. This is a specific format where an ad­
ditional hash value is calculated (using SHA-1 algorithm)
and added to the message.
This increases the message security level.
Encryption User ID of Key(s) from Public Keyring
You can specify the encryption key user IDs (or parts of
them). Based on this, system look for the public key in
PGP public keyring.
Choose
to add user IDs. You can specify multiple
user IDs.
6. Save or deploy the configuration.
4.10.4 Define PGP Decryptor
Prerequisites
● You have logged into your customer workspace in SAP HCI web tooling.
● You are editing the integration flow in the editor.
Context
You use the PGP Decryptor to decrypt a message using OpenPGP standards.
Procedure
1. In the palette, choose
Decryptor
PGP Decryptor .
2. Place PGP Decryptor in integration process and define the message path.
3. In Name field, provide a name for the element.
4. In Signatures dropdown list, select option based on description in table.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
249
Table 83:
Option
Description
None Expected
Select if you do not expect a signature in the inbound
message.
Optional
Select if you are not sure of the inbound message con­
taining a signature. This enables the decryptor to decrypt
messages that contain signature and do not contain sig­
nature.
Required
Select if you are sure of the inbound message containing
a signature.
5. If you have selected Optional or Required in Signatures field, choose
to add signer user ID.
Note
This field is disabled if you select None Expected in Signatures field.
6. Save or deploy the configuration.
4.10.5 Define PKCS7 Decryptor
Prerequisites
● You have logged into your customer workspace in SAP HCI web tooling.
● You are editing the integration flow in the editor.
Context
You use the PKCS7 decryptor to decrypt messages from a participant on the cloud. You can also verify the
authenticity of a signed message by verifying the signature of SignedAndEnvelopedData object.
Procedure
1. In the palette, choose
250
Decryptor
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
PKCS7 Decryptor .
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
2. Place PKCS7 Decryptor in integration process and define the message path.
3. In Name field, provide a name for the element.
4. In Signatures dropdown list, select option based on description in table.
Table 84:
Option
Description
Enveloped Data Only
Select if you want decryptor to process only encrypted
payloads.
Signed and Enveloped Data
Select if you want decryptor to process payloads that are
signed and encrypted.
Enveloped or "Signed and Enveloped" Data
Select if you want decryptor to process both encrypted
payloads and, encrypted and signed payloads.
5. If you expect the body of payload to be Base64 encoded, select Body is Base64 Encoded.
6. Choose Add to enter the public key alias of the expected senders.
Note
○ You can add multiple aliases of all the expected senders.
○ This option is enabled only if you have selected Signed and Enveloped Data or Enveloped or "Signed
and Enveloped" Data in Signatures field.
7. Save or deploy the configuration.
4.11 Define Message Persistence
4.11.1
Define Data Store Operations
You can use the transient data store to temporarily store messages.
Context
The transient data store (data store for sakes of simplicity) supports four types of operations:
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
251
Table 85: Data Store Operations
Operation
Used to ...
Write
Store the messages temporarily in the data store.
If you use a Write operation, you can store the messages in the data store by configuring the data store
name and a unique Entry ID.
Delete
Trigger the deletion of messages in the data store.
Select
Fetch messages in bulk from the data store.
You can also specify the number of messages you fetch in each poll.
Get
Fetch a specific message from the data store.
Procedure
1. In the palette, choose
Data Store Operations .
2. Position the cursor on the step and in the context menu select the operation.
3. Specify the attributes of the data store operation. The set of attributes depends on the chosen operation.
Attribute
Description
Data Store Name
Specifies the name of the data store (maximum 20 characters, no white spaces).
The default data store name for variables is sap_global_store. You must not
use this name for data store operations.
Visibility
Defines if the data store is shared by all integration flows (deployed on the tenant)
or only by one specific integration flow.
○
Global: Data store is shared across all integration flows deployed on the
tenant.
○
Entry ID (only for Write, Delete
and Get operation)
Integration Flow: Data store is used by one integration flow.
Specify an entry ID that will be stored together with the message content.
Details for the entry ID are read from the incoming message. You can enter the
following kind of expressions:
○
${header.<name>} to generate the entry ID from the message header
○
${xpath.<xpath>} to generate the entry ID from an element in the
message indicated by an xPath expression
In the case of Write operations, if the Entry ID is not defined, the data store
component generates an entry ID.
252
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
Attribute
Description
In the case of Delete and Get operations, you can explicitly define an Entry ID or
pass header SapDataStoreId.
Retention Threshold for Alerting
Time period (in days) by which the messages have to be fetched before an alert is
(only for Write operation)
raised.
Expiration Period (only for Write
Number of days after which the stored messages are deleted (default is 90 days).
operation)
The minimum value of Expiration Period should be at least twice that of Retention
Threshold for Alerting.
Encrypt Stored Message (only
Select this option to encrypt the message in the data store.
for Write operation)
Overwrite Existing Message
Select this option to overwrite an existing message in the data store.
(only for Write operation)
Number of Polled Messages
Specifies number of messages to be fetched from the data store within one poll
(only for Select operation)
(default is 1).
Delete After Fetch (only for
Select this option to delete a message from the data store after successfully
Select and Get operation)
having fetched the message.
4. Save the changes.
4.11.2
Define Write Variables
Prerequisites
● You have logged into your customer workspace in SAP HCI web tooling.
● You are editing the integration flow in the editor.
Context
You define variables and specify values to use them in integration flows to support message flow execution.
You can also use these variables across multiple integration flows.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
253
Procedure
1. If Write Variables element is present in the integration flow, choose it to define variables.
2. If you want to add Write Variables to the integration flow, perform the following substeps:
a. In the palette, choose
Write Variables .
b. Place Write Variables in integration process and define message path.
3. Choose Add to add a new variable.
4. In the Name column, enter variable name.
5. In the Type column, select value from dropdown list based on description in table.
Table 86: Variable Types
Variable Type
Description
Constant
If you want variable to contain a constant
Header
If you want variable to contain header information
Xpath
If you want variable to contain Xpath
Remember
You need to enter a valid Java data type when you de­
fine a variable of type Xpath
Expression
If you want variable to contain an expression
Property
If you want variable to contain property
6. In Value column, enter value for the variable.
Note
Ensure that the value matches the type of variable you are defining.
7. If you want the variable to be used in other integration flows, in Global column, set value to ON.
8. Save or deploy the configuration.
4.12 Define Additional Elements
254
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
4.12.1
Define Local Integration Process
Prerequisites
● You have accessed the customer workspace in SAP HCI web tooling.
● You are editing the integration flow containing local integration process element.
Context
You use the local integration process to simplify your integration process. You can break down the main
integration process into smaller fragments by using local integration processes. You combine these fragments
to achieve your main integration process.
Note
You can only edit the properties of the local integration process and the integration elements inside local
integration process. Modeling palette is not available for integration flows containing local integration
process. You cannot model the elements inside the local integration process.
Procedure
1. Choose the local integration process element you want to configure.
2. If you want to provide a name for the local integration process element, in the Name field, enter name.
3. If you want to configure the elements inside the local integration process, refer to the documentation
relevant to those elements.
4. If you want to add the local integration process to a process call element, perform the following substeps:
a. Select the process call element in integration flow editor.
b. In Local Integration Process field, choose Select.
c. In Select Local Integration Process window, select the local integration process you want to assign to
the process call.
5. Save or deploy the configuration.
4.13 Define Tasks
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
255
4.13.1
Define Content Enricher
Prerequisites
● You have accessed your customer workspace in SAP HCI web application.
● You are editing the integration flow in integration flow editor.
Context
The content enricher adds the content of a payload with the original message in the course of an integration
process. This converts the two separate messages into a single enhanced payload. This feature enables you to
make external calls during the course of an integration process to obtain additional data, if any.
Consider the first message in the integration flow as the original message and the message obtained by
making an external call during the integration process as the lookup message. You can choose between two
strategies to enrich these two payloads as a single message:
● Combine
● Enrich
Consider the following original and lookup messages.
Original Message
<EmployeeList>
<Employee>
<id>111</id>
<name>Santosh</name>
<external_id>ext_111</external_id>
</Employee>
<Employee>
<id>22</id>
<name>Geeta</name>
<external_id>ext_222</external_id>
</Employee>
</EmployeeList>
Lookup Message
<EmergencyContacts>
<contact>
<c_id>1</c_id>
<c_code>ext_111</c_code>
<isEmergency>0</isEmergency>
<phone>9999</phone>
<street>1st street</street>
<city>Gulbarga</city>
</contact>
<contact>
<c_id>2</c_id>
<c_code>ext_111</c_code>
<isEmergency>1</isEmergency>
256
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
<phone>1010</phone>
<street>23rd Cross</street>
<city>Chitapur</city>
</contact>
<contact>
<c_id>3</c_id>
<c_code>ext_333</c_code>
<isEmergency>1</isEmergency>
<phone>007</phone>
<street></street>
<city>Raichur</city>
</contact>
</EmergencyContacts>
If you use Combine as the aggregation strategy, the enriched message appears in the following format.
Enriched Message
<multimap:messages xmlns:multimap=”http://sap.com/xi/XI/SplitAndMerge”>
<message1>
<EmployeeList>
<Employee>
<id>111</id>
<name>Santosh</name>
<external_id>ext_111</external_id>
</Employee>
<Employee>
<id>22</id>
<name>Geeta</name>
<external_id>ext_222</external_id>
</Employee>
</EmployeeList>
</message1>
<message2>
<EmergencyContacts>
<contact>
<c_id>1</c_id>
<c_code>ext_111</c_code>
<isEmergency>0</isEmergency>
<phone>9999</phone>
<street>1st street</street>
<city>Gulbarga</city>
</contact>
<contact>
<c_id>2</c_id>
<c_code>ext_111</c_code>
<isEmergency>1</isEmergency>
<phone>1010</phone>
<street>23rd Cross</street>
<city>Chitapur</city>
</contact>
<contact>
<c_id>3</c_id>
<c_code>ext_333</c_code>
<isEmergency>1</isEmergency>
<phone>007</phone>
<street></street>
<city>Raichur</city>
</contact>
</EmergencyContacts>
</message2>
</multimap:messages xmlns:multimap=”http://sap.com/xi/XI/SplitAndMerge”>
Enrich offers you control on how you can merge the original and lookup message. In this example, we consider
the node <ext_111> as the reference to enrich the original message with the lookup message.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
257
Consequently, you specify the following values while configuring the Content Enricher.
Table 87:
Section
Field
User input
Original Message
Path to Node
Employees/Employee
Key Element
location
Path to Node
EmployeeLocations\emplocation
Key Element
locationid
Lookup Message
The enriched message will be in the following format.
<EmployeeList>
<Employee>
<id>111</id>
<name>Santosh</name>
<external_id>ext_111</external_id>
<contact>
<c_id>1</c_id>
<c_code>ext_111</c_code>
<isEmergency>0</isEmergency>
<phone>9999</phone>
<street>1st street</street>
<city>Gulbarga</city>
</contact>
<contact>
<c_id>2</c_id>
<c_code>ext_111</c_code>
<isEmergency>1</isEmergency>
<phone>1010</phone>
<street>23rd Cross</street>
<city>Chitapur</city>
</contact>
</Employee>
<Employee>
<id>22</id>
<name>Geeta</name>
<external_id>ext_222</external_id>
</Employee>
</EmployeeList>
In the enriched message, you can see the content of the lookup message after the node <location>.
Remember
If lookup message contains more than one entry of the key element, content enricher enhances the
enriched message with all the entries referred by the key element in lookup message. In the above example,
the lookup message contains the key element ext_111 in two places. You can see that the enriched
message contains both the <contact> entries that the key element refers to.
Procedure
1. If you want to add Content Enricher to the integration process, perform the following substeps.
a. In the palette, choose
258
Content Enricher
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
b. Place Content Enricher in the integration process and define message path.
2. Choose the Content Enricher.
3. In Content Enrichment Type field, select value from dropdown list based on description in table.
Table 88:
Value
Description
Combine
Combines the original and lookup messages. You cannot
define any rules for combining messages.
Enrich
You can define the path to node and key element based
on which the original message is enriched with the lookup
message.
4. If you have selected Enrich as the Content Enrichment Type, provide values in fields based on description
in table.
Table 89:
Section
Field
Description
Original Message
Path to Node
Path to the reference node in the orig­
inal message
Lookup Message
Key Element
Key element in the original message
Path to Node
Path to the reference node in the
lookup message
Key Element
Key element in the lookup message
5. Save or deploy the configuration.
4.14 Viewing Mapping Details in Mapping Viewer
Context
You use this procedure to view mapping details of mappings appearing in an integration flow.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
259
To familiarize yourself with the various features and behavior of elements in the mapping viewer, see the
screenshot below:
Sections marked in above screenshot
Description
1
Represents the source structure.
2
Represents the target structure.
3
If any of the entities (source or target) are not visible, a
dotted line indicates the calculated position of the invisible
entity.
4
Solid lines represent visible source and target entities.
5
If you select a line, both source and target entities come to
the center in the table, and the line becomes solid.
6
This section represents the functions of the selected
mapping.
Procedure
1. If you are viewing an integration flow from the Catalog view, follow the sub-steps below:
a. Select an integration package.
b. In the Artifacts table, select the integration flow name from the Name column.
Note
In the Artifact table, the integration flow Type appears as Process Integration.
2. If you are viewing an integration flow from the My Projects view, select an integration flow from the
AVAILABLE INTEGRATION FLOWS table
260
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
3. In the integration flow diagram, select the mapping element.
Hover over the different entities in the diagram to identify mapping elements.
The mapping name appears as a link in the parameter section below the diagram.
4. To view the mapping in the mapping viewer, select the link with the mapping name.
Note
If a mapping is invalid or unsupported, the mapping viewer does not open the mapping. If you hover
over the mapping name link you can view the associated error message.
5. In the mapping viewer, select a source or target entity to highlight all mappings from that entity.
You can select message mappings between source and target entities to view the functions associated
with them. The application displays the functions in the Mapping Expression section.
4.15 Editing Mapping Details
Prerequisites
You have opened the mapping in mapping viewer.
Context
You use this procedure to edit the mappings of an integration flow in SAP HCI Spaces application.
Procedure
1. Choose the Design tab.
2. Choose an integration package.
3. To edit a mapping in mapping viewer, choose the required integration flow.
4. Choose Edit.
5. To add a mapping , connect source elements to target elements using connectors.
Note
Only direct mappings, that is, 1:1 mapping can be created
6. To edit a mapping graphically, perform the following substeps:
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
261
a. Choose the required integration package.
b. Choose Edit.
c. Select the required mapping in the integration flow editor.
d. In the Mapping section, choose <mapping name>.
e. In the <mapping name> editor, choose the required mapping expression.
f. In the Mapping Expression section, edit the mapping accordingly by providing the required functions
and values.
7. To delete any existing mapping, select the mapping and delete.
Note
○ You can also select Delete from the context menu of the mapping connector.
○ You cannot perform a partial deletions in mapping viewer, you can only delete the entire mapping.
○ If you delete a mapping with functions, all the associated functions are also lost and cannot be
recreated in Web.
8. Choose Ok.
This action triggers a validation check, which reports an error if there are any unassigned mandatory
fields.
9. To revert the changes, choose Cancel.
If you have performed series of changes to the mapping then all your changes will be lost .
10. In the integration flow viewer, select Deploy.
If you select Cancel, all the changes to the mapping will be lost.
4.16 Changing Source and Target Message Structuring
You use this procedure to extend the source or target or both message structures of a message mapping to
the original message for containing extended fields.
Context
Procedure
1. Launch SAP HCI Spaces by accessing the URL provided by SAP.
2. Choose the Design tab.
3. Select the required integration flow with mapping.
4. Choose the mapping to view it in Mapping Viewer.
5. Choose
262
(Edit) to open the mapping in Mapping Editor.
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
6. In the Source and Target Messages view, choose
message.
(Edit) to modify the required source or target
7. Choose the required file in the dialog box that appears.
The file gets replaced with the chosen file.
8. Choose Open.
4.17 Working with Value Mappings
You use this procedure to perform various functions in a value mapping.
Context
Procedure
1. Launch SAP HCI Spaces by accessing the URL provided by SAP.
2. Choose the Design tab to view the list of integration packages.
3. Choose an integration package.
4. From the list of artifacts, choose the required value mapping.
5. Choose Edit.
6. In the Bi-directional mappings for section, choose Add to add a bi-directional mapping.
7. In the Value mappings for section, choose Add to add a value mapping.
8. Choose
to remove a bi-directional or value mapping.
You can choose Delete All to remove all bi-directional and value mappings from the respective secions.
9. Choose Save to keep the changes.
10. Choose Save as version to retain a copy of the current artifact.
You can view the version history of an artifact by choosing the current version mentioned along with it.
11. Choose Cancel to revert the changes.
Note
If you edit a web edited value mapping in eclipse, then you get a default value for 1:N, M:,1 and M:N
mappings. SAP recommends that all groups should contain only one agency identifier and value pair.
Some of the function names in web UI differ from the ones in Eclipse.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
263
4.18 Custom Functions in Message Mapping
You can view the Custom Functions associated with an existing message mapping from the function palette.
You can only define or modify a mapping expression as required by using the associated Custom Functions of
a message mapping.
4.19 Testing a Message Mapping
Context
You use this design time test to validate the correctness of the mappings with the given test inputs.
Procedure
1. Launch SAP HANA Cloud Integration application by accessing the URL provided by SAP.
Note
Browsers that support the application are Internet Explorer 10, Google Chrome, and Safari.
2. Choose
3. Select
.
Design
Integration Package
tab page.
4. Choose the Integration Flow.
The Integration Flow page opens in Read-only mode.
Note
You can edit the integration flow only if you choose Edit.
5. If you want to edit the mapping, select Edit.
The Integration Flow page opens in edit mode.
6. In the Integration Flow page, select the mapping that you want to test.
The name of the mapping is displayed under the Mapping section.
7. If you want to test the mapping, choose
Simulate
Upload Input .
8. Select the input XML file that you want to test from the file system, and choose Open.
The input XML file data is displayed on the source message table.
264
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
9. Choose Test.
The output XML file data is displayed on the target message table.
10. If you want to download the output test XML, choose Download.
Note
○ You do not have to save the mapping to perform simulation.
○ You can also a test a message mapping with scripts.
○ You can also modify any of the following operations in the graphical editor:
○ New function
○ Properties
Then, you can again validate if the mapping is working correctly.
4.20 Deploying Data Flows
Context
Procedure
1. In the Integration Package Editor, in the Artifacts section, select the required data flow from the list.
2. Choose
Deploy.
3. In the Settings dialog box that appears, enter the following details:
○ Data Center URI
○ Application Name
○ Organization Name
Once you enter the above mentioned details, the application forms the Data Service URL.
4. Choose OK.
5. In the LOG ON screen that appears, enter the organization name.
6. Choose Log On.
The Data Integration application opens its Projects tab.
7. In the dialog box that appears, enter the following details as required:
○ Name
○ Source
○ Target
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
265
8. Choose OK.
The newly deployed data flow appears as an entry in the Projects tab page. If required, you can switch
back to the SAP HCI Spaces application.
Note
To switch to SAP HCI Spaces Catalog view from Data Integration using the Back Button in the
browser, perform the required substeps:
○ If you use Internet Explorer, from the context menu of Back Button , select HCI.
○ If you use Google Chrome, click twice on Back Button .
○ If you use Mozilla Firefox, from the context menu of Back Button , select HCI.
If you want to switch to SAP HCI Spaces Catalog view from Data Integration using the Forward Button
in the browser then by default, it displays the Projects tab page without the Settings option. This
behavior remains the same for Internet Explorer, Google Chrome, and Mozilla Firefox.
If you do not have authorization to access the Data Integration application then you get the following
error messages:
○ Error message for Google Chrome and Mozilla Firefox:
User is not included in the organization. Contact your security administrator for assistance.
○ Error message for Internet Explorer:
HTTP 404: Not found error
266
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
Developer's Guide: Managing Integration Content
Accessing Integration Content in SAP HCI Web Application
Important Disclaimers and Legal Information
Coding Samples
Any software coding and/or code lines / strings ("Code") included in this documentation are only examples and are not intended to be used in a productive system
environment. The Code is only intended to better explain and visualize the syntax and phrasing rules of certain coding. SAP does not warrant the correctness and
completeness of the Code given herein, and SAP shall not be liable for errors or damages caused by the usage of the Code, unless damages were caused by SAP
intentionally or by SAP's gross negligence.
Accessibility
The information contained in the SAP documentation represents SAP's current view of accessibility criteria as of the date of publication; it is in no way intended to be
a binding guideline on how to ensure accessibility of software products. SAP in particular disclaims any liability in relation to this document. This disclaimer, however,
does not apply in cases of wilful misconduct or gross negligence of SAP. Furthermore, this document does not result in any direct or indirect contractual obligations of
SAP.
Gender-Neutral Language
As far as possible, SAP documentation is gender neutral. Depending on the context, the reader is addressed directly with "you", or a gender-neutral noun (such as
"sales person" or "working days") is used. If when referring to members of both sexes, however, the third-person singular cannot be avoided or a gender-neutral noun
does not exist, SAP reserves the right to use the masculine form of the noun and pronoun. This is to ensure that the documentation remains comprehensible.
Internet Hyperlinks
The SAP documentation may contain hyperlinks to the Internet. These hyperlinks are intended to serve as a hint about where to find related information. SAP does
not warrant the availability and correctness of this related information or the ability of this information to serve a particular purpose. SAP shall not be liable for any
damages caused by the use of related information unless damages have been caused by SAP's gross negligence or willful misconduct. All links are categorized for
transparency (see: http://help.sap.com/disclaimer).
Developer's Guide: Managing Integration Content
Important Disclaimers and Legal Information
PUBLIC
© 2015 SAP SE or an SAP affiliate company. All rights reserved.
267
www.sap.com/contactsap
© 2015 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 http://www.sap.com/corporate-en/legal/copyright/
index.epx for additional trademark information and notices.