on 11-04-2015 2:12 PM
Hello
I am using SAP AS2 adapter for receiving different message types of idoc-xml from third party.
the probelm comes on how to receive different idoc types from the same sender channel.
As of now, the AS2 header is configured to receive *. which means to receive anything. I can't use the subject as it has fixed value whereas the message id is also different each time.
Since I am not receiving EDI file, I can't use edi splitter.
The only other way of thinking is to set up different url path for different sender, even that option is not possible as I have reverse proxy setup by my infrastructure team which means the third party has only one url to send to our system.
Any ideas is appreciated ?
Regards
Sam
Hello Ryan
Thanks for your replies.
If i manage to convince the sender to send me with different subjects with each of the message type, then can i have three different channels listening to the messages with different subject.
Will that work? Can I able to differentiate the messages if the subject is different?
if not, the expected url path , is this the sender url path, if i ask the sender to use different url path, even that will work isn't ?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Sam,
Yes, you can use the option in the AS2 Sender channel of "Set dynamic parameters" and the AS2 subject field will be recorded into the dynamic configuration. Several different AS2 parameters then become available and can be used for condition based message routing. One word of caution however is that if you then use the "Respect Parameters" option on an AS2 Receiver channel and have any 997s the system will carry over the incoming URL as the place to send the 997 so you will end up sending it back to your own system instead of the intended target.
Regards,
Ryan Crosby
Hello Ryan
I think i lost you.
I was under the assumption that if you configure two scenarious with two sender channels with .* and only the subject being unique in each of those sender channel, the AS2 sender listener will check and take only the appropriate message relevant to the subject. There is no additional routing needed as that one particular sender channel will receive only Orders and another will receive delivery.
Hi Sam,
Yes, you can also do it that way but that amounts to more channel maintenance - whereas in the other approach you would have only one channel for all incoming transmissions and then based on your iFlow definitions you can determine your sender/receiver interfaces and target system appropriately.
Regards,
Ryan Crosby
Thanks Ryan
Let us see what my trading partner says tomorrow.
I am thinking of following options.
1. Unique Subject for each channel
2. Unique filename for each message
3. Give different url for each message. I believe I need to specify this in the expected url path.
For eg., if my general AS2 is host.port/AS2 then i need to give three different url to sender and specify in auth/ORDERS in the channel. Please correct me.
Hi Sam,
I would likely tackle it something like this:
1. Create one or more external definitions that contains all my required IDoc message types:
2. Create a multiple operation service interface that contains all my required IDoc message types - (if more than one functional kind maybe use something like IDOC instead of ORDERS as the name😞
3. Create a flow with operation specific receiver determination so you can enforce the target IDoc:
Regards,
Ryan Crosby
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Ryan
I was thinking of this idea, but unfortunately the sender has started discussing about generic messages, remittance advice and orders.
And the XSD for each on of them are different. So, I think it is quite difficult unless the sender agrees to send something unique in the subject field for each of the message which will simply solve the issue .
Tell me something, Like SOAP adapter, does the AS2 adapter looks for matching the sender interface? i.e AS2 sender channel is configured to receive ORDERS05 but instead sender sends DELVRY05. If this is the case, although my scenario gives me error, still the message will be received at my side isn't.
What I am planning is to have the same sender channel for each of the REMADV/DELVRY05 and ORDERS05 and try to handle it in the receiver determination. Will this work?
If the sender has specified a unique filename or subject it will be easy to differentiate the messages.
Regards
Krish
Hi Sam,
Yes, the AS2 adapter will look for a matching message type to figure out the receiver determination but not in the event that you use a dummy sender/receiver interface. If you use an interface defined in the ESR then the system will try to recognize the message type in order to figure out where it needs to go. Because of this possibility you would not need an additional field to manage the routing if you were to group the IDocs the way I have mentioned. Of course that is an option but it requires a bit of additional work instead of simply exporting existing definitions and re-importing them in a different format.
Regards,
Ryan Crosby
User | Count |
---|---|
95 | |
11 | |
11 | |
10 | |
9 | |
8 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.