cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping question - File to Webservice scenario

Former Member
0 Kudos

Hi

I have a text file - that is pulled in by XI - using a ftp adapter - source interface. On the other side - target interface - we have a webservice whose definition is loaded into XI as a external interface defiinition - message type level.

Now , for every record in the text file - I need to call the webservice method- once . The webservice method definition is such that - the top level node has occurence 1-1 and type is blank - The parameters to be passed to the method appear under it -

I tried using split-by-value node function to make the mapping call the webservice method once for each record in my input text file - this results in the webservice method being called just once - not as I expected ( once for each record in my text file )

Where am I going wrong with this ? Is it possible to make the call to the webservice method - with the top level node having the definition described above - once for each record in my source text file ? Since the webservice method has been imported as an external definition ( *wsdl ) , I am unable to put it under any other higher level element .

Any pointers/suggestions as to where I am going wrong - how to make this scenario work will rewarded with full points.

Thanks.

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

Please go to Messages tab in message mapping and change occurance for external definition to 0..unbounded.

Thanks,

Tuhin

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

><i>for every record in the text file - I need to call the webservice method- once</i>

You would need multimapping for this. take a look at this blog for the same.

/people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible

Regards,

Bhavesh

Former Member
0 Kudos

Hi Bhavesh

Thanks for the reply. We do not have an option of changing the webservice definition -

Also, unfortunately, I am on SP13 - I guess I have use BPM to do multi-mapping , right ? Could you forward any links - that illustrate - use of multi-mappings with BPM - through an example ?

Thanks.

former_member91687
Active Contributor
0 Kudos

Hi Karthik,

You do not need to change the web service definition. In the mapping change the occurance of the target message, to 0 to Unbounded.

In the BPM, once the multimapping transformation is done, you can use either a block or a loop step to send the messages. You would also need a container to collect the N messages and send them one by one or parallely.

Regards,

Chandra

former_member206604
Active Contributor
0 Kudos

Hi,

The multimapping with enhanced interface determination will work only from SP14. Yes are you said you would need to go for multimapping with BPM.

/people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure

Also confirm me this if you are using a file with content conversion you have another option of setting Recordset per message = 1. If you set it to 1 it will create N messages so you can achieve the same without BPM or multimapping.

Regards,

Prakash

Former Member
0 Kudos

Prakash

Thanks for the reply. Yes, I have a file content conversion - involved here - I have already specified the value for No.of Recordsets per message as<b> 1</b>.

However, I have specified the value for Recordset Structure as <b>TrkfileRecordset,*</b> - where TrkfileRecordset is my unbounded structure representing each line /record in my file .

With this setting, the whole file is being converted to a single xml message - with the records in the file repeating as multiple TrkfileRecorset nodes. Maybe , if I change the * to a 1 in the Recordset Structure definition - the file adapter will read each file record as a single individual message - as per your suggestion of avoiding a BPM.

Now, the typical volume we expect is 500 lines split across many file during a day - I am thinking - with this volume -whether involving a BPM ( which takes in one message per file and splits it ) or creating one xml message per record in the file ( which would mean 500 xml msgs per day ) would be better -

Please share your thoughts on the options I have with XI SP13 to handle this scenario.

former_member206604
Active Contributor
0 Kudos

Hi,

If you are able to split messge in the content conversion then that would be the best option from performance point of view rather than going for a BPM.

And also check the possibiltes of upgrading the SP to atleast SP14 so that you have lots of options like Adapter-specific messages, Enhanced interface determination etc..

Regards,

Prakash

Former Member
0 Kudos

Prakash

Thanks for sharing your thoughts - I will change settings in file adapters to make each record in the file come into XI as a message - this is going to increase the number of very small msgs processed by XI - but I think this is better than bringing in a BPM into the picture . We are planning to move out of SP13 to SP14 or SP15 very soon.