Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Find below the explanation of every part of the Chem eStandard Message.
Preamble: It handles information global to document (version, datestamp)
Service Header: It contains the information about transaction routing and processing information for a given
transaction. The service header contains three separate data objects:
1.
Process identity: It describes the process to be carried out by the transaction encapsulated in service
content.
2.
3.
Transaction control: It provides the information how the transaction encapsulated in the service content
is to be processed.
Service Content: This contains the actual message that is considered to be an action message which needs
to be transported to partner.
Chem eStandards is developed with number of conventions for content and structure of the data
models/messages as described below under sections, Message Definition, Message Responses, Message
structure, Message elements.
Message Definition: They are defined with two facets of guiding principles.
1.
Individual messages are intended to support only one business function. Eg: OrderCreate is different
OrderChange
2.
Individual messages supporting a single business function can modify the nature of transaction being
performed based on data values.
For Eg: OrderCreate message support Standard Order, RushOrder etc..
Message Responses: There are two types of Responses. Technical and Transaction Responses.
1.
Technical responses are returned to source system from destination upon deliver of messages from
source to destination. Again there are two types.
a.
Positive:
i. ReceiptAcknowledgement is positive Chem eStandard Signal message. When
received, it means that the message is received by partner and the message is valid
chem eStandard Action message.
b.
Negative:
i. ReceiveAcknowledgementException: Received by source to state that the partner
has received a message which is invalid in terms of schema validation against DTD
ii. General Exception: Received by source system when processing of action message
by partner runs into error.
2.
Transaction Response: They are reply or response to requested Action Message. For eg: Purchase
Order Response is sent by partner as a response to the action message received like Purchase Order.
They are unique and it is not necessary that every transaction has transaction
response.
Note: Action message is the actual message that is sent to partner. Eg: Invoice
Signal message is the response message that is received by source system in response to the action
message received by partner.
Message Structure: It is XML document conforming to corresponding DTD (Data type definition). Every
message will start with a root element addressing the message itself and has child elements as Header and
Body.
Message Elements: An XML specification describes structure data as explained above. XML document
elements may either contain other data elements or data (or both). These message elements may contain
attributes that describe the data within the message element.
On the whole transactions can be exchanged between business partners with a sample explained
diagrammatically below:
Observe that Software component CIDX has Software component version 1.0, which in turn has different
namespaces created under them.
These namespaces and Schemas should be supporting chem. eStandards, as CIDX Adapter
determines/constructs the namespace and interface name of an incoming CIDX Action Message as follows:
<Version> := /ServiceHeader/ProcessControl/ProcessIdentity/VersionIdentifier
Version: Specify the
from www.cidx.org
selected
version
of
the
message
chosen
from
the
schemas
available
Initiator.
1. Create a Party: Party represents a larger unit, which is involved in a cross-system process, for
example a Seller Company. Communication Parties are assigned alternative identifiers; across the
world with identifiers. (for example, Dun & Bradstreet D-U-N-S number).
Create two parties, one representing Buyer (initiator) and other Seller (Responder), EDI_XML_Buyer
and EDI_XML_Seller respectively.
2. Create a Service: Business Service represents an abstract, addressable unit. Business services are
used in cross-company processes. CIDX adapter determines the partners service name and local
service name for an incoming CIDX message based on Service Header fields as described below:
Service Name should be as CIDX<TransactionCode>_Version_PartnerRole.
<Transaction Code>:= /ServiceHeader/ProcessControl/ProcessIdentity/GlobalProcessIndicatorCode
Transaction Code: For every business transaction, CIDX standards have defined unique Code to
identify the transaction and process it accordingly. A sample code list is provided earlier in this
document.
<Version>:= /ServiceHeader/ProcessControl/ProcessIdentity/VersionIdentifier
<Partner
Role>:=
/ServiceHeader/ProcessControl/TransactionControl/PartnerRoleRoute/fromRole.PartnerRoleDescrip
tion/GlobalPartnerRoleClassificationCode
<Current
Role>:=
/ServiceHeader/ProcessControl/TransactionControl/PartnerRoleRoute/toRole.PartnerRoleDescriptio
n/GlobalPartnerRoleClassificationCode
For example:
Buyer service should be named as CIDXE81_40_Buyer
Seller service should be named as CIDXE81_40_Seller
Find below the sample message containing the information as described above.
4. Create a Sender Agreement using the communication channel created for this Scenario within this
agreement.
5. Create other objects to complete the configuration which includes Receiver Determination, Interface
Determination and Receiver Agreement.
6. An effort is also made to discuss Security Services in CIDX Adapter:
XI and RNIF protocols support message level security by digital signature and encryption. Messagelevel security processing is done in Java part of SAP WAS.
CA (Certificate Authority) certificates to be used need to be entered into Key Store of J2EE Engine
that executes the security handling at runtime.
During configuration these certificates are referred while defining the communication channels when
certificate logon is used.
Otherwise, UserName/Password authenticity can be used alternatively.
There are three sections to achieve the security of transmission of the messages between chemical
companies
a. Confidentiality: Select HTTPS communication protocol
b. Authentication, Authorization and Message Integrity: By digitally signing the message
authenticates the receiver to receive the message. Validation is done by the receiver to
match the identity of the sender. Then message is processed successfully to achieve the
integration of Business.
c. Accountability:
i. Non-Repudiation of the message when selected for inbound messages means that
partner cannot deny of sending the messages and stores the inbound message in
the security archive.
ii. Non-Repudiation of the message when selected for Outbound messages means
that partner cannot deny or receiving the messages and stores the outbound
message in the security archive.
Testing Results:
Message ID
RefToMsgID
7a451b3102e112ddc6e975b43570eb8c
Conversion ID
Sequence Number
Message Type
From Party
From Service
Action
Connection Name
Status
Error Category
PROCESS.HFO7w7WYcCkcu6FKTUEpnSs4cQ9Vg.Invoice.CompanyA
0
Asynchronously Received Message (RECEIVE)
Name: EDI_XML_CompanyA
Name: CIDXE81_40_Buyer
Namespace http://sap.com/xi/CIDX/40 Name: Invoice
CIDXAdapter
Delivered
Error Code
Profile
Transport
Delivery Semantics
Times Failed
Number of Retries
Sent/Received
Transmitted/Delivered
Next Delivery
Persist Until
Valid Until
CIDX
HTTPS
Exactly Once
0
5
04/25/2008 12:00:00
04/25/2008 12:00:49
04/25/2008 12:00:00
04/25/2008 12:00:00
Retry Interval
Address
Credential
5 Minutes
https://yhsapi01:50300/MessagingSystem/receive/CIDXAdapter/CIDX
Transport Headers
Node ID
From the above one can observe that status is delivered and other message details are provided.
CIDX adapter with the available details from the chem. XML message does following
o Validates the digital signature with the action message
o Using the service header information
DUNS number of sender, receiver identifies Sender and Receiver Party
Transaction code, version, Requesting Message and Partner Roles identifies
Sender and Receiver Business Services
o Converts chem. XML message to SOAP message encapsulating content as XML message
derived from Service content
Create the private key in the specified keystore view using "Create" and follow the wizard.
Notice that "Generate CSR Request" is enabled and use it generate CSR Request. Basically this step is
rd
needed to get your certificate issued by 3 party Authority, to be identified as secure partner to carry out
secure online transactions and conduct the business over internet.
When you purchase the certificate that is considered as CSR Response. Select the private key that you have
just created and import it as "Import CSR Response".
Copy these certificates into Trusted CAs and secure_ssl keystore Views.
Step 3: Load the public key of your partner with entire certificate chain (Public Key, Intermediate and Root)
into keystore Views "ICM_SSL_XXXX", Trusted CAs.
In the following screenshot, you can view Verisign as Certificate Authority and chain of certificates.
They can be recognized as Verisign as root, Verisign Class 3 Secure Server CA G3 as intermediate and
business.partner.com as public key.
Create a certificate user say PICERTUSER with adequate authorizations (One of it is XI_AF_RECEIVE).
ii.
iii.
Navigate to NWA >> Configuration Management >> Security >> Identity Management.
Display PICERTUSER, Modify to load the partner certificate(Only Public key).
It basically means when message comes from remote server, certificate is authenticated and then accept to
login through PICERTUSER.
Internally the message is checked whether valid or not by comparing the certificate Authority in
ICM_SSL_XXX and partner through TrustedCAs. If it exists, it passes and then next part of steps is to select
the matching user with the certificate.
iv.
As an additional optional step, you may want to restrict the processing of scenario to this user through
Business component >>Assigned Users in Configuration.
1. CIDX
Adapterhttp://help.sap.com/saphelp_nwpi711/helpdata/en/90/1d17c56bb01f4382342294b9a4a308/f
rameset.htm
2. Maintaining the Users Certificate Information
http://help.sap.com/saphelp_nwpi711/helpdata/en/a7/1cd08ffe25e34799cbbe1a7ecdb8ed/frameset
.htm
3. You may use diagtool provided by SAP, more details are available in note#1045019 Web Diagtool for
collecting traces. This is a very good tool that provides you the visibility on how the message is being
processed.