ESB Routing rule priorities/sequence

I am new to Oracle ESB and I have written a flow which contains a set of rules.
In the first rule, I insert a row into table A.
In the second rule, I call a Stored Procedure to perform operations on the data inserted into Table A in rule1.
In the 3rd rule, I log some information into log table.
I have written these rules in a sequence in a Routing Service.
But when I see the ESB control to check how it performed, I see it performing insert into TableA as the 2nd or third rule.
Please tell me what is controlling this sequence.
Thanks,

Hi.
It should work in the order as expected.
Check that your routing rules have the Execution mode marked as Synchronous.
Denis

Similar Messages

  • If ESB routing rules supports XSLT2.0 ?

    If routing rules supports XSLT2.0 ? Especially xsl:character-map.
    Ja have problem with transform document with opaque schema to opaque schema changing characters ( sometimes one char to many chars ). If this possible?
    Any other solutions?

    Have you tried setting
    "<xsl:stylesheet version="1.0" to "2.0" and manually edit the xsl to use the 2.0 functions?
    Im not sure if this helps, i would give it a try.

  • Is it possible to ensure ESB routing rules are executed sequentially

    Hi,
    I have an ESB that updates a database table and updates a file
    My requirement is to update the file only when the database update has been completed. Is it possible in Oracle ESB.
    I have noticed that in general, the rules are executed sequentially (although visually the diagram shows all being executed parallely, I have noticed the rules work sequentially in practice, but I am not sure if this is actually a fact or mere coincidence)
    --Amit
    Edited by: AmitSoaDev on May 9, 2009 9:45 PM

    You can't get it to do sequencially. What you can do though is to put the insert / update into a procedure. This has output, you use this output to then go and update the file.
    The issue with this is that you have to pass the payload for the file through the PL/SQL.
    cheers
    James

  • Exception in creating XSLT transform for ESB Routing Service

    Hi,
    I am trying to create a Routing service in an ESB project. When I try to create the XSLT in a routing rule I get this error "Error while reading wsdl file esb:///ESB_projects/...../ship.wsdl ... Failed to read WSDL file at location esb:///ESB_projects/...../ship.wsdl . java.net.Socket Exception.
    I am able to create and register other adapter/soap services on the ESB server but not able to create this transform.Could anybody guide me as to how to resolve this?
    Regards,
    Sri

    The file doesn't physically exist on the server. If you explore the subfolders of the %OH%\integration\esb\oraesb folder, you'll see how ESB projects are deployed.

  • Asynchronous routing rules fails in soa suite 10.1.3.5.1 on wls 10.3.1

    Hi,
    I have been testing my 10.1.3.4 esb projects in soa suite 10.1.3.5.1 on wls 10.3.1 and these fails when I have an asynchronous routing rule,
    i made a simple test project with a jms dequeue adapter and a router with asynchronous routing rule to a file adapter.
    Thanks Edwin
    oracle.tip.esb.server.common.exceptions.BusinessEventRetriableException: Failed to enqueue deferred event "oracle.tip.esb.server.dispatch.QueueHandlerException: Publisher not exist for system "{0}"
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.deferEvent(InitialEventDispatcher.java:719)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:636)
         at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:90)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:172)
         at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:2011)
         at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1470)
         at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:122)
         at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(EventUtils.java:68)
         at oracle.tip.esb.server.service.impl.inadapter.ESBListenerImpl.processMessage(ESBListenerImpl.java:726)
         at oracle.tip.esb.server.service.impl.inadapter.ESBListenerImpl.onMessage(ESBListenerImpl.java:411)
         at oracle.tip.adapter.fw.jca.messageinflow.MessageEndpointImpl.onMessage(MessageEndpointImpl.java:358)
         at oracle.tip.adapter.jms.inbound.JmsConsumer.doSend(JmsConsumer.java:718)
         at oracle.tip.adapter.jms.inbound.JmsConsumer.sendInboundMessage(JmsConsumer.java:586)
         at oracle.tip.adapter.jms.inbound.JmsConsumer.send(JmsConsumer.java:402)
         at oracle.tip.adapter.jms.inbound.JmsConsumer.run(JmsConsumer.java:321)
         at weblogic.connector.security.layer.WorkImpl.runIt(WorkImpl.java:108)
         at weblogic.connector.security.layer.WorkImpl.run(WorkImpl.java:44)
         at weblogic.connector.work.WorkRequest.run(WorkRequest.java:95)
         at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: oracle.tip.esb.server.dispatch.QueueHandlerException: Publisher not exist for system "{0}"
         at oracle.tip.esb.server.dispatch.JMSEnqueuer.createConnection(JMSEnqueuer.java:200)
         at oracle.tip.esb.server.dispatch.JMSEnqueuer.<init>(JMSEnqueuer.java:110)
         at oracle.tip.esb.server.dispatch.JMSEnqueuer.<init>(JMSEnqueuer.java:82)
         at oracle.tip.esb.server.common.RuntimeESBSystem.getDeferredEnqueuer(RuntimeESBSystem.java:404)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.deferEvent(InitialEventDispatcher.java:708)
         ... 20 more
    Caused by: oracle.jms.AQjmsException: JMS-243: Topic OracleASjms/ESBDeferredTopic niet gevonden.
         at oracle.jms.AQjmsError.throwEx(AQjmsError.java:353)
         at oracle.jms.AQjmsSession.createTopic(AQjmsSession.java:2293)
         at oracle.tip.esb.server.dispatch.JMSEnqueuer.createConnection(JMSEnqueuer.java:185)
         ... 24 more
    Caused by: oracle.jms.AQjmsException: JMS-190: Wachtrij ORAESB.OracleASjms/ESBDeferredTopic niet gevonden
         at oracle.jms.AQjmsSession.getTopic(AQjmsSession.java:5084)
         at oracle.jms.AQjmsSession.createTopic(AQjmsSession.java:2286)
         ... 25 more
    Caused by: oracle.AQ.AQException: JMS-190: Wachtrij ORAESB.OracleASjms/ESBDeferredTopic niet gevonden
         at oracle.AQ.AQUtil.throwAQEx(AQUtil.java:196)
         at oracle.AQ.AQOracleSession.getQueue(AQOracleSession.java:721)
         at oracle.jms.AQjmsSession.getTopic(AQjmsSession.java:5059)
         ... 26 more

    Edwin,
    I received the same error when soa10g_server1 starts.
    I changed in ESB_PARAMETER table on ORAESB schema the following parameters:
    PROP_NAME_CONTROL_TCF_JNDI     OracleASjms/ControlTCF
    PROP_NAME_MONITOR_TCF_JNDI     OracleASjms/MonitorTCF
    PROP_NAME_ERROR_TCF_JNDI     OracleASjms/ErrorTCF
    PROP_NAME_ERROR_RETRY_TCF_JNDI     OracleASjms/ErrorRetryTCF
    PROP_NAME_DEFERRED_TCF_JNDI     OracleASjms/DeferredTCF
    PROP_NAME_ERROR_XATCF_JNDI     OracleASjms/ErrorTCF
    PROP_NAME_DEFERRED_XATCF_JNDI     OracleASjms/DeferredTCF
    to
    PROP_NAME_CONTROL_TCF_JNDI     ESB_CONTROL
    PROP_NAME_MONITOR_TCF_JNDI     ESB_MONITOR
    PROP_NAME_ERROR_TCF_JNDI     ESB_ERROR
    PROP_NAME_ERROR_RETRY_TCF_JNDI     ESB_ERROR_RETRY
    PROP_NAME_DEFERRED_TCF_JNDI     ESB_JAVA_DEFERRED
    PROP_NAME_ERROR_XATCF_JNDI     ESB_ERROR
    PROP_NAME_DEFERRED_XATCF_JNDI     ESB_JAVA_DEFERRED
    And It's working right now. I hope to you too.
    JP

  • Error in Invoking all the routing rules if one of them fails

    Hi,
    I have an ESB which has 4 routing rules to route to 4 different systems. If one of my routing errors out, other routing rules are not getting executed. For ex, if my ESB system has 4 different traget systems and 4 routing rules. If there is an error in invoking system 2 then, system 3 and system 4 routing rules are not getting executed. How to make them(system 3 and system4) executed even when there is error in some other invocation of system(system 2)?
    Kindly reply asap as it is urgent.
    Thanks,
    Lakshmi S

    You can't in that way, if you want to make them independent in ESB build 4 different services using the same source otherwise you have to build BPEL app for that.

  • Extending routing rules

    Hello All,
    Just wondering how to extend routing rules and route the message to a inbuilt legacy system and The out of the box PIP provide integration between two systems say siebel and EBIZ, customer also wanted to route the message to a legacy system, do i need a develop a Custom EBS or add new routing rule to EBS?
    Would appreciate your help..

    I have not used the PIPS but within the AIA Foundation Pack (v2.4) there is a concept of creating an EBF (Enterprise Business Flow) in the docs. It is summarized as
    "An EBF is needed when an enterprise business Service (EBS) operation needs to be implemented with a set of tasks and involves invoking of multiple services. An EBF can invoke only another EBS. In no situation should an EBF invoke and ABC service directly."
    This may be possible, if not then adding a routing rule to the ESB/Mediator Service would seem the logical step.
    HTH

  • BRF+ Routing Rule not showing Expression

    Hi Experts,
    I am trying to create a BRF+ routing rule (line item by line item) within SAP Standard Process ID - SAP_GRAC_ACCESS_REQUEST
    The purpose is to use it as a detour based upon Role attributes. Although the rule is generated in ABAP screen, when I try to modify BRF+ rule, the Expression where decision table is located, not coming up.
    When I test it, it gives error - Expression not set.
    What could be the issue? Need your help.
    Thanks & Regards,
    Sabita

    Hi Sabita,
    Definitely look up those courses! I'm an instructor for them in the UK and these sorts of questions are exactly those which most people ask on the courses!
    GRFN_MW_S_ROUTING is a structure which contains those two fields. This should be the Result Data Object which will then automatically place those two fields as the results.
    The Condition columns are user driven inputs where you give the criteria for the routing rules e.g. Business process or role criticality etc.
    For routing rules or initiator rules, there are two sources for the information; the request header (attributes of the request) or the request line items (attributes of the roles on the request). There are some fields which may exist in both (e.g. Business process for the access request or the business process assigned to the Role) which explains why there are duplicates in the list. When selecting the conditions, scroll right to the bottom of the list and you'll find the Structures which show Header or Line Item. If you expand those, then you will see the list of fields again. By doing this, you'll know whether you're looking at the header or line item field.
    Select the appropriate fields as the columns and then add in the rows to identify the specific criteria.

  • How is an Order Routing rule connected to the IC Webclient Profile

    I created a simple ERMS order routing rule that If priority equals very high then route to John Smith whom is assigned to the IC Web position in PPOMW.
    When I create a service ticket and mark it very high and choose the ESCALATE button the message no rule for routing was found. 
    I don't see anyway to connect this rule to our IC Webclient profile, or why the rule wasn't envoked. Will give points.
    Edited by: John Burton on Apr 21, 2008 2:54 PM

    Hello Glenn,
    Yes, you are correct. In addition to creating a Rule Modeler policy via the IC Manager role (accessible from the BSP view or Enterprise Portal), the business user also needs to request that IT (or someone) add the name of the Rule Modeler policy as an attribute of the RE_RULE_EXEC service for the applicable Service Manager profile in the IMG configuration for the relevant Rule Modeler context (Order Routing, ERMS, etc.). I certainly agree with you that the business user and the IT user as generally two different people. And if they are the same person, Sarbanes Oxley probably has something to say about that Your point is definitely valid. Perhaps in the future we need to be more considerate of the distinction of job responsibilities of business user versus IT user when designing products and solutions.
    By the way, just as an aside... some Rule Modeler contexts can only use one Service Manager profile (for example Order Routing must always use a Service Manager profile called "SAP_ORDERROUTING") while other contexts can use multiple Service Manager profiles. For example, as of CRM 2005 (CRM 5.0) it is possible in transaction CRMC_ERMS_SM_PDET to assign different Service Manager profiles directly to different inbound email addresses for ERMS. And by assigning a different Rule Modeler policy to each Service Manager profile, you can use different root/default Rule Modeler policies for each incoming email address.
    Warm regards,
    John
    Edited by: John Burton on May 1, 2008 10:01 PM

  • ESB Routing Service Byte Order Mark error

    Hi,
    I have a esb routing service to accept soap messages from an external system. The external system sents messages with a Byte Order Mark for UTF8 at the start. If i look at the tcp messages i see the following:
    POST /event/DefaultSystem/CaseVerhuizing/EsbStuf0204Service HTTP/1.1
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client
    Protocol 2.0.50727.42)
    Content-Type: text/xml; charset=utf-8
    SOAPAction: "http://www.egem.nl/StUF"
    Host: ux920:7777
    Content-Length: 2382
    Expect: 100-continue
    Connection: Keep-Alive
    HTTP/1.1 100 Continue
    ...<?xml version="1.0" encoding="utf-8"?><soap:Envelope
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    The three dots signify the hexadecimal value EF BB BF which is for UTF8. This raises an error however in iAS:
    HTTP/1.1 400 Bad Request
    Date: Mon, 16 Jul 2007 14:41:32 GMT
    Server: Oracle-Application-Server-10g/10.1.3.1.0 Oracle-HTTP-Server
    Content-Length: 158
    Connection: close
    Content-Type: text/html; charset=ISO-8859-1
    Bad Request
    Error parsing envelope: (1, 1) Start of root element
    expected
    It seems the esb routing service is trying to parse the Byte Order Mark as xml and therfore can not find the soap envelope tag? Any help is appreciated!
    Kind Regards,
    Andre Jochems
    Message was edited by:
    ajochems

    Hi Andre,
    We got exactly the same error as you did. Your analysis is also correct; the first 3 bytes of the reply are not interpreted by BPEL/ESB as a BOM, but as 'real' characters.
    The problem is due to the fact that the UTF-8 BOM is actually optional in the specifications, and obligatory for UTF-16. The UTF-8 BOM practically has no meaning, and is never used in most SOA applications. However the guys that made the webservice you need to consume are (wrongly) convinced that the UTF-8 BOM is supposed to be there according to the OASIS/W3C specs. Which is not true btw...
    For more info on BOMs, check: http://en.wikipedia.org/wiki/Byte_Order_Mark
    Unfortunately I don't have the code for our 'proxy' service anymore. I remember that we simply made a little servlet, that uses input- and outputstreams. The inputstream then filters the BOM. Remember to also proxy the WSDL to 'rewrite' the endpoint ;-)
    HTH,
    Bas

  • Incoming email - Routing rules on exchange server 2003

    I am configuring SAP system to receive emails as per note 455140. We currently have only one client and have updated necessary profile parameters including setting SMTP port to 25 for incoming mails. We have specified our enterprise exchange server 2003 as the mail server in SCOT transaction and are able to send out emails from SAP without issues, but cannot receive emails in SAP.
    Following note 607108, I am able to receive emails in the SAP system using telnet test (by passing mail server), thereby I believe all relevant configuration settings in SAP system have been correctly maintained. Now, if I try to send an email to SAP user from another SAP system or Microsoft Outlook or Internet, these emails are not being received in SAP. No inbound traces are generated in SAP since the mail has not been received by SAP.
    As part of the config, our server admins have set up a rule on mail server to forward specific emails to SAP system. Does anyone have any insight into what might be the issue here? Also, if someone can provide links/directions on how to setup routing rules on exchange server 2003 to forward specific requests to SAP system (I believe this is where our issue is).
    Thanks!
    Fahad

    Hello Markus,
    By specific, I meant emails addressed to specific users need to be forwarded to SAP. Instead of specifying *ATcompany.com --> WebASHost:25000, we put in a rule userATcompany.com --> WebASHost:25000
    Based on your response, I asked SAP support whether there is such restriction when SU01 email address and exchange email address are same, exchange will not forward to SAP. Below is there response
    "SAPconnect like most mail platforms route mails via the email address.
    SAP recommends the following:-
    UserATClient.SID.company.com
    I know that a DNS entry will have to be written for this to be routed
    to your Exchange server for relay into SAP.
    The only other recommendation is to use the local part of the mail
    address to route the mails. This will not require an external DNS
    entry but every new user will have to be updated in Exchange.
    User.client.sidATcompany.com
    There are no other way of correctly routing mails other than these
    methods. Thank you."
    Now SAP says when email addresses are same and if we put in a rule based on local part of the mail, it should still forward.
    Since the issue is through exchange, SAP will not provide further support to resolve this and we cannot go with sub-domains currently due to business requirements.
    Any suggestions.
    Thanks,
    Fahad

  • 11g mediator enrichment, passing parameters between routing rules

    Hi,
    I am trying to make mediator enrichment work with a sync request / response service, One-way enrichment works perfectly in PS1.
    So I have a few routing rules and try to use the response data of the previous routing in the next routing and end with a echo request.
    For this I am trying to pass on variables between routing rules. but is seems that an assign and xslt variables. only live inside the routing rule.
    I am trying the hack the mplan file to make this work but without any luck.
    Is this possibe and how.
    Thanks Edwin

  • Can we write more than one routing rule in a RS?

    Can we write more than one routing rule in a RS?

    You can specify multiple routing rules for a single operation of a routing service. If no filter is applied, they are all executed. For routing rules with filters, only the target operations for which the filter condition holds are invoked. Priority is based on the order in which they appear in the routing rules window.
    Ronald

  • Routing Rule

    Hi,
    I have an idoc imported in XI.  It comes with standard message type while importing .
    I need to route this IDOC to two different systems.  But the problme is the Message type is different for both of this system, but the IDOC type is same.
    And the RCVPRN is also different.
    Isit possible to put in Routing rule as the IDOC message type can\t be changed.
    Regards,
    Anandh

    Hi,
    You need to use two seperate Message Mappings as while processing the IDOCs via receiver determination to receiver SAP system, it will check for the IDOC Metadata.
    If the IDOC metadata i.e including the Message Type for Basic IDOC Type will not be matched then that would create problem while processing the idoc.
    Even if the control records are manipulated as per the required Message Type and the RCVPRN, you need two different Mappings as well as seperate receiver determinations.
    Thanks
    Swarup

  • Report router rules and drop off library in Sharepoint

    Hi,
    I am running the report from the Report Setting link in Duet Enterprise. I get the message saying, 'The report has been submitted for processing and will be delivered to your Reports page".
    But i am not getting any reports in the reports page. After googling, i got to know that i will have to confiure the Report Routing rules for the same. Also a Drop off library needs to be maintained.
    Could anyone please explain the detailed steps for doing both these activities? Being a SAP expert, i dont know much about SharePoint sites.
    ~ Ramanath

    Hi,
    lets perform some checks to see where we are actually failing.
    The error
    User may not be a Duet user.
    SAP system not configured or changed on add-on.
    SAPID passed was not present in the master system.
    means that somewhere on the server where the report is running the information that is retrieved from the SCL server is not correct. In your case these two systems (the server that is running the report and the SCL) are the same, but technically the flow is similar to the case that both would be on seperate system.
    So the first thing I would check is if the RFC destination and the logical port that was configured is correct.
    (all the following steps are done on the SCL in your case):
    At first go to LPCONFIG and search for the Proxy Class: /OSP/CO_REP_ADAPTER_WSVI_DOCUM with Default Port checked.
    Make sure that this logical port is active, then go to the Call Parameters tab. Here you should see in the HTTP Destination an entry IWCNT_REPT_ACT_HTTP_DEST.
    Double click on that (don't save any changes if you get a prompt) and you will end up in SM59. Here you should see in the target host field the hostname of the SCL server. Under Service No. the HTTPS Port of your SCL system and finally in Path Prefix you should see something like this:
    /sap/bc/srt/pm/iwcnt/repadapterwsvi_document/001/duet_enterprise_assertion/1/binding_t_https_a_http__-iwcnt_-repadapterwsvi_document_duet_enterprise_assertion
    Before performing a connection test, go to the "Logon & Security" tab. Here you should see in the "Logon with Ticket" secion "Send Assertion Ticket for Dedicated Target System" checked and also SSL Active in the Status of Secure Protocol. The SSL Certificate is set to "ANONYM SSL Client (Anonymous)".
    If that is all the case, then click on "Connection Test". The result should be a HTTP 415.
    Let me know if that helps.
    Regards,
    Holger.

Maybe you are looking for