cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple operation in one Interface

Former Member
0 Kudos

Dear experts,

I found some interface(both outbound and inbound) contains multiple operation in it, and don't understand how a message got processed correctly in such a way...

Suppose 2 operation(Op1 and Op2) in an outbound interface, and message type of Op1 and Op2 is different, means their structure is different.

then, when a message is going to be sent by this interface, how does PI know which Operation(message type) should be used to contain this message?

Same doubt for Inbound interface.. when a message going to be received by this interface, how does PI know which Operation(message type) should be used? No specific condition in Interface Determination-- just list these 2 Operation there, and PI will automatically know which operation should be used...

Greatly appreciated for any input, thanks a lot !

Accepted Solutions (0)

Answers (3)

Answers (3)

iaki_vila
Active Contributor
0 Kudos

Hi Hallong,

A few cents,

how does PI know which Operation(message type) should be used to contain this message?

From outbound interface perspective you can see the Operation like another parameter more when the a client call the interface, like the URL.

More technically speaking:

A PortType defines a number of operations  in the abstract. Operation elements wi thin a PortType define the syntax for calling all methods in the PortType. Each operation element  declares the name of the method, the parameters (using <message> elements), and types of each (<part> elements declared in every <message>).


Same doubt for Inbound interface [...] when a message going to be received by this interface, how does PI know which Operation(message type) should be used?

From inbound perspective you are pointing in the operation mapping which is the operation for the inbound interface, in integration directory inside interface determination you are pointing the operation mapping to be used.

Regards.


Former Member
0 Kudos

Thanks for the technical explanation, Vila.

stefan_grube
Active Contributor
0 Kudos

When you have an inbound interface with several operations, you specify the operation in the interface determination. Therefore you have to assign the SWVC for the interface in the interface determination, so PI reads the operations from ESR.

For the inbound interfaces, PI determines the operation from root tag name. This is only possible, when your incoming message contains XML.

Former Member
0 Kudos

Thank you, Stefan.

However, I am not sure why I can't set anyone's answer as correct/helpful answer due to unknown reason...

Thanks again for your explanation.

ambrish_mishra
Active Contributor
0 Kudos

Hi,

Since you have defined these operations(pointing to different message types) under the respective inbound/outbound interface, once the message is received, the interface to operation mapping is done impleicitly by the system and the mapping executed specific to operation.

For example, if an outbound interface is SALES_ORDER, you can have 2 operations for create and change of a sales order and the message types for the respective operations and the different functionality is handled by the system based on operations.

Hope it answers your query.

Ambrish

Former Member
0 Kudos

For example, if an outbound interface is SALES_ORDER, you can have 2 operations for create and change of a sales order and the message types for the respective operations and the different functionality is handled by the system based on operations.

This is a good example... can you please explain more specifically how different operations for respective functionality(create & change) is handled by the system?

For example, source is sent with File adapter, FCC or MTB is used to convert the message to XML and going to sent it to IE for pipeline steps.

Since 2 operations within this sender interface, how does PI know which operation should be matched with the converted XML by FCC(MTB)?

As per the answer from Stefan, my understanding is my example above(file adapter) can't be possible to apply multiple operation, since PI is based on the root element name to decide which operation to be matched, since only XML contains root name, it is only applicable for incoming message in XML format.

ambrish_mishra
Active Contributor
0 Kudos

Hi,

>>>>> can you please explain more specifically how different operations for respective functionality(create & change) is handled by the system?

Stephan has responded to this query already. This can be specified in Interface determination and picked by the system based on schema which is different for each operation.

>>>>>>>>>As per the answer from Stefan, my understanding is my example above(file adapter) can't be possible to apply multiple operation, since PI is based on the root element name to decide which operation to be matched, since only XML contains root name, it is only applicable for incoming message in XML format.

Yes, I think your understanding is right.

Cheers