cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple sender agreements of AS2 communication channel

bull_chen
Explorer
0 Kudos

When set up B2B communication based on AS2 adapter, our partner cannot provide Message subject when sending AS2 message to us.

But when messages come into our system, we need to split it into different IDoc message type.

My idea is to create different Receiver determination for the interface respectively, and filter the determined interface by Condition setup with Xpath. In this Xpath logic, I will ask it to check IDoc message type.

But the first step to me would be to create a Sender agreeement without assigning any explicit interface of IDoc type. I tried to give * in interface of Sender agreement, but our server show the error as below.

My configuration in Sender agreement is as below

Could anyone please advise how I can create a Sender agreement without assign Interface?

Accepted Solutions (0)

Answers (4)

Answers (4)

bull_chen
Explorer
0 Kudos

Problem is solved, I created an interface with multiple operations which are assigned with different IDoc types and corresponding mapping logic respectively, and later in Integration builder when we are to setup Interface determination, the operations assigned in the interface is available in customizing to adapt respective operation mapping object to direct the inbound message to proper Receiver IDoc type.

In runtime, the inbound messages will go through the operations when come to Inteface determination and consequently properly determine the target IDoc type expected at Receiver.

manoj_khavatkopp
Active Contributor
0 Kudos
  • Create a Sender agreement with some dummy interface name and namespace instead of *.
  • Use extended receiver determination , here using some java code identify the idoc/message type and assign that value to the dtSubject using the Dyamic configuration code. Note here the intention is to assign the idoc/message type to the dtSubject .
  • In interface determination give the condition with context object with dtSubject and map it accordingly to your respective mapping..
bull_chen
Explorer
0 Kudos

Could you please give some more detailed information about where and how I can put Java code of Dynamic configurationin in extended receiver determination? Is it possible to give a screenshot?

Thanks a lot for your help.

manoj_khavatkopp
Active Contributor
0 Kudos

Currently i dont have access to the system to provide you the screenshot.

In extended receiver determination you can use a string function to find the idoc type by parsing the input like(input.substring(input.indexOf(<IDOCTYP>),input.indexOf(</IDOCTYP>)); adn the assign he idoc type to a dynamic header like dTSubject (you get a lots of code for dynamic configuration) and in interface determination you can use the conditiion with context objects and excute your required mapping.

However i have another suggestion without using java code :  ( applicable only if you are using PI>=7.1)

Create a Outbound service interface in ESR with multiple operation where each operation will be having the different expected IDOC type.

Now you can use Operation specific in the RD and maintain condition and map it accordingly.

Br,

Manoj

Ryan-Crosby
Active Contributor
0 Kudos

Hi,

Yes, this is what we do with some of our B2B interfaces where we trade several messages with a partner - the one interface with several operations.

Regards,

Ryan Crosby

Ryan-Crosby
Active Contributor
0 Kudos

Hi,

What B2B option are you using and what target IDocs are you referring to?  If you are using the SAP B2B add-on then you should be able to use a dummy interface and pass the EDI payloads over to the EDI separator adapter.

Regards,

Ryan Crosby

markangelo_dihiansan
Active Contributor
0 Kudos

Hi,

Only the SOAP Sender adapter supports * for Interface and Interface Namespace. This is done by checking "Use Encoded Headers" and "Use Query String" options in the sender CC. I believe AS2 does not have this option though, you need to create one agreement/interface.

Regards,

Mark