cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping based on MESSAGETYPES and generic sender interface?!

Former Member
0 Kudos

Greetings,

can someone help me with this. We are using PI711.

We have a sender Comm channel that is MQ based. The content of each single message is can be a different messagetype. We want to have a comm channel reading the message, letting the receiver determination "taste" the messagetype and route this to the appropiate interface and mapping.

How is this possible? Can we use xpath to look for messagetype's and not content? (maybe the extended receiver determination)

The sender interface, I guess, should be "generic" and maybe contain only one field being of type string?

Hope to hear from somebody on this.

thanks in advance

Accepted Solutions (0)

Answers (1)

Answers (1)

stefan_grube
Active Contributor
0 Kudos

Just create an interface with several operations. That is just made for this scenario.

The operations are identified by root tag name, mapping and receiver determination is based on operation, so you need no extra routing rules.

Former Member
0 Kudos

Thx for your reply.

So you suggest having one operation for each message type and then using "operation specific" receiver determination?

"Communication Party" and "Communication Channel" would be identical but the routing for each operation would be different. But how to specify the condition for "root tag name" using xpath? When selecting xpath it kinds of implies that I must use content and not "messagetypes"?

Thx again

udo_martens
Active Contributor
0 Kudos

Hi,

>But how to specify the condition for "root tag name" using xpath? When selecting xpath it kinds of implies that I must use content and not "messagetypes"?

Just trust Stefan, he wrote: "The operations are identified by root tag name, mapping and receiver determination is based on operation, so you need no extra routing rules".

Regards,

Udo

Former Member
0 Kudos

Sorry Udo, but when he is saying it like that - does that mean that it will go to whatever message type that matches the messagetype in the operation?

Like this:

Operation A ( defined with messagetypeA) - will automatically be "coupled" with MessagetypeA

Operation B ( defined with messagetypeB) - will automatically be "coupled" with MessagetypeB

.... etc?

udo_martens
Active Contributor
0 Kudos

Hi,

you create a (outbound) interface, you have to create an operation for each sender message type. (Design Time)

If a message arrives (Runtime) the operation will be identified by the root element (->message type).

Mapping rules and Routing (Configuration time) is dependend from operation -> you dont need X-Path

Regards,

Udo

stefan_grube
Active Contributor
0 Kudos

> Like this:

> Operation A ( defined with messagetypeA) - will automatically be "coupled" with MessagetypeA

> Operation B ( defined with messagetypeB) - will automatically be "coupled" with MessagetypeB

yes. The operation name is identified automatically.

Let's say your interface is:

invoice

-> create MT inv_crea

-> update MT inv_upda

-> reverse MT inv_rev

then the operation create is identified, when incoming payload has message type inv_crea, that means the root tag name is inv_crea.