Does OpenESB support "Content-based Routing"?

Hi,
support OpenESB the "Content-based-Routing"? e.g is there JXPath SE or Groovy SE or any service engine for this issue? if yes which is please?
thanks in advance
Younes

There's an Apache Camel service engine, and Camel's rather neat when it comes to routing
edit: groan :-( I just noticed the date on this post
Edited by: georgemc on Jul 7, 2010 1:59 PM

Similar Messages

  • Oracle ESB - Message routing support & content based routing

    Hi Friends,
    Can anyone please let me know how message routing and content based routing is happening in Oracle ESB.

    Check this...
    http://docs.oracle.com/cd/E23943_01/dev.1111/e15866/tasks.htm#i1116351
    And this...
    https://forums.oracle.com/forums/ann.jspa?annID=893

  • Content based routing and XML with multiple objects

    I have some structure:
    <contracts>
      <contract>
         <department>1</department>
      </contract>
      <contract>
         <department>1</department>
       </contract>
      <contract>
         <department>2</department>
       </contract>
    </contracts>
    I need to route contract to 2 system based on <department> value:
    contracts/department = 1 --> System1
    contracts/department = 2 --> System2
    Will XI split my XML (based on Content Routing rules in ID) into 2 structures (with departmet=1 and department=2 accordingly) ?
    Or I have to perform 1ToN mapping? I don't like it bacause it will be diffucult to monitor hundred of messages.

    Alternatively if you donot like 1:n mapping and BPM.
    Create two message mappings in the IR
    1.Source :<contracts>
    <contract>
    <department>1</department>
    </contract>
    <contract>
    <department>1</department>
    </contract>
    <contract>
    <department>2</department>
    </contract>
    </contracts>
    Target:
    <contracts>
    <contract>
    <department>1</department>
    </contract>
    <contract>
    <department>1</department>
    </contract>
    Basically mapping generates a target structure which has only department 1.
    2.Same like step1 but the mapping should generate the XML with department = 2.
    Once requires steps are done in the ID , do the content based routing in the reciever determination and give the appropraite message mapping in the interface determination.
    That should your problem and also you will like doing it as it does not involve any split level mapping..:)

  • Content Based Routing in ESB

    Hi All ,
    I needed some help on the content based routing feature in ESB .
    I have an ESB Process in which Data is extracted from a Database(using Select operation) and I have a column X based on whose content I want to invoke the next set of target services . I had assumed having 3 different routing rules with the Filter expression based on the content of X will do the work .This works only when I have one record for a batch of records it doesnot work .
    Wanted to know how does it evaluate for a scenario where we have multiple records in a payload with the value of the column on which we are doing content based routing varrying across the payload ?
    Thanks in advance.

    Hi,
    As James stated esb is processing the incomming recordset as one message so it applies your xpath expression to that message as a whole. Anyway, in your case, if you want to process records from a database table one record at the time i would go for the db polling mechanism and change my database model to include a logical delete column (eg a column processed which contains a Y or a N). You can not split a multiple record message in esb itself into separate messages for each record.
    Kind Regards,
    Andre

  • Sender SMTP Adapter / Content Based Routing / Mapping of an attachement

    Hi all,
    I'm still working on my SMTP --> PI --> Proxy scenario (asynchronous). I've tried several different properties of my sender communication channel (type = mail), but I didn't find the correct configuration. Hopefully it exists.
    I'm working with PI 7.0 SP10.
    I get an inbound message via Mail using sender SOAP Adapter. The message payload itself is an attachement. Now I'd like to do the following:
    a) Content Based Routing in Receiver Determination based on the message subject
    b) Mapping of the Attachement XML message to my inbound proxy interface
    Now, trying to do so, I didn't get it work. When I use XIPAYLOAD with keep attachements, I get two attachements in my inbound message (one in XI mail package format having the subject within, one with the IDoc structure I'd like to map). How can I assign the second attachement to be used for my message mapping?
    When I use XIALL instead of XIPAYLOAD, I think the mapping will work but my subject for content based routing will be lost, right? That one I didn't get running because of another failure, so I don't know the exact behaviour of the adapter for that configuration.
    Anybody out there who know the correct configuration for the sender mail adapter for my small scenario above?
    BR
    Holger

    Hi Stefan,
    sorry for misunderstanding, for sure I'm using the mail adapter, not the SOAP Adapter. I'm actually on the same direction. I'm using XIPAYLOAD as message protocoll (having the attachement as the content for the mapping --> correct). Furthermore I've also found the predefined context objects for the content based routing receiver determination.
    What I missed was setting the following properties in the communication channel:
    To store adapter attributes in the message header of the XI message, set the Set Adapter-Specific Message Attributes indicator.
    The following attributes are added to the XI message header if the sender makes them available, and if the Variable Transport Binding indicator is set.
    Now it's working
    BR
    Holger

  • Content based Routing?

    Hi Forum,
    I've looked through the messages regarding content based routing or similar's but the answers did not satisfy my needs. I have an XSLT mapping from a flat file structure to an IDOC. To qualify the receiving system I have to do a database lookup in my XSLT mapping by a Java extension function with combining some of the inputfields. The result of this database lookup is the Receiver System. How can I use this result in the condition Editor for the receiver determination. I can only use here the Nodes from the inputmessage. Are there other ways to have access to a "global Container" where I can store the results from the databaselookup to use them here?
    Thanks for you patience
    Manfred Schmidt-Voigt

    Hi,
    If the outbound adapter is a j2ee adapter, you can write a module which performs the lookup in a database or what ever. Then alter the message and add the information looked up.
    The easy way would be to add an extra attribute on the root node and add the content of the lookup in this field.
    I whould though prefere to use add the information to my root node.
    If you are not that keen on adapter development, the send the message into a bpm where you perform a lookup. This could probably be performed useing one of SP13's lookup functions.  The BPM should only consist of a recieve and a send step. When sending the message you should be able to perform the routing.
    /daniel

  • Content based routing in PI 7.1?

    Hi Guys,
    For the normal content based routing in PI 7.1 in the receiver determination step once i select the conditin and in the condition editor to choose the filed, i dont see any interface under the xpath.
    I dont have any search help option in the xpath column
    any help or suggestions would be appreciated
    Thanks,
    Raj

    Hi Raj,
    Try the steps which I am giving below, although it's a workaround and don't know the exact reason why it is failing.
    1. Open your Outbound Message Interface (which you are using in your Receiver Determination) in IR, edit it and change the Interface pattern (which is there just below the category "Outbound") to "Stateless (XI30 - Compatible)" , save it activate it.
    2. Follow the same step for your Inbound Message Interface. Change the Interface Pattern from "Sateless" to "Stateless (XI30 - Compatible)" .
    3. Go to ID. Remove your Outbound and Inbound Message Interface from their respective Business Service/Comp and add it again.
    4. Create your your receiver determination again using the Outbound and Inbound MI you have changed.
    5. Open condition editor of your receiver determination.You should be able to see your Message Interface and can choose the XPath.
    Follow the above steps carefully. It took me an hour to find this workaround. Let me know if it works.
    Thanks
    Amit

  • Content based routing in receiver determination.

    hi,
            how to do content based routing in receiver determination based on value of  of a variable of target structure?
    Miten.

    ths is what you are looking for
    /people/shabarish.vijayakumar/blog/2006/06/07/customise-your-xpath-expressions-in-receiver-determination
    /people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers

  • Split messages while using content based routing

    Hi gurus,
    We are using content base routing by checking the value of field F1 in our scenario. If the value is V1, then route to system A; If the value is V2, then route to system B.
    There are two layer in the send message type: layer1 and layer2. Both layer1 and layer2 can occur many times.
    As you know,  The field maybe existed many times in the real messages. Sometimes with the value V1, sometimes with the value V2.
    If F1 is in the layer1, can we split into two messages by judging the value of F1?
    If F1 is in the layer2, can we split into two messages by judging the value of F1?
    Thanks in advance.

    Hi Grzegorz,
    Thanks for your reply.
    Actually my case is as follows:
    (send messge)
                   <DATA>
                        <F1>V1</F1>
                   </DATA>
                   <DATA>
                        <F1>V2</F1>
                   </DATA>
                   <DATA>
                        <F1>V1</F1>
                   </DATA>
    Then in system A, we should receive( suppose no mapping):
                   <DATA>
                        <F1>V1</F1>
                   </DATA>
                   <DATA>
                        <F1>V1</F1>
                   </DATA>
    While in system B, we should recieve:
                   <DATA>
                        <F1>V2</F1>
                   </DATA>
    If we only use content based routing, both A and B will receive all 3 DATA.
    Any ideas? Thanks in advance.

  • Where do you perform Content based Routing?

    Where do you perform Content based Routing?
    Edited by: I AM NEW TO XI on Jan 8, 2009 5:11 PM

    Hello,
    Although jayson has answered, just to help you more, in the receiver determination in ID, you will see conditional routing, there if you click, you will see your source message structure, you can select a perticular field and set conditions and the corresponding reciever if those conditions are met.
    Hope this helps.
    Thanks
    -Kulwant
    Award score if useful

  • Content based Routing Vs Message based Routing

    Hi friends,
    Can u plz differentiale Content based Routing and Message based Routing?

    Hi,
    Content based routing is when the receiver is determined based upon some value in message i.e for a field 'a' receiver is A but if its 'b' receiver is B.this is determined at runtime.
    While message based is normal routing
    Regards,

  • Does DII support document based web service?

    Hi,
    I am writing a web service cleint DII, the web service is document based. I followed the sample in
    https://bpcatalog.dev.java.net/nonav/soa/standalone-client/
    Everything seems correct. When I call call.invoke, I got an exception saying "operation style: \"document\" not supported".
    Here is the code fragment, can anyone tell me what's wrong or does DII support document based service?
    Thanks a lot!
    Y. Zhao
    try {
    ServiceFactory factory = ServiceFactory.newInstance();
    service = factory.createService(new QName(EXTRACTURLSERVICE));
    port = new QName(EXTRACTURLPORT);
    } catch (Exception se) {
    // throw new Exception("Can not create stock service: " + se.getMessage());
    _endPointAddr = "http://www.atomic-x.com/xmlservices/HyperlinkExtractor.asmx";
    _qnameNamespaceURI = new QName("ExtractUrl");
    requestQname = new QName(NAMESPACE_URI, "ExtractUrl");
    responseQname = new QName(NAMESPACE_URI, "ExtractUrlResponse");
    Call call = null;
         try {
    call = service.createCall(port);
    call.setTargetEndpointAddress(_endPointAddr);
    call.setProperty(Call.SOAPACTION_USE_PROPERTY,
    Boolean.TRUE);
    call.setProperty(Call.SOAPACTION_URI_PROPERTY, "http://www.atomic-x.com/xmlservices/HyperlinkExtractor/ExtractUrl");
    call.setProperty("javax.xml.rpc.encodingstyle.namespace.uri", "");
    call.setProperty(Call.OPERATION_STYLE_PROPERTY, "document");
    call.setProperty(Call.ENCODINGSTYLE_URI_PROPERTY, "literal");
    call.addParameter("parameters", requestQname, ExtractUrl.class, ParameterMode.IN);
    call.setReturnType(responseQname, ExtractUrlResponse.class);
    result = (ExtractUrlResponse)call.invoke((Object[])params);
         } catch (Exception ex) {
    //throw new ServiceException("Can not get service: " + ex.getMessage());
    String msg = ex.getMessage();
    ex.printStackTrace();
         }

    There shouldn't be any restriction on the type of payload that's specific to DII.
    I did come across a similar message, but I found the cause back in the WSDL rather than the client code. Have a look at the WSDL and see if it mentions "RPC" meaning the web service is making available a remote procedure call interface.

  • Siri keeps telling me "your calendar does not support location-based reminders" when I ask her to remind me to feed the cat when I get home. My address is in contacts and it has worked previously. Did iOS 8 change something?

    calendar does not support location-based reminders....
    i Just found a similar question below and it resolved my issue. Turn off the sync to exchange email and all works fine now.

    Couldn't agree more.  I've been *trying* to use location reminders ever since buying my iPhone 4S but as yet, out of many, many attempts they've only actually worked once.
    The kid problem is very simple, the way the phone needs the location to be an address in your address book, and it's subsequent inability to correctly locate the address. My home address is a correct postal address, and has been unchanged for 40+ years, yet clicking on my address from my own contact entry puts my location some distance down my street.
    Whilst I understand the issue with the address lookup, it seems to be a massive problem with the location based reminders as it's just not possible to set useful reminders.
    What if I want to remind myself of something when I arrive at the car park on a shopping trip?  There is no address for that in my contacts, I just want to pinpoint the location on the maps and say 'remind me when I get there'.  Surely that's the simplest my far.  Same with address book contacts, if you had a field with the gps position in then one could tag the locations and know they were 100% accurate for location services.
    Such a shame as it's one of the key reasons I upgraded my phone and as it stands it just plain doesn't work.

  • Query - Content Based Routing - File to File

    Hi,
      I'm trying to create a scenario which sends a file (multiple records) to multiple receivers based on the Header(System) of the record.
    File format:
    <System,Name,Age,Qualification>
    If the System value is "Sys1" then it should be written into the file A, else into the file B.
    Please let me know the different ways of doing it.
    Is BPM mandatory for this scenario?
    Thanks,
    Rakesh.

    Hi Rakesh,
    This scenario you are trying can be done using CONDITIONAL RECEIVER DETERMINATION and RB SPLIT
    To do this without using a BPM.
    1. Create your mapping program that will map the information from the source file
    into the destination idoc. This has to be a 1:N split. Just make sure that the destination message type and message interface are are of occurrence N.
    2. Also, you will have 2 destination interfaces and 2 interface mapping, one for the IDOC and one for the mail.
    Now, there are a few essential steps in your configuration,
    1. In the receiver determination, specify the 2 receiver systems, one for your IDOC and the other for your MAIL.
    2. Now, you will have a condition window. Just type the condition on the basis of which the receiver has to be determined for the mail and the idoc business system. Just remember that the condition can be specified only for the source message.
    2. In the Interface Determination, you have an option called RB CLASSIC and RB SPLIT. To do a 1:N split, you will have to do a RB_SPLIT.
    Thus, your solution can be devised without a BPM wich I guess is preferred because of performance issues.
    You can also go through the following to understand the step by step procedure to have 2 receivers:
    <a href="/people/suraj.sr/blog/2006/01/05/multiple-inbound-interfaces-within-a-service Inbound Interfaces within a Service</a>
    <a href="/people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers receiver Scenario</a>
    I hope I have answered your query.
    Regards,
    Abhy

  • Content based routing on anyxml payload

    Hi guys,
    I try to do the next.
    I have a anyxml type proxyserver which polls on a queue.
    From the queue i can receive different types of xml messages.
    <message1>some info</message1>next messsage
    <message2>some info</message2>They both have different handlers so i try to do the next thing.
    added Conditional Branch.
    selected path : ./*[position()=1]/name() (this gives me the name of the first element (so in this case message1 and message2))
    and this string i want to use to branch to the different handlers.
    but the selected path expects a node-value and no string-value.
    An error was reported compiling the XPath expression: XQuery exception: line 25, column 19: {err}XP0004 [{bea-err}XP0004b]: Found type mismtach in expression. Only empty sequence satisfies type checking rules. Expected type: node*. Actual type: {http://www.w3.org/2001/XMLSchema}string* for expression: declare namespace ws = 'http://www.bea.com/wli/sb/transports/ws';when i add './*[position()=1]' it validates
    any idea how to be able to route based on the text-value of an element instead of browse through the payload itself ?
    Thanks!
    Eric

    Are you using dynamic route, documented at
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/modelingmessageflow.html#wp1081507 . ?

Maybe you are looking for

  • Buying more then one license for FCPX

    Hi, I'v got problem. I'v got 4 imac computers. I need to buy 4 licenses of Final Cut Pro X... As far i bought one license through the app store, using my apple id. There was no option to change number of the licenses. According to FCPX license, if i

  • Error while printing smartforms

    Hi Friends,   I am getting error "<b>Invalid value for parameter ARCHDEST</b>" while printing smartforms. This is happening only in IDES server. In Development the same smartform is working normally. I have checked in transaction SU53, to see whether

  • Credit Memo is posting Debiting Customer Account instead of Crediting

    Hi Gurus, When i use SD Document Category "K" (Credit Memo) for Sales Order type "Credit Memo", first system shows all figures with Negative Sign "-" during my Pricing Condition maintanence at line item level of an Order (Credit Memo). Second and mos

  • Oracle DR Setup Problems / ORA - 600 /

    Dear All, Recently we have implemented DR(Disaster Recovery setup Using Oracle data guard in 10g, GUI configurations ) in our Production server. The DR setups are based on the Maximum performance with Realtime apply mode. The configuration went fine

  • LoadMovie (swf) scaling problem...

    I have a movieClip for loading external pictures or SWF files that's works just fine - unless the loaded SWF has an object that is located or moves off the stage (it's original stage - the one the loaded SWF was published with). The movieClip rescale