Multimapping for Synchronous interfaces.

Hi,
Is it possible to do multi mapping for synchronous interfaces.
I have observed that when the cardinality of the target service  interface is changed to 0:unbounded , the response message mapping  tab disappears from operation mapping.
Can anyone please suggest how it can be handled?
I have a requirement to call a webservice and then write multiple files from the webservice response.

Hi Soumya,
i dont think so ...if you think theroitically. you are doing multimapping   where u  have a N:M relation... so it will be difficult match the respose directly.
Since your scenario is syncrhronous, u have to rember the identity of source messgaes and then u need to reply back to those same identitiies. That means u have to use correlations  and that can be achived by BPM.

Similar Messages

  • Dynamic receiver determination for synchron interface

    Hello everybody,
    I want to use dynamic receiver determination for a synchron scenario.
    The problem is, that the interface 'ReceiverDetermination' (http://sap.com/xi/XI/System SAP BASIS 7.00) is a asynchron interface.
    This leads to an error when activating the Interface-Mapping (synch source Interface -> asynch destination Interface ReceiverDetermination)
    Is there a way to use the dynamic receiver determination for synchron interface?
    Thanks a lot,
    Thomas

    Hi Thomas,
    I guess your scenario is not possible ASIS, since XI doesn't support 1:n for sync interfaces (and even if your mapping condition reduces it to 1:1, actually it is still 1:n, since your receiver list is unbounded).
    Theoretically, you could make it work with BPM, though.
    But I've never worked with a Receiver Determination Step reading from an enhanced receiver determination in ID (though there should be no problems).
    Use sync async bridge, then use receiver determination step to obtain the receiver from an enhanced Receiver Determination. Pay attention that this enhanced receiver determination is a dummy one, using a mapping from your async abstract interface to the ReceiverDetermination interface. Once your mapping has determined the receiver, the enhanced receiver determination will return that receiver to the Receiver Determination step in the BPM. Then use this receiver in the sync send step (in mode receiver from receiver list, not from context).
    The receiver determination of the actual sync send step may be a standard one, with the several receivers there (even if there are several there, at the moment of the sending, only one will be used).
    Maybe it will work, maybe not.
    Just try it.
    Regards,
    Henrique.

  • Http adapter at sender side for synchronous interface

    Hi SapAll.
    here for one synchronous interface we using http adapter at sender side.
    i just want to know on how i can get the sender ip adress or url through which they sending the data.
    will be waiting for best asnwer.
    regards.
    Varma

    Http adapter at sender side for synchronous interface
    i cont see any messages in xi producction.
    Is LOGGING_SYNC enabled for your production box....also is the problem just about the visibility of the messages or is your scenario itself not getting executed?
    At least the sender application might have received some error response if posting message to XI was a failure....also if possible check the message monitoring in RWB if you feel an error has occured.
    Regards,
    Abhishek.

  • Enhanced Receiver Determination for synchronous interface.

    Hello!
    Was anyone faced with the Enhanced Receiver Determination? When I try to create
    the definition of the Interface Mapping, I get the error:
    "Interface modi are different. Source interface Message Interface MI_My_sync_iface | urn:my is synchronous. Target interface Message Interface ReceiverDetermination | http://sap.com/xi/XI/System is asynchronous"
    Thank you.

    Hi ,
    U can go through below limks  :
    Illustration of Enhanced Receiver Determination - SP16
    SAP NetWeaver Process Integration: Enhanced Receiver Determination for Synchronous Scenarios
    Enhanced Receiver Determination in SAP XI - Exchange Infrastructure - Wiki
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/xi/enhanced%2breceiver%2bdetermination%2bin%2bsap%2bxi
    Thanks

  • Enabling to see the Source payload for synchronous Interface

    Hi Experts,
    Am working on a SOAP <-> RFC synchronous interface and PI version is 7.4 dual stack. Am unable to see the source payload when a
    message is triggered from the Source Webservice. I can only see the receiver payload in RWB for request msg i.e the RFC payload.
    Even for Response, I can only see the receiver payload which is sent to webservice and not the source payload from ECC on the RFC.
    I have built the interface using ICO. I have made the changes in NWA, by setting the RemoveBody field to false.
    Please let me know if any other settings are required. I have checked all other threads related to this issue and could not find the solution
    to my issue where only the source payload in the synchronous interface is missing. In case of Asynchronous interface, the source payload
    is visible.
    Please assist me how can I enable this.
    Regards,
    Vish...

    Hi Vishwanath,
    Please check the below blog
    Message Staging and Logging Options in Advanced Adapter Engine of PI 7.3x
    regards,
    Harish

  • Multi mapping for Synchronous Interface (RFC)

    Is it posssible to define synch multimapping (RFC)?
    For exmaple my structure is
    request
    <items>
    <item>
    </item>
    <item>
    </item>
    </items>
    I want  to invoke RFC for each <item> and to get response like
    <responseitems>
    <item>
    </item>
    <item>
    </item>
    </responseitems>
    Do I need synch BPM or it is possible without?

    Hi,
    u can do these buy settin the rfc to rfc to unbounded and map the items with the rfc so for every item u will get a rfc.
    u can use <b>packaging</b> to perform the multimapping where u can avoid bpm.just create a external defnition for ur rfc and change the occurance of the rfc to 0..unbounded and use the external definition for mapping.
    so for each <b>item tag a rfc will be generated</b>.
    To get the response give ur inbound interface as synchronous.
    regards
    jithesh
    Message was edited by: jithesh balakrishnan

  • Mapping Issue for Synchronous interface

    Hi Experts,
    We are facing the below issue in a SOAP to RFC synchronous scenario.
    Data from WS is successfully uploaded to RFC via RFC request. However we face the below issue when the RFC response is received.
    com.sap.aii.utilxi.misc.api.BaseRuntimeException:Character reference &quot;&amp;#00&quot; is an invalid XML character.
    We receive this error particularly when one field has the below values.
    <FIELD> X 20140812201409101211 1 USD TP 00000000 </FIELD>
    When we click on view source the same field shows as below:
    <FIELD> &#00;&#00;&#00;&#00;&#00;&#00;&#00;&#00;&#00;&#00;&#00;&#12;&#00;&#00;&#00;&#00;&#00;&#00;&#00;&#00;&#00;&#00;&#00;&#12;X  20140812201409101211            1             USD     &#00;&#00;&#00;&#00;&#12;&#00;&#00;&#00;&#00;&#12;&#00;&#00;&#00;&#00;&#00;&#00;&#00;&#00;&#19;TP&#12;     00000000&#00;&#12;&#00;&#12;&#00;&#12;&#00;&#00;&#12;&#00;&#00;&#12;</FIELD>
    Even while pasting the same source xml from view source in Message Mapping we get the below error:
    Unable to display tree view; Error when parsing an XML document (Character reference "&#00" is an invalid XML character.)
    How is a simple value getting converted to some huge value when we open it using view source.
    Please help me resolving the same.
    Regards,
    Shai

    Hi Shaibayan
    looks like there is inconsistency in the RFC maintained in ECC to PI as non unicode.
    In RFC channel check the flag for Unicode.
    Or
    Write a java mapping to remove the special characters
    Regards
    Osman

  • Does BPM - for a synchronous interface have a performance bottleneck

    Hi All,
    Just have a small query.
    We have a scenario in which we need to receive PO details from a legacy system, create a sales order in ecc and send back a response table to the legacy system.
    Our understanding is that this can be acheived using synchronous ABAP Proxies and also involves BPM and Abstract mappings.
    I beleive that this should not pose any problems. My concern here is that we are confused as to whether BPM would have bottlenecks with performance. Do we have any SAP document or article which mentions that for synchronous interfaces BPM is the only way to go and this would not have a significant impact on the performance.
    Another approach to the problem would be to create an asynchronous inbound proxy, write ABAP code within it and call a seperate outbound asynchronous proxy within the inbound proxy method. This approach looks and sounds very clumsy.
    Kindly let me know your thoughts or any links which would be useful.
    Thanks & Regards,
    Mz

    Hi Aashish,
    Thanks for your quick reply. it was helpful, but i am not using RFC's. Correct me if i am wrong, but i have explained the scenarios in detail below.
    Scenario 1. Synchronous
    1) PI Picks file from a common folder.
    2) PI does a data mapping and sends the data to ECC.
    3) ECC contains an inbound interface which receives the data and in which abap proxy code is written.
    4) The abap proxy code executes a function module and sends the response as an internal table back to PI.
    5) PI receives the response and places it in a text/csv file and places it back to another folder.
    I assume that the above would be possible only using BPM. What i understand is that in order for an interface to receive and send data, abstract mappings are to be used, and for this BPM is required. We do not have any conversions etc. its just a simple matter of receiving an internal table from ECC and creating a file to place in the folder.
    I also understand that BPM could have bottlenecks due to queue and cache issues, messages might be pending, or lost etc.
    Scenario 2. Asynchronous
    1) PI Picks file from a common folder.
    2) PI does a data mapping and sends the data to ECC.
    3) ECC contains an inbound interface which receives the data and in which abap proxy code is written.
    4) ABAP Proxy code executes the same function module and calls a seperate outbound interface and passes the values to it. This would be used in sending the response back.
    5)  PI receives the response from the second interface and places it in a text/csv file and places it back to another folder.
    I would like to know which would be the better approach. Documentation/references to support your claims would be much appreciated.
    Cheers,
    Mz

  • Use JMS For Sync interface

    Hi all ,
    We would like to make a sync interface that retrieve information from the R/3, the send application is at the Mainframe so we use the WebSphere MQ to send the request to the XI using the JMS adapter and than to the R/3 via the RFC adapter (Appl A -> WbSphere MQ -> JMS Adapter -> XI -> RFC Adapter -> R/3 and via versa ).
    Can we use the JMS adapter for that scenario ? can the JMS adapter be used for synchronous interface ?
    Best Regards ,
    Yaki

    Yes you can use JMS. You will still have to interpret the message so you can update the database but your client can do this asynchronously. In other words the client can send the message to JMS and go about doing other things instead of having to wait for the process to complete. We are actually doing this sort of thing and it is working out well.

  • Archiving of Soap header part for a synchronous interfaces

    We have a requirement where we have to retain the soap header details for a longer period for tracking purpose. So is there any option of archiving only soap header part from the message for a synchronous interface.
    More Information about the requirement:
    1. We will be passing some parameters to the XI Soap header.
    2. In the WSDL we will add the header fields, so that the end system can populate them.This is done for tracking and searching the message, end to end.
    3.  Another thing to note, is that, for synchronous messages the payload will not be available (without enabling logging), Can we search the messages using the values in the header?
    4. The above process is done, keeping in mind that when the messages are archived, the XI soap header will be the only thing that will be archived and not the whole payload, and the messages that are archived can be searched or retrieved based on the values in the XI Soap header.
    Regards
    Nitya

    Hi,
    Glad to hear that you solve this issue, thanks for your sharing.
    Thanks,
    Linda Li
    Linda Li
    TechNet Community Support

  • Synchronous Interface to Multiple Receivers

    Hi all,
    I have the following scenario working  great SAP Proxy call out to a Soap Adapter receive the response and update SAP.
    So a single synchronous call to one receiver is working great.
    However I'd like the ability to also publish this information to another system (aynchronously).
    Question can a synchronous interface send to more than one receiver?
    I've read a number of blogs on the the issue the closest two are below but are a little old.
    I'm on PI 7.1 and wondering whether there's something new  I could potentially use message mappings, operation mappings or multiple service interfaces to serve the problem.
    Please note: I can do this in a BPM but I would prefer not to use a BPM.
    Regards,
    John
    Related Blogs
    Enhanced Receiver Determination in Synchronous Senarios - Posted on Dec. 11, 2007
    /people/jin.shin/blog/2007/12/11/sap-netweaver-process-integration-enhanced-receiver-determination-for-synchronous-scenarios
    Multimapping without BPM - Posted on Feb. 07, 2006
    /people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible

    Hi,
    I support stefan synchronous interface cannot be sent to multiple receivers...
    there are lot of questions if at all if need to be supported like how to trace back the hopId for response to the request made..
    lot of other things too..
    Rajesh

  • N:1 Multimapping For Files

    Hi All,
    I am doing N:1 multimapping for files.
    I have 2 senders and 1 receiver.
    I created 2 sender interfaces and 1 receiver interface.
    I did message mapping in which I added 2 sender message types in source and added the target message type.
    I did Interface mapping with 2 sender message interface and 1 receiver interface.
    But i faced problem when creating configurations in ID.
    (a) I am not able to understand how many interface determination/Receiver determinations are required.
    (b) Again I am not getting interface mapping in Interface Determination .
    So can anyone help me to solve this?
    Thanks
    Rabi

    Hi,
    You can use any of the collect message pattern provided. In your case any one of the following can be used:
    1. BpmPatternCollectMessage
    2. BpmPatternCollectTime
    ->There are some patterns in SWC : SAP BASIS --> namespace : http://sap.com/xi/XI/System/Patterns In ESR of your SAP PI System.
    -> please go through this blogs it will help you.
    Correlation – Runtime Behavior of BPM.
    http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/10526. [original link is broken] [original link is broken]
    In Configuration By using of BPM.
    -> two communication channels one for sender and one for receiver
    -> 2 receiver Determinations
              one for Sender to IP.
                One for IP to Receiver.
    -> 2 Interface Dtermination
             one for Sender to Ip
             one for IP two Receiver
    -> 1 Sender agrement.
    -> 1 receiver agrement for (IP to Receiver)
    regards,
    ganesh.

  • SAP PI conceptual best practice for synchronous scenarios

    Hi,
    <br /><br />Apologies for the length of this post but I'm sure this is an area most of you have thought about in your journey with SAP PI.
    <br /><br />We have recently upgraded our SAP PI system from 7.0 to 7.1 and I'd like to document  best practice guidelines for our internal development team to follow.
    I'd be grateful for any feedback related to my thoughts below which may help to consolidate my knowledge to date.
    <br /><br />Prior to the upgrade we have implemented a number of synchronous and asynchronous scenarios using SAP PI as the hub at runtime using the Integration Directory configuration.
    No interfaces to date are exposes directly from our backend systems using transaction SOAMANAGER.
    <br /><br />Our asynchronous scenarios operate through the SAP PI hub at runtime which builds in resilience and harnesses the benefits of the queue-based approach.
    <br /><br />My queries relate to the implementation of synchronous scenarios where there is no mapping or routing requirement.  Perhaps it's best that I outline my experience/thoughts on the 3 options and summarise my queries/concerns that people may be able to advise upon afterwards.
    <br /><br />1) Use SAP PI Integration Directory.  I appreciate going through SAP PI at runtime is not necessary and adds latency to the process but the monitoring capability in transaction SXMB_MONI provide full access for audit purposes and we have implemented alerting running hourly so all process errors are raised and we handle accordingly.  In our SAP PI Production system we have a full record of sync messages recorded while these don't show in the backend system as we don't have propogation turned on.  When we first looked at this, the reduction in speed seemed to be outweighed by the quality of the monitoring/alerting given none of the processes are particularly intensive and don't require instant responses.  We have some inbound interfaces called by two sender systems so we have the overhead of maintaing the Integration Repository/Directory design/configuration twice for these systems but the nice thing is SXMB_MONI shows which system sent the message.  Extra work but seemingly for improved visibility of the process.  I'm not suggesting this is the correct long term approach but states where we are currently.
    <br /><br />2) Use the Advanced Adapter Engine.  I've heard mixed reviews about this functionaslity, there areh obvious improvements in speed by avoiding the ABAP stack on the SAP PI server at runtime, but some people have complained about the lack of SXMB_MONI support.  I don't know if this is still the case as we're at SAP PI 7.1 EHP1 but I plan to test and evaluate once Basis have set up the pre-requisite RFC etc. 
    <br /><br />3) Use the backend system's SOAP runtime and SOAMANAGER.  Using this option I can still model inbound interfaces in SAP PI but expose these using transaction SOAMANAGER in the backend ABAP system.  [I would have tested out the direct P2P connection option but our backend systems are still at Netweaver 7.0 and this option is not supported until 7.1 so that's out for now.]  The clear benefits of exposing the service directly from the backend system is obviously performance which in some of our planned processes would be desirable.  My understanding is that the logging/tracing options in SOAMANAGER have to be switched on while you investigate so there is no automatic recording of interface detail for retrospective review. 
    <br /><br />Queries:
    <br /><br />I have the feeling that there is no clear cut answer to which of the options you select from above but the decision should be based upon the requirements.
    <br /><br />I'm curious to understand SAPs intention with these options  -
    <br /><br />- For synchronous scenarios is it assumed that the client should always handle errors therefore the lack of monitoring should be less of a concern and option 3 desirable when no mapping/routing is required? 
    <br /><br />- Not only does option 3 offer the best performance, but the generated WSDL is ready once built for any further system to implement thereby offering the maximum benefit of SOA, therefore should we always use option 3 whenever possible?
    <br /><br />- Is it intended that the AAE runtime should be used when available but only for asynchronous scenarios or those requiring SAP PI functionality like mapping/routing otherwise customers should use option 3?  I accept there are some areas of functionality not yet supported with the AAE so that would be another factor.
    <br /><br />Thanks for any advice, it is much appreciated.
    <br /><br />Alan
    Edited by: Alan Cecchini on Aug 19, 2010 11:48 AM
    Edited by: Alan Cecchini on Aug 19, 2010 11:50 AM
    Edited by: Alan Cecchini on Aug 20, 2010 12:11 PM

    Hi Aaron,
    I was hoping for a better more concrete answer to my questions.
    I've had discussion with a number of experienced SAP developers and read many articles.
    There is no definitive paper that sets out the best approach here but I have gleaned the following key points:
    - Make interfaces asynchronous whenever possible to reduce system dependencies and improve the user experience (e.g. by eliminating wait times when they are not essential, such as by sending them an email with confirmation details rather than waiting for the server to respond)
    - It is the responsibility of the client to handle errors in synchronous scenarios hence monitoring lost through P-P services compared to the details information in transaction SXMB_MONI for PI services is not such a big issue.  You can always turn on monitoring in SOAMANAGER to trace errors if need be.
    - Choice of integration technique varies considerably by release level (for PI and Netweaver) so system landscape will be a significant factor.  For example, we have some systems on Netweaver 7.0 and other on 7.1.  As you need 7.1 for direction connection PI services we'd rather wait until all systems are at the higher level than have mixed usage in our landscape - it is already complex enough.
    - We've not tried the AAE option in a Production scenarios yet but this is only really important for high volume interfaces, something that is not a concern at the moment.  Obviously cumulative performance may be an issue in time so we plan to start looking at AAE soon.
    Hope these comments may be useful.
    Alan

  • Problem with array type in SOAP response for sync interface

    Hi,
    We have a Synchronous Interface from SAP -->PI-->Unifier .The WSDL response has array type and when WSDL is imported it is showing red (I was able to activate  and use it in mapping) .We are able to send the request successfully and when retrieving the response we are getting mapping error .Please find the attachment for reference and response message from unifier .I feel that the error is because of array type .Could someone throw some light how we can solve this soon as it was a bit urgent .
    http://scn.sap.com/thread/326591
    I tried to create the Data Type and use the same instead of using the WSDL from External Definition but did not helped.Request your help in this.I have attached the WSDL for reference .
    The response is received as shown below which is giving mapping error :
    <ns1:getUDRDataResponse xmlns:ns1='http://diran:12020/ws/services/mainservice' soapenv:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><getUDRDataReturn href='#id0'/></ns1:getUDRDataResponse>
    The complete response looks like below where PI is not able to receive (this is retrieved from SOAP UI)
    <?xml version="1.0" encoding="utf-8" ?>
    - <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    - <soapenv:Body> 
    - <ns1:getUDRDataResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://general.service.webservices.skire.com"> 
    <getUDRDataReturn href="#id0" /> 
    </ns1:getUDRDataResponse>
    - <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:XMLObject" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="mainservice"> 
    <errorStatus soapenc:arrayType="xsd:string[0]" xsi:type="soapenc:Array" /> 
    <statusCode xsi:type="xsd:int">200</statusCode> 
    <xmlcontents xsi:type="xsd:string"><?xml version="1.0" encoding="UTF-8"?> <report> <report_header> <c1>Name</c1> <c2>Number</c2> <c3>Status</c3> <c4>Location</c4> <c5>Phase</c5> </report_header> <report_row> <c1>Test - Sprint 1 - v10</c1> <c2>GB424</c2> <c3>Active</c3> <c4>/North Sea</c4> <c5></c5> </report_row> <report_row> <c1>Test Training 3</c1> <c2>GB424-TRN3</c2> <c3>Active</c3> <c4>/North Sea</c4> <c5></c5> </report_row> </report></xmlcontents> 
    </multiRef>
    </soapenv:Body>
    </soapenv:Envelope>

    Hi Praveen and Mark,
    Thanks for the help.I tried to use XSLT mapping for request and try to read Response as a single string but i was getting an error in SXMB_MONI with Cannot display document format,Do you want too save it to harddisk and i could not get rid of this even after pressing Yes in popup .
    Can some one help to extract only the xmlcontents  from the above response and map it to target where the target structure looks like
    <report>
    <report_header>
    <report_row>
    Please help .

  • How to exclude synchronous interfaces from component based message alerting

    Hi Pi experts,
    We are configuiring Alerts in PI 7.3 single stack.If we have 'n'number of interfaces, and if we configured general alerts for all.How to exclude synchronous interfaces in that.Alerting is for asynchronous interfaces only.How to do that.
    Please advice on this.
    Regards
    Suneel

    Hello,
    >>What are your approaches regarding this requirement in the context of java-only?
    I would suggest you to schedule jobs like this:
    Customize Alerts Using Job in PI 7.31/PO
    >> alerts are consumed according to the given interval and not in "real time" when error occurs, today solution using BADI is "real time" - if possible I would prefer "real time" solution
    Check this:
    Michal's PI tips: How to trigger an alert for Component Based Message Alerts (CBMA) via "API" ?
    >>an separate service determine the actual alert count would be helpful to provide the correct value for maxAlerts, this have to be called beforehand
    I haven't tried it but i think u can do that, since these consumers are nothing but JMS queues only so i think there will be a method to read number of alert counts.
    >>In history I saw emails generated by the standard alert consumer which only contain details for the first alert, in my case I need details especially the message id for all errorneous messages
    If ur max alert parameter is greater than 1 then u should see multiple alert text  (along with message id and other details) in ur email message.
    Thanks
    Amit Srivastava

Maybe you are looking for