Hidden Parameters
Hidden Parameters
DATA TYPE:
Classification
Qualify schema
Occurrence
Use:
Data type is an interface object that defines the structure of data in message types in the ES
Repository. They contain elements and properties for the type definition. Data types are
defined using XML Schema Definition Language (XSDL).
Classification:
The specification XML Naming and Design Rules by the United Nations for Trade
Facilitation and Electronic Business (UN/CEFACT XML NDR) describes how
syntax-free components, which have been developed according to ISO 15000-5 Core
Components Technical Specification (CCTS), are represented systematically in XML
schema and XML instances. Core data types and aggregated data types are defined
according to these standards. In addition to the language elements of XML schema,
the data type editor also has attributes for the definition of the data types that comply
with CCTS. These can be evaluated when the data type is used elsewhere. This,
together with the governance process for data types simplifies the development of
cross-company processes and the development of user interfaces.
Message types in the ES Repository can reference freestyle data types, core data types, and
aggregated data types.
XML schema is the basis for the description of data types, regardless of the selected
classification. The following sections describe some of the basic concepts.
Qualify Schema:
To describe complex data types in XML schema, use elements and attributes:
The difference between elements and attributes is that attributes cannot have any sub nodes,
and that the same attribute cannot be used more than once in an element.
XML schema does not recognize tables but permits instead the definition of elements that
can occur frequently in a schema (max Occurs=unbounded). Depending on the target
language, proxy generation generates either a table type with a structure for the line type
(ABAP), or class for accessing using a list (Java).
Occurrence:
Occurrence is nothing but the number of times a given XML tag appears in the XML
document. Occurrences are defined in the data type editor and a minimum and maximum
occurrence is specified for each field.
For example, the Occurrence of the source field is 1:1. Occurrence 1:1 indicates a minimum
and maximum occurrence of 1 i.e. it should be present once.
If the occurrence is 1: outbound means minimum occurrence should be once but maximum
can be ‘n’ number of times.
Service Interface:
Category
Interface pattern
Security profile
Event interface
Sensitive data
Attributes
WSDL
Use:
A service interface enables you to describe - independently of a platform or programming
language - operations that you require later for an implementation in the application system
at a later stage. Depending on the category of a service interface, the following use cases are
possible:
Category:
Interface Pattern:
You assign each service interface an interface pattern, which describes the type of the
communication to be executed. Before we describe the interface patterns Stateless (XI 3.0-
Compatible), Stateless, Stateful, and TU&C/C, it is necessary to clarify the terms stateless
and Stateful:
Stateless communication means that the messaging runtime does not support the
saving of a status at the provider once the messaging runtime has completed the
message exchange successfully.
Stateful communication means that the messaging runtime supports the saving of a
status at the provider once the messaging runtime has completed the message
exchange successfully.
Stateless
For this interface pattern, the Web service runtime supports point-to-point
communication using Web services as well as communication using the Integration
Server with the help of the Web service adapter.
Stateful
Successive calls use a state at the provider. This interface pattern is only needed for a
few special technical scenarios. It does not guarantee a common update of data at the
receiver.
You cannot use this interface pattern for enhanced communication using the
Integration Server. Only synchronous stateful communication is supported.
TU&C/C
An interface pattern that is based on the existing protocols for synchronous and
asynchronous communication and enables cross-system ROLLBACKs (see below).
This interface pattern supports both point-to-point communication using Web services
and communication using the Integration Server with the help of the Web service
adapter.
For cross-system updates, it is better to work with asynchronous communication, because the
quality of service Exactly Once (In Order) (EOIO) guarantees that a message is delivered
once (in the case of EOIO in the correct order), even after a system crash.
However, if the continuance of a transaction depends on the results of a service call, you can
work with a synchronous call. In this case, calls within a component are unproblematic:
When the called service updates changes in the system, these updates are part of the calling
transaction. The caller determines for the whole transaction whether the system writes the
changes to the database (COMMIT) or not (ROLLBACK). There is no such automatism for
cross-system service calls. Instead, you can ensure the consistency of the data by using the
TU&C/C protocol.
This interface pattern is relevant only if you have SAP NetWeaver Process Integration
installed in your landscape.
With this interface pattern, you can continue to use all existing protocols (up to SAP
NetWeaver 2004s) in the back end that were developed on the basis of message interfaces.
Message interfaces from the Integration Repository of SAP NetWeaver 2004s are migrated
to service interfaces in the Enterprise Services Repository and are assigned this interface
pattern. The interface pattern only allows one operation.
Security Profile:
You can assign security levels to the service interfaces in the ES Repository. These values
form the metadata descriptions which influence the behavior during implementation of this
service definition. This feature is applicable only for point to point communication. You can
assign different set of values to security profiles. Depending on the type of interface pattern
selected, you can choose from different set of values for the security profile.
If you select the interface pattern as Stateless (XI30-compatible) , you can
choose from the following values:
o Basic - Basic Authentication using user ID and password and no transport
security.
o Strong - Strong Authentication (SSL or SSO) and transport security.
Note
The Security Profile field is available only if you select the Point- to-Point enabled
checkbox.
If you select the interface pattern as Stateful , Stateless , or TU&C/C , you can
choose from the following values:
o No - No Authentication and no transport security.
o Low - Basic Authentication using user ID and password and no transport
security.
o Medium - Basic Authentication using user ID and password and transport
security.
o High - Strong Authentication (SSL or SSO) and transport security.
Event Interface:
Sensitive Data:
If you want to enable the encryption at run time for a service interface, then
select the check box for sensitive data.
Note: You can use this feature if you run scenarios that involve the exchange of
sensitive data and you want to prevent malicious users from accessing this data.
Attributes:
Mode Messages
Asynchronous Request , fault (optional and only for inbound service interfaces)
Synchronous Request , Response , Fault (optional)
If you want to handle application-specific errors or persist them in monitoring, assign
corresponding fault message types to the operation. Fault messages transfer errors on the
receiver side to the sender or to monitoring. For this reason, it is not possible to define fault
messages for asynchronous operations of abstract service interfaces or for asynchronous
operations of outbound service interfaces.
An asynchronous process is invoked by a one-way operation and the result and any faults
are returned by invoking other one-way operations. The result is returned to the caller via a
callback operation.
WSDL:
The current version of WSDL is WSDL 2.0. The meaning of the acronym has changed from
version 1.1 where the D stood for Definition.
Receiver Determination:
There are two options for determining how receivers are determined:
Standard
If you want to specify the receivers of the message (and optionally routing conditions)
manually, select this receiver determination type. You can also specify conditions that
refer to the content of the message.
For a standard receiver determination you can also specify whether the configuration
settings are valid for all operations of the outbound interface or whether they are to be
defined separately for each operation.
Extended
If you want to determine the receiver of the message dynamically at runtime by means
of a mapping, select this receiver determination type.
If you select this option, you can specify the receivers of the message (and optionally routing
conditions) manually in a receiver determination.
The combination of one or more receivers with a condition is referred to in the following as a
rule. You have the following options for specifying rules:
You define a local rule for one receiver determination and this applies only to
messages whose address fields in the header match the key of the receiver
determination.
A receiver rule is a reusable rule that is defined as a separate object in the Integration
Directory. It contains receiver and routing conditions and can be used by multiple
receiver determinations.
Caution:
Note that you cannot specify expressions using XPath when you define conditions in
receiver rules.
Prerequisites:
You have created a receiver determination and selected the type Standard.
Procedure:
1. First specify whether you want to define the receiver determination operation-
specifically or for all operations of the outbound interface (radio button).
In this case, first select the operation for which you want to define the receiver
determinations and then proceed with the next steps.
2. You have the following options for specifying receiver and routing conditions:
o Specify Local Rule
Add a local rule for receiver determination and enter a combination of receivers
and conditions.
If a specific receiver rule exists for the configuration you want, you can use this
and add it to the receiver determination.
To do this within the Configured Receivers frame, choose the arrow beside the
Insert Line below Selection ([PICT]) icon and choose Insert Receiver Rule. Call
input help for the Rule column and select the receiver rule.
Use:
When using routing conditions, the receivers of a message are determined at runtime by
evaluating the condition (which depends on the content of the message). However, the names
of the receivers have already been defined at configuration time in the Integration Directory
(integrated configuration, Receiver tab).
When you configure routing that way (referred to as standard receiver determination ), you
have to specify the receiver names as part of the configuration procedure in Integration
Directory.
A more flexible way to configure routing is offered by the extended receiver determination .
In an extended receiver determination, you can specify a mapping program that takes over
the task of finding out the actual receivers at runtime. You can design the mapping program
that way that the receivers of the message are read from a list that might be part of an
external data source (mapping look-up approach).
Storing receiver names in an external data source allows to update of the receiver list
without the need of a cache refresh.
Storing receiver names outside the Integration Directory allows non-integration
experts to maintain receivers.
Note:
This section applies to the use case when configuring message processing using the
Advanced Adapter Engine only.
Procedure:
Enter the outbound interface of the operation mapping from above in the key of the
receiver determination as the outbound interface. Assign this operation mapping to the
receiver determination. Furthermore, define outbound processing (sender adapters) for
all configured possible receivers.
Note:
As for AEX no wildcards (*) can be used to mask the key of configuration objects,
you need to specify the name of the potential receivers when defining the integrated
configuration.
Note :
If the mapping program returns an XML file with empty or missing <Service></Service>
tag, the message is routed to the default receiver (that is configured in the integrated
configuration, Receiver tab, under If No Receiver Is Found, Proceed as Follows , option
Select the Following Receiver:
If you define the receiver determinations as operation-specific, all operations are displayed
that were defined for the outbound interface in the key of the receiver determination, and
you can assign the receiver based on the operations, in other words-- different operation
may have different receiver.
Even if you have defined the routing correctly in the integrated configuration, it is possible
that the receiver of a message cannot be determined at runtime.
Example:
If you define a condition depending on the contents of a message, it can happen that the
current inbound message does not contain the application data required to fulfill the
condition.
You can specify what is to happen at runtime if this occurs. You have multiple options. In
the Configured Receiver frame, select the relevant radio button under If No Receiver Is
Found, Proceed as Follows.
You can correct the configuration and restart the message processing.
Recommendation
Recommendation
Select this setting when messages for which no receiver can be found
can typically occur in the underlying scenario.
Continue Message The message is sent to a fixed predefined receiver. You can specify the
Processing with the receiver in the Party and Communication Component fields (using
Following Receiver: input help).
Note:
Sender Agreement:
Schema validation
Schema Validation:
You can specify whether you want the structure of the payload of the inbound message to
be checked.
If you want to have the message validated, you have the following options:
1. For XML validation to be executed correctly, you must specify the software component
version of the interface that is entered in the key for the sender agreement. Only then is it
possible to define the message structure uniquely. Use the input help for the Software
Component Version field.
XML Validation:
XML validation allows you to check the structure of a PI message payload. The structure
check is performed using saved data types. You activate the validation in the collaboration
agreement. Monitoring and administration takes place in message monitoring of the
Runtime Workbench and in the Integration Engine.
You can perform the structure check at the following points in PI message processing:
● Validation in the sender adapter
If the sender adapter has created the PI message, you can then perform the validation of
the PI payload. If the structure of the payload differs from the definition of the data type
provided for comparison, message processing is stopped. The adapter sends a
synchronous response to the sender of the message, informing it about the structure
error. The industry-specific adapters inform the sender asynchronously, as required by
the RNIF protocol and the CIDX protocol.
All sender adapters (including non-SAP adapters) can perform this validation.
● Validation in the Integration Engine
In inbound and outbound processing, validation of the PI message payload takes place
as a pipeline step of the Integration Engine. If the structure of the message payload does
not match the saved definition of the data type, an error description is generated. The
error description contains status information and a list of all structure errors. Message
processing is stopped. The message is set to error status and an error report is saved.
If validation takes place in the Integration Engine, the sender of the message is not
automatically informed of the structure error. The message is set to error status and an
administrator can process the message further using the Runtime Workbench.
Synchronous messages consist of a request and a response payload, which are processed in
a synchronous call. Both payloads can only be validated together. You configure the
validation for inbound requests and outbound responses in the sender agreement. You
configure the validation for outbound requests and inbound responses in the receiver
agreement.
Configuration:
You define whether and where the validation of the PI message payload takes place in the
respective collaboration agreement. In a sender agreement, you can choose between
validation in the sender adapter or validation in the Integration Engine. If validation takes
place in the adapter, a synchronous response is sent to the sender when an error occurs.
In the receiver agreement, you can configure the validation in the Integration Engine. If
validation takes place in the Integration Server, the message is set to error status and can
be processed by the administrator in the Runtime Workbench in the case of an error.
Administration in the Runtime Workbench and in the Integration Engine:
Messages that have error status following validation can be processed further by an
administrator in the Runtime Workbench. The administrator can resend messages and skip
the validation step.
Receiver Agreement:
o Schema Validation
o Header Mapping
Schema Validation:
You can specify whether you want the structure of the payload of the outbound message to
be checked.
1. For XML validation to be executed correctly, you must specify the software
component version of the interface that is entered in the key for the receiver
agreement. Only then is it possible to define the message structure uniquely. Use
the input help for the software component version field.
2. If you want the messages to be validated, select Validation By Integration Engine.
Header Mapping:
Use:
You use Header Mapping to map the values of the following key fields in the receiver
agreement to other values.
Sender Party
Sender Communication Component
Receiver Party
Receiver Communication Component
Prerequisite:
You have created an integration flow in your Integration Directory and configured the
systems, interfaces and channels.
You have assigned an adapter to the receiver channel that supports header mapping.
Context:
You use this procedure to mask the names of systems within your landscape while
communicating with an external business partner in a B2B scenario. Since you cannot show
the names of internal systems to the external partner, you allow the partner to see only the
names of the exposed communication components in the received messages. Using header
mapping, you can mask the system details in the message header with parameters such as
Sender Party, Sender Communication Component, Receiver Party, and Receiver
Communication Component, which an outgoing message carries in its header. You can either
select a specific system and party name or allow dynamic determination of values for the
header mapping parameters by using Xpaths or Context objects.
The figure below shows how the header mapping is used in a B2B communication and is
followed by an explanation:
In the figure above, two integration flows are configured, one with the landscape details of
Business Partner 1 and the other with landscape details of Business Partner 2, to enable B2B
communication. When Business Partner 1 sends messages to Business Partner 2, the
BusinessPartner1_Receiver system forwards the message to BusinessPartner2_Sender
system. When the message is sent across the landscape, the header Mapping feature at the
BusinessPartner1_Receiver system masks the internal system details in the message header
of the outgoing message. So, the message received by Business Partner 2 sees only the
masked names for the system details of Business Partner 1.
Procedure:
Note:
If you have chosen Service and the selected sender communication component
belongs to a party, the Sender Communication Party is auto-filled.
If we want to replace the internal name of a sender business system in the outbound
message with a neutral name of a party and communication component, specify the fields
for sender party and sender communication component in the Header Mapping.
Integrated Configuration:
Staging
Logging
Staging:
Use:
You can save asynchronous messages that are processed in the Advanced Adapter Engine
(AAE) either before or after processing steps.
You can then edit the message and, in special cases, restart processing of the changed
message.
Note:
This kind of saving message versions is also called staging (in contrast to message logging
where synchronous messages are saved and only can displayed).
When you have configured local message processing using the AAE (using integrated
configuration), you can store message versions after the following processing steps within
the pipeline:
The following figure shows the sequence of processing steps for local message processing in
the Advanced Adapter Engine and also indicates where message versions can be stored:
Figure 1: Processing Steps within the AAE
You can use parameters BI, VI, MS, AM, and VO to define whether a message version is to
be saved and how further processing is to proceed. You have the following options to define
the mode of further processing for each step:
0 (MODE_NO_STORE)
The processor does not save message versions; it continues with the next processing
step.
1 (MODE_STORE_ON_ERROR)
The processor only saves a message version if an error occurs in the next processing
step.
3 (MODE_STORE_AND_RETURN)
The processor saves the message and continues with the next processing step.
Note:
Procedure:
Example:
You can also configure staging for specific scenarios that are covered by the integrated
configuration.
For more information, see the documentation of the Integration Directory in SAP Net
Weaver Library under SAP Net Weaver Library: Function-Oriented View Process
Integration Integration Directory Defining the Integrated Configuration .
Result:
If a message is not delivered, the last saved message version is used for an automatic restart.
If the time limit for an automatic restart has been exceeded and the message has the status
Not Delivered, you can use each saved message version for a manual restart.
If you use a message version for the manual restart and later message versions exist, the
message version number is increased to distinguish it from the other message versions.
Note:
Note that when a message is restarted, it will be scheduled in a queue again. As a result of
this, the processing time of a message might be extended when staging is applied. The
message is rescheduled within the pool of messages already available in a queue.
Logging:
Procedure:
1. Start SAP Net Weaver Administrator from the following page: http ://< host>:<port>.
2. Choose SAP Net Weaver Administrator.
3. Choose (tab) Configuration Infrastructure Java System Properties .
4. To specify message logging, in tab Services search for XPI Adapter: XI.
As processing step, you can specify one of the following steps within the pipeline processing
(indicated by a two character string as shown in the table):
(parameter BI)
Receiver The receivers of the messages are evaluated based on the configuration
determination settings in the corresponding integrated configuration in Integration
Directory.
(parameter MS)
Mapping The mapping is performed based on the configuration settings in the
corresponding integrated configuration in Integration Directory.
(parameter AM)
To specify the logging condition, you use integer values. The following table lists the
possible digits:
Digit Condition
1 Asynchronous messages are logged.
2 Synchronous messages are logged.
3 Synchronous and asynchronous messages are logged.
5 Only asynchronous error messages are logged.
6 Only synchronous error messages are logged.
7 Synchronous and asynchronous error messages are logged.
9 As setting 1, with the business content (payload) hidden.
10 As setting 2, with the business content (payload) hidden.
11 As setting 3, with the business content (payload) hidden.
13 As setting 5, with the business content (payload) hidden.
14 As setting 6, with the business content (payload) hidden.
15 As setting 7, with the business content (payload) hidden.
As default, no value is assigned, which means that messages are not logged.
Note:
Example:
The complete expression: AM=14 means: synchronous error messages are logged between
mapping and schema validation, and the business content is hidden.
Note:
That means, for example: if a log version was stored during pipeline processing, a persistent
status of the message is updated by the Messaging System. A log version with processing
step SC (see below) is added in case the interface (action) of the log version is different
compared to the final interface of the message. The logged messages are visible in PI
overview monitoring.
To activate logging in case of errors in any case, you can do the following:
1. Start SAP Net Weaver Administrator from the following page: http ://< host> :< port>.
2. Choose SAP Net Weaver Administrator.
3. Choose (tab) Configuration Infrastructure Java System Properties .
4. In tab Services search for XPI Service: Messaging System.
5. On the Properties tab (under Extended Details) search for
messaging.system.statusLoggerConf.
6. To specify message logging behavior, choose Modify , and in field Enter Custom
Values enter the corresponding value according to the following syntax:
Value Description
Error Log message in case of errors.
None No logging of messages
To specify the handling of business content, you use one of the following values:
Value Description
Full If logging is enabled, log message with business content.
Headers If logging is enabled, log message without business content.
As default, the value Error, Full is assigned, which means that messages are logged
including business content in case of errors.
The location SC is used for the logged message version. This log message is also
visible in PI overview monitoring.
Note:
That means, for example: in case a log version was stored during pipeline processing
according to the configuration settings described above under Configuring Message Logging
at Specific Processing Steps, a log version with processing step SC (shortly referred to as log
version SC ) is not automatically stored. In this case, a log version SC is only stored if the
existing log version was created for a different interface (the payload is automatically hidden
then). This ensures consistency between overview monitoring and message monitoring
(persistent and in-memory).
Configuring the Enhanced Settings for Saving Messages:
Context:
For messages that are processed using this integration configuration, you can create settings
for saving message versions at runtime. In this way you specify the processing steps
according to which messages are to be stored on the Advanced Adapter Engine at runtime.
Note:
This option is of interest for administrators who monitor the running of integration scenarios
and have to take action in cases of errors.
Staging: You can save message versions, edit them and restart the processing of the
changed message.
Logging: You can save message versions for logging purposes. In this mode you only
have read-only access to the message version.
For more information, see the SAP Net Weaver Library under SAP Net Weaver Process
Integration Administrative Tasks Saving Message Versions .
Procedure:
Irrespective of the communication mode, decide which option you want to make the
settings for:
o For asynchronous message processing you make the settings for staging or
logging.
Note
Note that staging can have a negative impact on performance. You should
therefore only employ staging when you need to Editor Restart functions.
o For synchronous message processing you make the settings for logging.
Note:
If you selected this option, you can skip the next step.
If you select this option, the settings that you configured specially for this
integrated configuration are effective for staging or logging.
4. If you have selected the scenario-specific configuration, you must enter for staging or
logging the steps after which the message versions are to be saved. For each step you
can specify what is to happen with the message at runtime.
For every step you have the following options to specify more accurately what is to
happen with the message at runtime:
o None
o Save on error
o Save
Message version is saved and the processing is continued with the next step.
For every step you have the following options to specify more accurately what is to
happen with the message at runtime:
o None
o Log
o Log on error
Note:
You can combine the selection of multiple processing steps both for staging and for
logging.
For more information on the processing steps, see the documentation specified above.
The objects in the Integration Directory are categorized as follows:
1. Collaboration Profile
Party
Business Component
Communication Channel
Process Component
2. Collaboration Agreement
Sender Agreement
Receiver Agreement
Direct Connection
Integrated Configuration
3. Configuration Objects
Receiver Determination
Receiver Rule
Interface Determination
Value Mapping Group
4. Administration
Configuration Scenario
Alert Rule
Folder
Change List