cancel
Showing results for 
Search instead for 
Did you mean: 

Usage of Module processor in SOAP Receiver Adapter

Former Member
0 Kudos

Hi,

I have scenario where I am calling an external Web Service via XI. Unfortunately I need Java Mapping to generate the complete SOAP Message (there are some special header elements required by the Web Service) and flag 'no soap' in the SOAP Receiver Adapter. This works fine, but I have additional Web Service Calls that have the same Header logic and I don't want to use Java Mapping all the time.

I was wondering if it is possible to use graphical User Mapping for the Business Data that goes to the SAOP Body as a payload and use Java code to generate the SOAP Message (actually the SOAP Wrapper and the Header).

Can I do this in XI using the Module processor in the SOAP Receiver adapter or do I have to use two mappigs, one based on the Graphical mapping and another using Java Mapping? Is it feasible at all in XI?

Thanks in advance.

Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

HI Alexander,

You have to have one java program in any case for your scenario....

Now if you can clearly distinguish between the two scenarios, by means of some value in the payload/some value in the message header, then it would be quite simple to have a java program and a graphical mapping for your scenairos and have a complex interface determination with conditions in them....

However, looking from the other side what is the advantage that we can have with writing an adapter module in your case....You have one common mapping to get the payload and the adapter module creates the soap body at the adapter while sending.....

if there are any changes in the mapping spec in future , you need to make changes in one place only so managing it would be easier.......

Thanks,

Renjith

Former Member
0 Kudos

iwould suggest to use JAVA mapping as this does not care about XML structure.

so it would not problem while genreatingthe XML .

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

You can use Module Processor.

But,

1. If it is a synch call, in when the message is going from the SOAP adapter to the Webservice, you will need to manually Add the SOAP header as you want . ( you will need to create the entire SOAP mesage as the output of the Module ).

2. When the response comes back, the same module will need to remove the SOAP header etc and pass a valid , XML message to the Graphical mapping.

If you have a requirement that some fields of the SOAP header will be needed to be accesed in the Response mapping, then you would need to either add this field to some field in the response payload.

Better option would be to use, Either a Java or a XSL mapping that does all the required stuff for you.

Regards

Bhavesh

Former Member
0 Kudos

HI,

Also see the below link

Multiple mappings into one Im -

Regards

Chilla...

Former Member
0 Kudos

Hi,

I hope ,you can achieve this by using multiple mappings

from mapping1 to target

target to mapping 2

..

Also see the below links

How to access the Header info -

Adapter-Specific Message Attributes :- http://help.sap.com/saphelp_nw2004s/helpdata/en/29/5bd93f130f9215e10000000a155106/content.htm

Regards

Chilla...

<i>Points rewarded if it is useful..</i>