ESB FileAdapter issue

Hi,
I need to write number of requests to a single file without overwriting. I mean to say that all the requests should be written to a single file instead of creating a new file for each request. I have tried all the options but couldn't make the fileadapter to write to a single file.
Please help me asap
Thanks
Krishna Bhaskarla

You need to set the Append="true""in the jca:operation tag.
See this document :
http://www.oracle.com/technology/products/ias/bpel/pdf/10133technotes.pdf
"Appending Files to an Existing File"

Similar Messages

  • Custom Filename for ESB FileAdapter Write

    Hi,
    I have a ESB service that monitors and deqeues from the oracle.apps.po.event.xmlpo business event via the Oracle Applications adapter. This works fine as the WF_EVENT_T schema is routed via an XSL to a custom XML which is used later.
    However, I want the file to use a custom filename with the file adapter. In principle I know how to do this using the ehdr:setOutboundHeader functionality and have got this to work when setting a static filename.
    However, I want to be able to create the filename based on the Purchase Order Number coming from the WF_EVENT_T schema. It seems that the ehdr:setOutboundHeader function has to be set before any of the XML Template matches, which means at this point the Purchase Order number is not available. Below is the main parts of the XSL.
    <xsl:variable name="CustomFilename" select="'/ns2:PONo"/>
    <xsl:variable name="AssignFilename"
    select="ehdr:setOutboundHeader('/ns1:OutboundFileHeaderType/ns1:fileName',$CustomFilename,'ns1=http://xmlns.oracle.com/pcbpel/adapter/file/Capture_PO_Event_Data/;')"/>
    <xsl:template match="/">
    <ns2:HCNPOWFEVENT>
    <xsl:for-each select="/imp1:WF_EVENT_T/PARAMETER_LIST/PARAMETER_LIST_ITEM">
    <xsl:if test='NAME = "DOCUMENT_NO"'>
    <ns2:PONo>
    <xsl:value-of select="VALUE"/>
    </ns2:PONo>
    </xsl:if>
    </xsl:for-each>
    <xsl:for-each select="/imp1:WF_EVENT_T/PARAMETER_LIST/PARAMETER_LIST_ITEM">
    <xsl:if test='NAME = "ECX_TRANSACTION_TYPE"'>
    <ns2:POType>
    <xsl:value-of select="VALUE"/>
    </ns2:POType>
    </xsl:if>
    </xsl:for-each>
    <xsl:for-each select="/imp1:WF_EVENT_T/PARAMETER_LIST/PARAMETER_LIST_ITEM">
    <xsl:if test='NAME = "ECX_TRANSACTION_SUBTYPE"'>
    <ns2:POSubType>
    <xsl:value-of select="VALUE"/>
    </ns2:POSubType>
    </xsl:if>
    </xsl:for-each>
    <xsl:for-each select="/imp1:WF_EVENT_T/PARAMETER_LIST/PARAMETER_LIST_ITEM">
    <xsl:if test='NAME = "ECX_PARAMETER5"'>
    <ns2:OrgId>
    <xsl:value-of select="VALUE"/>
    </ns2:OrgId>
    </xsl:if>
    </xsl:for-each>
    <xsl:for-each select="/imp1:WF_EVENT_T/PARAMETER_LIST/PARAMETER_LIST_ITEM">
    <xsl:if test='NAME = "ECX_PARTY_ID"'>
    <ns2:ECXPartyId>
    <xsl:value-of select="VALUE"/>
    </ns2:ECXPartyId>
    </xsl:if>
    </xsl:for-each>
    <xsl:for-each select="/imp1:WF_EVENT_T/PARAMETER_LIST/PARAMETER_LIST_ITEM">
    <xsl:if test='NAME = "ECX_PARTY_SITE_ID"'>
    <ns2:ECXPartySiteId>
    <xsl:value-of select="VALUE"/>
    </ns2:ECXPartySiteId>
    </xsl:if>
    </xsl:for-each>
    </ns2:HCNPOWFEVENT>
    </xsl:template>
    </xsl:stylesheet>
    Any ideas on how this can be achieved ?

    Ok I was able to get fileadapter filenames modified.
    First you cannot do this after a dbadapter query as that functionality seems to be broken. The best way to solve it for me was to simplify the problem, I started with placing the setoutbound header data after reading a simple file and ignoring the files content altogether. I do the set inside a match of the xslt using a constant value, again for simplicity. For the test just put in 'ateststring.txt' in the setoutbound header call, no need to select data from the document at this point; we will get to that. Now get that to work.
    Once you have that working take a value from the incoming document and select it into a variable named myvariable then replace the 'ateststring.txt' with $myvariable. So basically its a three step process for the final solution. Select the data of interest from the document into a variable. add a select statement to make the method call just after that. Make the method call inside the select statement and prepend the variable name with the $ symbol.
    So far I have only tested this file to file and file to ftp, I suspect that jmsadapter to file will work fine too. So the trick for me was to understand that if an incoming document is the result of a query that just wont do. My requirement was to take an input JMS request, use that to drive a query, take the data from the query and write it to a filename as defined in the JMS request. No matter what I did to set the frustrating fileadapter/ftpadapter filename in the header I was unable to do so. I used constant strings etc in every part of the document ( before select, inside select, outside select etc ). It wasnt until I went file to file that I was able to get this to work at all. And then not in the xslt header etc, it MUST be in an area of the document that resulted in a select match, which after review makes sense.
    To work around the query to file issue, I place the results of the data query into a temporary filename%SEQ%.tmp, along with the query results I add the real filename inside the document. I have a file listener that listens for the filename using wildcards filename*.tmp, it takes the file reads it in, pulls the permanent filename from the incoming document, and sets that filename in the header using the steps worked out above by selecting the filename into myvariable.
    You cannot ( to my knowlege ) store variables in ESB so I found I had to put them inside the documents to move the data around. When I am all done with the work through the routing service I strip out the variable data fields that I needed to carry along with the data.
    Please let me know how you are going with this, I hope this saves someone else a bit of frustration.
    Thanks again,
    John

  • ESB-DBAdapter issue

    Hi all,
    I have DBAdapter to insert records into oracle XE DB from my ESB process.
    Though the record gets successfully inserted,the ESB instance is itself
    marked as errored.
    The following is the stacktrace
    oracle.tip.esb.server.common.exceptions.BusinessEventRetriableException:
    An unhandled exception has been thrown in the ESB system.
    The exception reported is: "oracle.tip.esb.server.common.exceptions.BusinessEventRejectionException:
    An unhandled exception has been thrown in the ESB system.
    The exception reported is:
    "org.collaxa.thirdparty.apache.wsif.WSIFException:
    esb:///ESB_Projects/SOAOrchestration_FulfillmentESB/FedexShipment.wsdl
    [ FedexShipment_ptt::insert(FedexshipmentCollection) ] - WSIF JCA Execute of
    operation 'insert' failed due to:
    DBWriteInteractionSpec Execute Failed Exception. unknown failed.
    Descriptor name: [unknown]. ; nested exception is:
    ORABPEL-11616 DBWriteInteractionSpec Execute Failed Exception.
    unknown failed. Descriptor name: [unknown]. Caused by Exception [TOPLINK-2004] (Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004))
    : oracle.toplink.exceptions.ConcurrencyException Exception Description:
    A signal was attempted before wait() on ConcurrencyManager.
    This normally means that an attempt was made to commit or
    rollback a transaction before it was started, or to rollback a transaction twice..
    at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:623)
    at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeInputOnlyOperation(WSIFOperation_JCA.java:726)
    at oracle.tip.esb.server.common.wsif.WSIFInvoker.executeOperation(Unknown Source) ...
    Any help/insight will be very helpful.
    Regards,
    Manu

    We have same issue as yours.
    But worst for us, we need logical delete the record in Source database. And if this Exception happen, the transaction will roll back.
    A oracle guy told me this is an internal bug:5519509 only in 10.1.3.1. I don't know when it will be fixed.

  • ESB- Licensing issues and etc

    Hi All,
    I was wondering if i could have a few of my doubts cleared
    1. According to my understanding since EDI requires licensing and certification, If i use ESB and make it transform the document to some other format. Then if i can post the same document through some 3rd party software whose only function is to post to a particular OXTA or HTTP URL for example.
    Will there be any legal issues here ?
    2. Where can i find a list of possible transformation which ESB supports. (cXML,OAG,EDI,Rossatenet, UBL etc)
    3. Is there any possible comparision between ESB and B2B in terms of transformations and handling/processing documents?
    Cheers
    Ravi

    ESB delivered with basic adapters, DB, AQ, JMS etc.
    If you want to use for Rosettanet,EDI etc you need to buy the relevant adapters.
    But ESB should not be used for this purpose as it does not have the relevant security and partner link definition stuff that B2B has, this is why they are two different products.
    The adapters are just connection technology.

  • ESB performance issue: takes too long to select and insert records in DBs

    Hi,
    I have an ESB service which has to select data from seven different tables(using join operations) of one database and insert it into a single table of another database.
    It takes unduly long time to do this operation.
    For ex: it takes over 2 hours to select and insert 3000 records.
    When ran the same query to select the records from the tables using SQL developer, it took only 23 seconds.
    Do I need to change any configuration settings in the enterprise manager or someother place to increase the performance. Someone please advice.
    I am using Oracle SOA Suite 10.1.3.4
    Thanks,
    RV

    Hi,
    I have an ESB service which has to select data from seven different tables(using join operations) of one database and insert it into a single table of another database.
    It takes unduly long time to do this operation.
    For ex: it takes over 2 hours to select and insert 3000 records.
    When ran the same query to select the records from the tables using SQL developer, it took only 23 seconds.
    Do I need to change any configuration settings in the enterprise manager or someother place to increase the performance. Someone please advice.
    I am using Oracle SOA Suite 10.1.3.4
    Thanks,
    RV

  • ESB Reprocessing Issue with client API

    All,
    We are currently working on reprocessing the failed ESB instances using the client API. The instances are getting reprocessed but on a random basis are are getting the below exception. The reprocessing code is also provided.
    oracle.tip.esb.client.ClientException: 404 : Not Found
    08/07/10 08:26:51 at oracle.tip.esb.client.HttpClient.invoke(HttpClient.java:118)
    08/07/10 08:26:51 at oracle.tip.esb.client.impl.ConsoleClientImpl.perform(ConsoleClientImpl.java:148)
    08/07/10 08:26:51 at oracle.tip.esb.client.impl.ConsoleClientImpl.<init>(ConsoleClientImpl.java:71)
    08/07/10 08:26:51 at oracle.tip.esb.client.ConsoleClientFactory.getConsoleClient(ConsoleClientFactory.java:32)
    08/07/10 08:26:51 at com.cccis.cfcs.reprocess.RecoveryHelper.resubmitFailedInstance(RecoveryHelper.java:129)
    08/07/10 08:26:51 at com.cccis.cfcs.reprocess.RecoveryHelper.reprocessESBFailedInstances(RecoveryHelper.java:195)
    08/07/10 08:26:51 at com.cccis.cfcs.reprocess.ReprocessServlet.doGet(ReprocessServlet.java:107)
    08/07/10 08:26:51 at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
    08/07/10 08:26:51 at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    08/07/10 08:26:51 at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
    08/07/10 08:26:51 at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
    08/07/10 08:26:51 at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
    08/07/10 08:26:51 at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
    08/07/10 08:26:51 at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:302)
    08/07/10 08:26:51 at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
    08/07/10 08:26:51 at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    08/07/10 08:26:51 at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
    08/07/10 08:26:51 at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
    08/07/10 08:26:51 at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
    08/07/10 08:26:51 at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    08/07/10 08:26:51 at java.lang.Thread.run(Thread.java:595)
    08/07/10 08:26:51 Caused by: java.io.IOException: 404 : Not Found
    08/07/10 08:26:51 at oracle.tip.esb.client.HttpClient.throwException(HttpClient.java:223)
    08/07/10 08:26:51 at oracle.tip.esb.client.HttpClient.postAndReceive(HttpClient.java:150)
    08/07/10 08:26:51 at oracle.tip.esb.client.HttpClient.invoke(HttpClient.java:114)
    public void resubmitFailedInstance(String flowID,SystemDetails sysdetail) {
    System.out.println("Within the resubmitFailedInstance method ************ ");
    String HOST = sysdetail.getHostName();
    System.out.println("Host at the beginning....................................."+HOST);
    int PORT = Integer.parseInt(sysdetail.getPort());
    System.out.println("Port at the beginning.............."+PORT);
    String USER_NAME = sysdetail.getUserName();
    System.out.println("User name at the beginning....................."+USER_NAME);
    String securityCredentials = sysdetail.getSecurityCredentials();
    System.out.println("Password at the beginning......................."+securityCredentials);
    String filter = FILTER;
    ConsoleClient client = null;
    String data = null;
    HashMap<String, String> requestProps = new HashMap<String, String>();
    try {
    requestProps.put("filter", URLEncoder.encode(filter, "UTF-8"));
    client =
    ConsoleClientFactory.getConsoleClient(HOST, PORT, USER_NAME,
    securityCredentials);
    data = client.perform("GetFailedInstances", requestProps);
    DOMParser parsedXML = new DOMParser();
    ByteArrayInputStream inArray = new ByteArrayInputStream(data.getBytes());
    parsedXML.parse(inArray);
    XMLDocument xmldoc = parsedXML.getDocument();
    NodeList nl = xmldoc.getElementsByTagName("failedInstance");
    for (int i = 0; i < nl.getLength(); i++) {
    Element el = (Element)nl.item(i);
    String flowId = el.getAttribute("flowId");
    String systemId = el.getAttribute("systemId");
    String retryable = el.getAttribute("retryable");
    String payload = el.getAttribute("inPayload");
    System.out.println("System ID :**********" + systemId);
    System.out.println("retryable :*********" + retryable);
    System.out.println("Payload :***************" + payload);
    if (flowId != null && flowId.equals(flowID)) {
    if (retryable.equals("true") && systemId != null) {
    System.out.println("Before calling the testResubmitInstanceById method ************");
    HashMap<String, String> requestProp = new HashMap<String, String>();
    requestProp.put("flowId", flowId);
    requestProp.put("systemId", systemId);
    System.out.println("Before reprocessing*************");
    String output = client.perform("ResubmitInstanceById", requestProp);
    System.out.println("Result>>>>>>>>>>>>>>>>>>>>"+output);
    System.out.println("After reprocessing**********");
    break;
    } catch (UnsupportedEncodingException e) {
    e.printStackTrace();
    } catch (ClientException e) {
    e.printStackTrace();
    } catch(Exception e) {
    e.printStackTrace();
    public void reprocessESBFailedInstances(String msgID,
    SystemDetails sysdetail) {
    System.out.println("Within the reprocess failed instances*****************");
    Connection con = null;
    Statement stmt = null;
    String flowID = null;
    String flowIDSql =
    "select flow_id from esb_activity a,esb_tracking_field_value t where a.id=t.activity_id and t.value='" +
    msgID + "'";
    try {
    String URL = RB_READER.getString("URL");
    String userName = RB_READER.getString("userName");
    String password = RB_READER.getString("password");
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    con = DriverManager.getConnection(URL, userName, password);
    stmt = con.createStatement();
    ResultSet res = stmt.executeQuery(flowIDSql);
    while (res.next()) {
    flowID = res.getString("FLOW_ID");
    System.out.println("Flow ID :***********" + flowID);
    resubmitFailedInstance(flowID,sysdetail);
    System.out.println(":::::::::::::::::::::::::::::::::::");
    System.out.println("End of the method*************");
    } catch (SQLException e) {
    e.printStackTrace();
    } catch (Exception e) {
    e.printStackTrace();
    Regards,
    M.Rajesh

    Hi Rajesh,
    I am trying to get the failed instances using the client API in your code what is the FILTER string that you have used since i have used below code to get the payload but not able to get the payload.If you are able to get the payload please do reply me back.
    String payload = el.getAttribute("inPayload"); // Not getting the payload
    Hoping for early reply from you.
    with regards
    NK

  • ESB Header Issue

    Hi All,
    ESB doesn't send header information from Request to Oubound. Only way to pass is to add a xformer and use getRequestHeader and setOutbundHeader for all variables that needs to be passed as a part of header.
    Is any other way to do this?

    Please specify the Inbound Adapter type, and the Outbound Adapter type
    File/Xml/CSV/DB/JMS/AQ ?

  • JDevelopere 10.1.3.1 ESB Modeler issue

    I am getting no attached graph model or graph model is null while modeling a simple ESB System flow. I just dragged the Adapter service from palette and configured the new adapter service. The <project>.esb file is blank and I noticed below message in Messages console.
    I also noticed the generated artifacts (xsd/wsdl/esb) are not showing up App Navigator under the project root element.
    I am using jDeveloper 10.1.3.1.0.3914.
    TIA
    Rajesh

    HI there,
    the answer is pretty obvious really. But i assume it is a bug in the software. The first work that was done on the ESP project was:
    - Create application
    - Create new ESB project
    - import xsd schemas
    then create an adaptor.
    It maybe that the import of the schema caused loss of the modeler dir.
    anyway:
    Select your project
    Goto project properties
    Goto project content - modeler
    Add a modeler in the project dir.
    Thanks,

  • ESB console issue - defining tracking fields - minor.

    when defining a tracking field, when you wish to insert a simple XML element into the expression builder by selecting it , don't drag and drop the element onto the edit area; instead, use the "Insert into Expression button". the expression generated by the drah and drop will not work
    e.g.
    javascript:doEnableAction('0,1,<anonymous>,<anonymous>,simple,/schema/ns0:TargetCollection/ns0:Target/ns0:col2,/ns0:TargetCollection/ns0:Target/ns0:col2,ns0:col2')
    ns0:col2
    when if you use the "Insert into expression" button then you get
    /ns0:TargetCollection/ns0:Target/ns0:col2 which is correct.
    the manual is actually correct [ E10295-01 Ch.3 ] but the reflex action is to drag and drop, and without knowing what it should look like it is easy to get it wrong.
    Just my 0.05c
    Chris

    Hi ,
    i checked log file .
    i am getting below error .
    oracle.tip.esb.server.common.exceptions.BusinessEventRetriableException: An unhandled exception has been thrown in the ESB system. The exception reported is: "ORABPEL-02181
    Failed due to unhandled bpel fault.
    at com.collaxa.cube.engine.CubeEngine.scheduleAsyncAuditStore(CubeEngine.java:6206)
    at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1694)
    Regards ,
    Mohan

  • ESB METADATA ISSUES WHILE DEPLOYING ESB SERVICE GROUPS AND SERVICES

    Customer has SOA Suite 10.1.3.4 with MLR#8.
    We have 2 separate SOA based integrations being shipped to the customer which
    he can install together. The 2 integrations share a ESB service group called
    "EBS" under which some ESb services are registered.
    One of the integration was installed/deployed on the SOA server successfully
    and the services were running successfully.
    When the second integration was installed, it gave some errors while
    deploying/registering the common ESB service group and the ESB services under
    it.
    <error code="1067" severity="5">
    <description>Already esb metadata is getting modified by {0}.Concurrent
    modification of esb metadata is not allowed.</description>
    <fix>Please try after sometime.If Error Persists, Contact Oracle
    Support</fix>
    </error>
    The customer tried bouncing the SOA server and the SOA db as well before
    re-trying but no help.
    Any pointers ?
    Thanks.

    i would recommend delete and recreate the ESB Components.
    R u using some scripts to create it or is it manually from ESB Console ?

  • How to Import a XSD into a ESB.

    Hai,
    Can anyone make me clear how to import XSD file(PurchaseOrder) into the ESB
    using File Adapter. If this is BPEL we can simply change the Input message type
    by invoking XSD while creating the project.
    In ESB FileAdapter's Define Schema for Native format we will be invoking a
    purchase order schema file.
    I have doubt in the Step 3:(Record Organization), Step 4: (Specify elements) and
    in the Step 5: (Specify Delimiters) of the Native Format Builder what to specify
    correctly in these steps inorder to give purchase order inputs through ESB.
    cheers.

    Hi,
    To import an XSD, follow these :
    1: Keep you project selected from the "application navigator".
    2: From 'File' Menu, Select 'import' and then select 'Web Source' and after that specify the directory having the schema files.
    What doubts you have regarding the steps.
    Step 3 : It specifies what type of records you input file has, whether single/multiple records and their type. Anyways if you sample an input 'Purchase Order' File, this step will be automatically done for You.
    Step 4: You just need to fill in the only empty space here to give a name to identify your records. For ex: 'Purchase Order' or whatever you want.
    Step 5: Delimiters again are used depending on the type of input file(CSV/text/Fixed-Length) you have sampled.
    thanks
    Saurabh

  • HTTP BC Timeout

    Hi,
    Does anyone know if it's possible to set a Connect and Socket timeout on the HTTP BC when it acts as a client? If the HTTP BC calls a backend service that is taking very long to respond, then without a timeout in place, all the BC threads would end up waiting on that system and would eventually stop the entire ESB from issuing HTTP calls.
    Thanks,
    Paul

    Hi,
    Do you use this URL which is wrong ?
    http://zadisp.wdf.sap.corp:51080 timeout=900/sap/bc/ping?sap-client=300
    Or this correct one ?
    http://zadisp.wdf.sap.corp:51080/sap/bc/ping?sap-client=300
    Did you also activate service /sap/bc/ping in transaction SICF ?
    Regards,
    Olivier

  • PI 7.11 ESB Issue

    Hi all,
      I have a got a problem with opening Enterprise Services Builder, I'm able to Open ESB of PI Development system and got a problem with PI Quality system. I don't think this is the problem with Java.
    I'm getting the below error after i entered User name and Password of ESB
    Could not Initialize class com.sap.aii.ibrep.gui.xiitem.InternalXiItemServiceForTypeObjects
    Internal problem occured(INTERNAL_PROBLEM)
    Please help me in resolving this issue.
    Thanks,
    Kishore

    Hi Kishore.
    This issue seems to be that your XI components are not in the same SP level.
    Go to:
    http://<server>:<port>/
    -> System Information
    -> Component Info
    -> "Software Components" section.
    Can you please confirm here that all of the components are on the same
    SP level?  (SAP_XIAF, SAP-XIAFC, SAP_XITOOL, SAP_XIESR, MESSAGING,
    and SAP_XIGUI)
    They should be, for example, all like 7.11.4, in which the "4" is the SP level.
    Fix that and you'll be able to logon to ESB again
    Regards,
    Caio Cagnani

  • Issue in invoking a BPEL process (having a DB Adapter) from ESB

    Dear All,
    I am having an issue while invoking a ESB process (Batch file mode) which inturn will call a second BPEL process which will invoke the Oracle APPS standard API ego_item_pub.process_items to create an item in Inventocry, through a DB adapter
    I am able to create the Item and API is working when I pass the input XML through the second BPEL process.
    But when invoking through the ESB process which will invoke the BPEL process, based on the polling to the batch file from the ESB. This is done through an FTP adapter in ESB.
    The Issue is that while invoking from ESB, through batch file. The PL/SQL API is throwing error from the standard API 'ego_item_pub.process_items'
    But it works fine if I invoke the BPEL process individually.
    What might be the problem for this and how can I fix this..
    Please update..
    Many thanks in advance ...

    Hi,
    We tried the same thing and it worked for us. In our scenario we had a BPEL process calling a ESB and then this ESB calling another BPEL process which inturn calls the API. I agree with James it seems more of a Data issue/or your XSD is not proper i.e the XSD that you ESB process is having. If you have created a ESB and then changed the BPEL process afterward the issue you mentioned will come. Please run the process in DEBIG mode and provide the domain.log file.
    Regards
    Sahil
    http://soab2bsahil.blogspot.com

  • ESB File Adapter data validation issue

    I have a really simple ESB process.
    File Adapter Read
    (XML format with XSD) --> Routing Service --> SOAP Call to BPEL Process
    Quite simply, the ESB uses the File Adapter to read an XML file which has an associated XSD. The contents are then routed to a BPEL Process.
    If the XML file is valid in syntax but contains an element which is not in the XSD, the file contents are pushed to the BPEL process which has validateXML set to true - thus the error is caught and handled by the BPEL process.
    This is what I want to happen.
    If the XML file is invalid in syntax - for example -
    <TAG>hello</WRONGTAG>
    The ESB process rejects the file and stops dead.
    I would rather the invalid file is pushed to the BPEL so that the BPEL can handle the error.
    Why?
    Because my error handling in the BPEL picks up the invalid XML format and emails the users to inform them there is a problem.
    Can someone help? Is this possible? Thanks.
    Message was edited by:
    IanBaird

    Hello again! You are now aware of the problem as there has been a lot of conversation between myself and Dave Berry [and you!] regarding this issue.
    For the rest of the readers - here is a brief summary of progress so far. Sorry but there has been so much communication that I think the best way is to direct you to various links.
    If an adapter fails in ESB, then it is possible to trap these failures and handle them as documented here:
    Dave Berry said:
    you need to look into the adapter rejection handlers which are documented on OTN ESB page in the exception handling lesson and the adapters OTN dev resources page http://www.oracle.com/technology/products/integration/adapters/dev_support.html
    I had also devised my own solution in the meantime, which involves reading the input file as opaque schema and passing this to a BPEL process which converts it to an XML document! This can then be validated and use standard BPEL error handling to find any problems in the file format etc.
    See my blog for a tutorial on doing this:
    http://soastuff.wordpress.com/2007/06/06/handling-opaque-datatypes-in-bpelesb/
    The only problem with this at the moment is that the BPEL function ora:parseEscapedXML has a bug in it - so it fails if the XML does not comply with the XSD it tries to convert to.
    This in turn causes an ORABPEL-09500 error which does not seem to get handled by the BPEL process so the process fails.
    As things stand, this bug remains - though Dave Berry has been very helpful in identifying it and bringing it to Muruga's attention. Hopefully we can get a fix (?) and a workaround whilst the fix is being implemented (?)
    Cheers.

Maybe you are looking for

  • Instruments from jam packs are not there after new install

    hi, i ve been using all jam packs instruments in my GB2 last year on my imac without any problems. i have them all at my external FW drive since then, and never at my internal. ( i usually dont use "loops" at all, i prefer instruments ) so, i install

  • IconItemRenderer with rounded Corners

    Hi everyone, im using the mobile IconItemRenderer and need to round the corners of the list-Items to be in conform with the rest of my UI-Design. is there any way to archive this? thx for your help

  • What is the "24" badge at the bottom left of a clip?

    I'm new to iMovie '11, and noticed the little "24" stamp, shown below, which recently appeared on one of my clips, and can't figure out how it got there/what I did to put it there/what it means. It's not click-able. And I've searched the iMovie help,

  • My spacebar/hand panning tool has stopped working Ai CS5

    I'm working on a university lab computer that has CS5 on it.  I don't think I pressed any random hand commands to disable the spacebar panning tool, but it has stopped working and it's getting really annoying.  Anyone else ever have similar problems

  • Problem with save as action in CS4 PS script

    Hi, I am just beginning to script and I am encountering an Error message when running this particular snippet, which was taken from the CS4 scripting Guide This is the part of script that is causing a problem, anybody know why its giving me an error