cancel
Showing results for 
Search instead for 
Did you mean: 

PI Mapping query

former_member183906
Active Contributor
0 Kudos

hi

my scenario is soap to proxy.

In proxy response onerequirement is like this :

fieldname is Reference, which can come n number of times. like In response it may come-

Reference1=10,Reference2=20

OR sometimes only Reference1 will come

OR some times till Reference5 can come in response.

How this can be handled in proxy response and in ESR what i need to do for message structure like this.

Accepted Solutions (1)

Accepted Solutions (1)

iaki_vila
Active Contributor
0 Kudos

Hi,

May be i  haven't so clear your issue, if it is about the structure, you can set an XSD, for your inbound SI response similar than this:

Regards.

former_member183906
Active Contributor
0 Kudos

Hi,

Thanks,But This reply does not help me much.

My requirement is SAP response will come like this-

<ns0:Test_MT>

  <Reference1>1246</Reference1>

</ns0:Test_MT>

or

<ns0:Test_MT>

  <Reference1>6454</Reference1>

  <Reference2>9826</Reference2>

</ns0:Test_MT>

or

<ns0:Test_MT>

  <Reference1>8474</Reference1>

  <Reference2>7363</Reference2>

<Reference3>8564</Reference3>

</ns0:Test_MT>

This Reference field is not fixed.In response it may come upto ReferenceN.

How to receive this field in Proxy response and how to deal with it in mapping. In Datatype of Proxy response I can not make n number of Reference nodes.

Thanks

Former Member
0 Kudos

Hi,

  You can create one field Reference and declare the occurrence of this field 0..unbounded. Hope that solves your proxy structure issue.

If you could throw more light on the SOAP response structure then more inputs can be provided on solving the whole issue.

Regards

Charan

manoj_khavatkopp
Active Contributor
0 Kudos

Hi,

why don't you change the occurrence of reference field to 0..unbounded, then you can receive as many times as you want , but can you please clarify what you want to do if you once you receive the response just pass them as or you need to add all those reference and map to only one field?

br,

manoj

former_member183906
Active Contributor
0 Kudos

i have already put 0 to unbounded..

i want to pass the reference1 to referenceN as it is.

I created a single reference field and i did 1:1 mapping. In 1:1 mapping only 1st reference1 value is passed,others are not.

In this there is another limitation that I have to make a single field reference and pass all. I can't make reference1 to reference N field ,as i do not know how many reference will come in response.

former_member184720
Active Contributor
0 Kudos

>>>In this there is another limitation that I have to make a single field reference and pass all. I can't make reference1 to reference N field ,as i do not know how many reference will come in response.


Change your structure to

<ns0:Test_MT>

  <Reference>

     <Value>12345</Value>

</Reference>

  <Reference>

     <Value>abcdf</Value>

</Reference>

</ns0:Test_MT>

If you define only field <reference1> then is it proxy which is sending additional segments <reference2><reference3> etc dynamically?

If so in your response mapping, right click on <ns0:Test_MT> -> return as xml -> write a UDF to extract the values from reference<n> fields and map it to target structure.

iaki_vila
Active Contributor
0 Kudos

Hi,

You can generate in the response a response tag and inside this generate all your response, obviously in XML notation, encapsulated with a CDATA. Later, at mapping level you can unwrap that response with a XSLT for example.

Regards.

Answers (0)