ESB response mapping using request data

Hello all,
I've an ESB routing service that invokes a SOAP service sinchronously an the gives the response back. Do you know if there is a way for to use mapping data from the request when mapping the response?
I know you can use data from the request sent to the SOAP service using the ESBREQUEST variable but can you have access to the data received as a request to the routing service?
Thanks in advance,
Regards

Data enrichment is difficult to achieve since you cannot declare variables in Oracle ESB project to store temporary data. ALSB does have such a mechanism.
The ESBREQUEST parameter can solve this problem in some cases in Oracle ESB. However if you need process data from "earlier on in your ESB flow" that won't do. Some possibilites are: use BPEL instead of ESB to implement such composite services since BPEL can store process data. However, this will give a apreformance penalty since ESB is faster. Or use a hack in which you disable payload validation in ESB (default is already off), concatenate the original XML data to the SOAP service input data, and now you can access the original data through ESBREQUEST. However, this is a hack (you're sending invalid XML according to the XSD of the SOAP service) and the XSL Mapping tool won't be able to visually display the mapping.
Regards, Ronald

Similar Messages

  • HT4053 Does the navigation feature on The new Apple maps use your data allowance?

    Does the navigation feature on The new Apple maps use your data allowance?

    Anybody found an answer to this one yet?

  • Need help on how to create the simple mapping using ORACLE DATA INTEGRATOR

    Hi guys,
    am new to learn odi.. please share me or steps how to develop the simple mapping using ODI...

    Hi,
    I am a newbie to Oracle Data Integrator as well. You should have a look here first; http://www.business-intelligence-quotient.com/?p=379
    Try to play around with ODI and then come back if you have specific questions. You should better move to this ODI-forum; Data Integrator
    Good Luck,
    Daan Bakboord
    http://obibb.wordpress.com

  • How to store the value of request message and use it in Response mapping

    Hi All,
    We have an requirement where we need to store the data coming in Request Mapping and use the stored value in Response Mapping. Can anybody help us in how to proceed?
    Thanks
    Sujata

    Hi!
    In Mapping you may use the RFC Lookup function to store values in database table during request mapping and to read values from database table during response mapping.
    You can also use an ABAP or Java Mapping "in front of your" message mapping to store/read the values.
    You can also use an Adapter Module (if applicable for the adapter type you use) and/or a UDF to store the data e.g. in Dynmaic Configuration Header of Request Message and to read these data from Dynamic Configuration Header of Response Message. But this works only for synchronous scenarios (and it means overhead in your message traffic).
    Hope these thinkings help you o find the most suitable way for your concrete scenario!
    Regards,
    Volker
    Note:
    These techniques help you to avoid using BPM.
    Edited by: Volker Kolberg on Aug 27, 2009 11:18 AM

  • Synch SOAP scenario - access request data as part of response mapping?

    Hello experts,
    I have a synch SOAP scenario which is working but I want to improve the error handling.
    Under normal situation I send the SOAP request and the remote web service responds with a given message structure which includes my invoice number as a key field. I then create an IDOC with this number and processing is great.
    However, sometimes there is an error response from the web service which follows a different message structure and does not include the invoice number :-(
    There could be many reasons for this error such as a field was missing or wrong format or even we ran out of prepaid web service calls (this is to get a government approval of invoice which we pay for in groups of approvals).
    When they respond with an error I would like to send this information in IDOC to SAP, but I have no invoice number to tie the response to. Therefore the information is kind of useless in ERP. Is there a way in PI for a response message to reference the synchronous request data we sent to the web service in the first place?
    Many thanks for your ideas,
    -Aaron

    Hi Aaron,
    Also you can define static variables Sharing data between message mapping in PI 7.1
    About Mark suggestion you have an interesting Adarsh Dhingra's blog here Sharing data between two message mappings through Dynamic Configuration
    I think the better way is to use the Harish approximation because is the solution more standard.
    Regards.

  • How to polulate data from lookup using request dataset in OIM 11g

    Hi,
    Using Request dataset in OIM 11g, I need to display one dropdown with the roles those need to come from Lookup.
    For Ex; I have 2 resources,i.e Resource A and Resource B. Resource A has 5 roles and Resource B has 3 Roles.
    While creating a request, If I select Resource A, then I should be able to get 5 Roles and if I select Resource B then I should be able to see corresponding 3 roles.
    Pls. note I have only one Look up definition , where I have roles for both Resource A and B.
    I have done simillar thing in OIM 10g , however I am unable to do it using OIM 11g Request dataset.
    Pls suggest.

    Hi BB,
    I am trying to follow up your response.
    You are suggestng to use prepopulate adapter for to populate respource object name, that means We have to just use an sql query from obj tabke to get the resource object name. right ?? it could be like below, what should I have entity-type value here ??
    <AttributeReference name="Field1" attr-ref="act_key"
    available-in-bulk="false" type="Long" length="20" widget="ENTITY" required="true"
    entity-type="????"/>
    <PrePopulationAdapter name="prepopulateResurceObject"
    classname="my.sample.package.prepopulateResurceObject" />
    </AttributeReference>
    <AttributeReference name="Field2" attr-ref="Field2" type="String" length="256" widget="lookup-query"
    available-in-bulk="true" required="true">
    <lookupQuery lookup-query="select lkv_encoded as Value,lkv_decoded as Description from lkv lkv,lku lku
    where lkv.lku_key=lku.lku_key and lku_type_string_key='Lookup.xxx.BO.Field2'
    and instr(lkv_encoded,concat('$Form data.Field1', '~'))>0" display-field="Description" save-field="Value" />
    </AttributeReference>
    Then I need think about the 'Lookup.xxx.BO.Field2' format.
    Could you please let me know if my understanding is correct?? What is the entity-type value of the first attribute reference value?
    Thanks for your all help.

  • Store value from request message to be processed in response mapping

    Hi,
    I have the following synchronous scenario:
    R/3 (ABAP Proxy) <>  XI/PI <> 3rd party Web Service
    I need to reference a value in the sender (request) message in the response mapping.
    For example:
    A request with a user ID is received from R/3 to XI/PI.  I want to store the user ID in the request message.  A response is received from the web service.  I then want to use the user ID in the response mapping.
    I believe XI/PI can meet this requirement with a BPM using container or possibly using a custom table to store Message GUID and the variable value in the request message mapping.
    Are there any other methods that can be used to meet this scenario?
    Thanks and regards,
    Duke

    Hi All,
    This is the first time I've encountered such a requirement.  Most of the time we create our own programs that call the sender proxy, so to interogate the results and call another proxy would be the ideal solution.  But, in this case the standard LSO process controls the execution of the proxy.  We may look into doing an enhancement to the standard code, but I was looking for a way we can do this in PI with minimal effort.
    As Stefan stated, I also noticed that the DynamicConfiguration is emptied in the response.
    We will explore the use of BPM, but from what I can see, utilizing a custom table with the runtime constant MESSAGE_ID may be the simplest solution in PI.
    Thanks and regards,
    Duke

  • Request groups to responsibility mapping

    Hi I have used the following query to get list of programs mapped to request group and responsibility combination.
    I feel that i may be missing some programs. Do you have an idea of what does request_unit_type = 'P' stand for and what could be other possible values.
    SELECT responsibility_name , frg.request_group_name, fcpv.user_concurrent_program_name, fcpv.description
    FROM fnd_request_groups frg, fnd_request_group_units frgu, fnd_concurrent_programs_vl fcpv, fnd_responsibility_vl frv
    WHERE frgu.request_unit_type = 'P'
    AND frgu.request_group_id = frg.request_group_id
    AND frgu.request_unit_id = fcpv.concurrent_program_id
    AND frv.request_group_id = frg.request_group_id
    ORDER BY responsibility_name;

    REQUEST_UNIT_TYPE: Is a flag to indicate whether the report, report set, or all reports and sets in an application are included in the report security group.
    - P means a report
    - S means a report set
    - A means all reports and sets in an application
    All details about Oracle E-Business Suite tables and columns can be found at:
    Oracle eBusiness Suite Electronic Technical Reference Manual - eTRM
    https://etrm.oracle.com

  • Using Request Response Bean Module in FILE Adapter

    Hi Experts,
    Can we use Request Response Bean Module in FILE Adapter in reverse way. That is can we configure thses adapter modules in Reciever file channel and call a sender file channel in it?
    My case is RFC to File synchronous case? How do we do this?
    Thanks & Regards,
    priyanka

    Can we use Request Response Bean Module in FILE Adapter in reverse way. That is can we configure thses adapter
    modules in Reciever file channel and call a sender file channel in it?
    My case is RFC to File synchronous case? How do we do this?
    The above is not possible....Bean works only for Sender channel and not for Receiver.....requirement not possible using even a BPM as FILE does not support SYNC communication in receiver end......max you can do is split the scenario into SYNC-ASYNC bridge.
    Regards,
    Abhishek.

  • When I activate my Firefox e-mail account using Yahoo, the response is "bad request" and I can't open my mail.

    I use Yahoo as my search engine...I use an e-mail account. When I activate the icon for mail..the response says "bad request". What is happening

    This issue can be caused by corrupted cookies.
    Clear the cache and the cookies from sites that cause problems.
    * "Clear the Cache": Tools > Options > Advanced > Network > Offline Storage (Cache): "Clear Now"
    * "Remove the Cookies" from sites causing problems: Tools > Options > Privacy > Cookies: "Show Cookies"

  • Help using Stringification to map to legacy data

    I am trying to map some JDO classes to legacy data in an existing Oracle
    database. Some of the columns are of type varchar2 which contain binary data
    I am trying to convert this data to java types using the Stringification
    mechanism in Kodo 2.5.0
    Everything seems to be set up OK except that I don't seem to be able to get
    byte values outside the range of 0 to 127 from the Strings passed to the
    field factory methods. It seems that the data in the Strings has been anded
    with 0x7f before being stored in the String. I am not sure where this would
    be happening, i.e. at the jdbc level or somewhere in Kodo or in the String
    itself.
    Any suggestions as to what I am doing wrong?
    Will it even work? or do I need to find some other way?
    ps I am wrapping the String in a ByteBuffer and using the methods provided
    to reconstruct the integer values.
    Regards,
    Andreas

    Abe,
    Thanks for the reply.
    I have tried to create a custom field mapping using the sample in custom
    proxies although I must be doing something wrong.
    In the load method if I call rs.getString (index) there is no exception
    however if I try to call rs.getBytes (index) I get an exception.
    Not sure what to set where to overcome this.
    I have set the type of the column to SQLTypes.STRING in the install method,
    ie.
    super.install (.......);
    getDataColumns ()[0].setType (SQLTypes.STRING)
    Any pointers would be appreciated.
    TIA
    Andreas
    Or create custom field mappings for those fields.
    Unfortunately our documentation on custom field mappings is pretty sparse
    (as in: right now it's just the Javadoc).

  • Getting error "Invalid or no mapping to system data types found" after sending file

    Dear Experts,
    I am successfully able to send file from client to gateway using "CREATE_STREAM". After request is completed i am receiving reponse like this
    "Invalid or no mapping to system data types found". I dont know where i went wrong.
    Did anyone experience same issue?
    Pleases suggest.
    Regards
    Prabaharan

    Hi Peter,
    Good to know that it helped you.
    Problem i am having is I dont have this method "SET_AS_CONTENT_TYPE( )" in class "/IWBEP/IF_MGW_ODATA_PROPERTY" because of my SAP Gateway system SP release level is less.
    So i wasn't able to use this snippet.
    IF lo_entity is BOUND.
      lo_property = lo_entity->GET_PROPERTY( IV_PROPERTY_NAME = 'ContentType' ).
      lo_property->SET_AS_CONTENT_TYPE( ).
    ENDIF.
    Is this the reasin i am not getting correct XML response back?
    Regards
    Prabaharan

  • Password Field not mapped between Request and Provisioning Form

    Hi to all. I'm working with OIM 11g. I've faced a strange issue. I'm not sure I'm working properly, so let me explain you my case. In my installation I've got the SSH connector, which is correctly connected with the physical resources. I've loaded the resource dataset ProvisionResourceSSH User bundled with the connector. Consider now that the user "goofy", with "ALL USERS" role, tries to make a request Provision Resource SSH User (Request Based provisioning). He fills in all the field in the appropriate manner, but when OIM triggers "Create User" provisioning task, after the required approval process, the password field is always blank (although goofy filled it in!!!).
    I've thought: "ok, it seems a role trouble". And effectively, if goofy has got also the role "REQUEST ADMINISTRATORS", the provisioning form shows the password field correctly valued (as goofy stated in his request).
    Note that all the fields are correctly mapped between request dataset and the provisioning form (I'm using the original dataset and the original provisioning form installed by the connector). So all other fields filled by goofy on the request form (request based provisioning) are correctly passed to the provisioning form. All the fields, except for the password.
    Am I wrong in something? How Could I make possible to pass the data filled on the request for the password field to the provisioning form even if the requester has not the role "REQUEST ADMINISTRATORS"?
    Thank you in advance for the help.

    This sure seems goofy! ;-) ... can you try making the ALL Users have all the permissions on the Resource Object and the Process Form and test it out? Also try from the backend at the database and see if the table has NULL for the password field? ... What's the type of password field in the dataset and the process form? Encrypted/Secret at both ends or mis match? Try making them plain text both the places as well.
    -Bikash

  • Unable get complete filepath from jsp page using request.getParameter()

    Hey all,
    i am actually trying to get the selected file path value using request.getParameter into the servlet where i will read the (csv or txt) file but i dont get the full path but only the file name(test.txt) not the complete path(C:\\Temp\\test.txt) i selected in JSP page using browse file.
    Output :
    FILE NAME : TEST
    FILE PATH : test.txt
    Error : java.io.FileNotFoundException: test.txt (The system cannot find the file specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:106)
    at java.io.FileReader.<init>(FileReader.java:55)
    at com.test.TestServlet.processRequest(TestServlet.java:39)
    at com.test.TestServlet.doPost(TestServlet.java:75)
    JSP CODE:
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>DEMO SERVLET</title>
    </script>
    </head>
    <body>
    <h2>Hello World!</h2>
    <form name="myform" action="TestServlet" method="POST"
    FILE NAME : <input type="text" name="filename" value="" size="25" /><br><br>
    FILE SELECT : <input type="file" name="myfile" value="" width="25" /><br><br>
    <input type="submit" value="Submit" name="submit" />
    </form>
    </body>
    </html>
    Servlet Code :
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException, FileNotFoundException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    try {
    String filename = request.getParameter("filename");
    out.println(filename);
    String filepath = request.getParameter("myfile");
    out.println(filepath);
    out.println("<html>");
    out.println("<head>");
    out.println("<title>Servlet TestServlet</title>");
    out.println("</head>");
    out.println("<body>");
    out.println("<h1>Servlet TestServlet at " + request.getContextPath() + "</h1>");
    if (filepath != null) {
    File f = new File(filepath);
    BufferedReader br = new BufferedReader(new FileReader(f));
    String strLine;
    String[] tokens;
    while ((strLine = br.readLine()) != null) {
    tokens = strLine.split(",");
    for (int i = 0; i < tokens.length; i++) {
    out.println("<h1>Servlet TestServlet at " + tokens[i] + "</h1>");
    out.println("----------------");
    out.println("</body>");
    out.println("</html>");
    } finally {
    out.close();
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    processRequest(request, response);
    Needed Output :
    FILE NAME : TEST
    FILE PATH : C:\\Temp\\test.txt
    Any suggestions Plz??

    As the [HTML specification|http://www.w3.org/TR/html401/interact/forms.html] states, you should be setting the enctype to multipart/form-data to be able to upload files to the server. In the server side, you need to process the multipart/form-data binary stream by parsing the HttpServletRequest#getInputStream(). It is a lot of work to get it to work flawlessly. There are 3rd party API's around which can do that for you, such as [Apache Commons FileUpload|http://commons.apache.org/fileupload] (carefully read the User Guide how to use it).
    You can also consider to use a Filter which makes use of the FileUpload API to preprocess the request so that you can continue writing the servlet code as usual. Here is an example: [http://balusc.blogspot.com/2007/11/multipartfilter.html].

  • Sending Multiple response for a request

    Hi,
    I have a HTML form and have used a post method to send the details in the form to my web service. Inside my web service, I perform a validation with the data received and send back a error message if the data received is not proper.
    Suppose if the data is proper, I am querying a database and after all the processing is done,I am invoking a URL.
    I just want to know a couple of things.
    1.) In case the input data to my web service is fine, can I send back a response saying that the data receieved is proper and then continue with the other processing like querying the DB for the same request? I need to do the actual process also and then invoke a url in the end.
    2.) If not, in case the input data is proper and after all the processing is done, can I inovke the url by using sendRedirect func of the response object and also finally return the status for that particular request?
    Eg: public String FuncA(){
    //Some processing with input data
    try{
    servletResponse.sendRedirect(URL);
    return "Successfull"
    Will the above one work? Like am invoking a URl using redirect and then finally am returning a message back. Will both the things together work? Both the url to which it is returned as well as the url given in the redirectmethod() is different.
    Please provide some inputs.
    Thanks in advance.

    Hi,
    I am using REST webservice. Also, currently there is no session being maintained or any request object. Currently, the input to the webservice will be obtained as a string value. After some processing with the input, I have to invoke the URl as well return a message to the one that calls this webservice.

Maybe you are looking for

  • Graph image not getting displayed when navigating from another page

    Hi All, I have implemented a line graph in ADF with "dept no"(in x-axis) and "avg sal"(in y-axis). When I am going to run only this graph page, its showing proper data. But,when I am trying to navigate from another jspx page (which is under some pack

  • IPod touch 5G release date

    I want to buy an IPod but there have been some roumors around that a new iPod touch will be announced.But please tell the release date of the next gen ipod touch. And what are possible updates for the new touch? And should I wait for 5th generation o

  • USPS Click 'n ship PDF Label

    Can a USPS Click'n Ship generated PDF label be downloaded on an iPad and emailed to a 3rd party shipper?

  • Menus that open UP instead of down

    The site I am putting together in Flash CS3 has two menu headings at the bottom of the page. I know that usually the menus are at the top or on the side, but in this instance, they have to be at the bottom. That being said, when a user rolls over "En

  • Unable to backup System State on a 2008 R2 Server

    Have a 2008 R2 SP1 Server, patched to the current state, and we can not perform a system state / BMR backup. The backup starts, VSS creation always succeeds, but between 30 and 80% (it's never at the same point) the backup fails with event 5, error 2