Dynamic routing in BPEL

Is it possible to dynamically route msgs to different JMS topics in an BPEL project?
I'm following this article (http://www.oracle.com/technology/pub/articles/bpel_cookbook/carey.html) that defines how to do the same in case of web-services.
However, even when I set the EndpointReference as follows and assign it to the partnerlink, the message lands up in the topic that the partner link points to. It doesn't take the topic value that I'm setting up below!
<EndpointReference
xmlns="http://schemas.xmlsoap.org/ws/2003/03/addressing"
xmlns:ns1="http://services.otn.com">
<Address>SOME_TEST_TOPIC</Address>
</EndpointReference>
Any pointers would be greatly appreciated. If in case, I need to provide further details, please let me know.

Hi ,
Address element in end point reference is the soap address of any wsdl.
If you check the wsdl of your jms partner link you will find that its structure is a little different.
try posting that wsdl here and lets see how can we make it dynamic.
Cheers:)

Similar Messages

  • Dynamic Routing in BPEL 11g

    Hi,
    I have requirement where i need to dynamically call different WSDL with related xsd's. Currently i have two target system & i have two xsd's. But in future suppose third taregt system will come in picture than i need to change configuration & code will work without changing & deploying original code. Is this possible in BPEL? If yes, could you please provide tutorial related that.
    I heard that using mediator we can achive that but i could not able to find any docs for dynamic routing using mediator.
    Thanks

    Hi,
    I had dealt with dynamic routing in BPEL not sure about mediator though.
    You can check the following link.
    http://www.oracle.com/technology/pub/articles/bpel_cookbook/carey.html
    Thanks,
    Mohammad

  • Problem in dynamic routing through ESB

    Hi All,
    I am trying dynamic routing through ESB, So I created routing service in my esb with WSDL of BPEL Process1 and a soap service with same wsdl. Then created a xsl transformation. In this xsl transformation I added below code to route to BPEL process 2.
    <xsl:variable name="LocationIn"
    select="http://PC-HP249:8888/orabpel/default/SyncBPELProcess2/1.0/SyncBPELProcess2"/>
    <xsl:variable name="LocationOut"
    select="ehdr:setOutboundHeader('/shdr:ESBHeader/shdr:location',
    $LocationIn, 'shdr=http://xmlns.oracle.com/esb;')"/>
    But when I am invoking this ESB through another BPEL process, Got below error message:, Is there any solution for that , I am using 10.1..3.4.0, (JDEV, and BPEL).
    receiveInput
    [2010/02/25 17:50:39] Received "inputVariable" call from partner "client" More...
    View xml document
    Invoke_1 (faulted)
    [2010/02/25 17:50:39] Faulted while invoking operation "initiate" on provider "PartnerLink_1".less
    -<messages>
    -<input>
    -<Invoke_1_initiate_InputVariable>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
    <SyncBPELProcess1ProcessRequest xmlns="http://xmlns.oracle.com/SyncBPELProcess1"/>
    </part>
    </Invoke_1_initiate_InputVariable>
    </input>
    <fault>
    ORABPEL-08034
    JTA Rollback requested.
    The current JTA transaction has been aborted due to rollback request received from partner invocation.
    </fault>
    </messages>
    </sequence>
    [2010/02/25 17:50:39] There is a system exception while performing the BPEL instance, the reason is "Namespace prefix 'http' used but not declared.". Please check the error log file for more infromation. Please try to use bpel fault handlers to catch the faults in your bpel process. If this is a system exception, please report this to your system administrator. Administrator could perform manual recovery of the instance from last non-idempotent activity or dehydration point. More...
    oracle.xml.xpath.XPathException: Namespace prefix 'http' used but not declared.
         at oracle.xml.xslt.XSLBuilder.startElement(XSLBuilder.java:468)
         at oracle.xml.parser.v2.XMLElement.reportStartElement(XMLElement.java:3703)
         at oracle.xml.parser.v2.XMLElement.reportSAXEvents(XMLElement.java:3564)
         at oracle.xml.parser.v2.XMLElement.reportChildSAXEvents(XMLElement.java:3576)
         at oracle.xml.parser.v2.XMLElement.reportSAXEvents(XMLElement.java:3566)
         at oracle.xml.parser.v2.XMLElement.reportChildSAXEvents(XMLElement.java:3576)
         at oracle.xml.parser.v2.XMLElement.reportSAXEvents(XMLElement.java:3566)
         at oracle.xml.parser.v2.XMLElement.reportChildSAXEvents(XMLElement.java:3576)
         at oracle.xml.parser.v2.XMLDocument.reportSAXEvents(XMLDocument.java:1537)
         at oracle.xml.jaxp.JXSAXTransformerFactory.newTemplates(JXSAXTransformerFactory.java:379)
         at oracle.tip.esb.server.service.EsbTransformer.getXSLTTransformer(EsbTransformer.java:147)
         at oracle.tip.esb.server.common.cache.TransformCachePolicy.loadEntry(TransformCachePolicy.java:50)
         at oracle.tip.esb.server.common.cache.Cache.setEntry(Cache.java:306)
         at oracle.tip.esb.server.common.cache.Cache.setEntry(Cache.java:270)
         at oracle.tip.esb.server.common.cache.Cache.getEntry(Cache.java:208)
         at oracle.tip.esb.server.common.cache.Cache.getEntry(Cache.java:181)
         at oracle.tip.esb.server.common.cache.RuntimeCache.getXSLTransformer(RuntimeCache.java:324)
         at oracle.tip.esb.server.service.EsbTransformer.doTransform(EsbTransformer.java:101)
         at oracle.tip.esb.server.service.EsbTransformer.transform(EsbTransformer.java:90)
         at oracle.tip.esb.server.service.EsbTransformer.transform(EsbTransformer.java:83)
         at oracle.tip.esb.server.service.EsbRouterSubscription.transform(EsbRouterSubscription.java:388)
         at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(EsbRouterSubscription.java:208)
         at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(EventDispatcher.java:138)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(InitialEventDispatcher.java:545)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(InitialEventDispatcher.java:527)
         at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(EventDispatcher.java:94)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(InitialEventDispatcher.java:160)
         at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1988)
         at oracle.tip.esb.server.dispatch.BusinessEvent.raise(BusinessEvent.java:1467)
         at oracle.tip.esb.wsif.WSIFOperation_ESB.executeRequestResponseOperation(WSIFOperation_ESB.java:288)
         at oracle.tip.esb.wsif.WSIFOperation_ESB.executeInputOnlyOperation(WSIFOperation_ESB.java:357)
         at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:472)
         at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:437)
         at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:251)
         at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:826)
         at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:402)
         at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:199)
         at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3698)
         at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1655)
         at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:217)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:314)
         at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5765)
         at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1087)
         at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:546)
         at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:342)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
         at com.evermind.server.ThreadState.runAs(ThreadState.java:693)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
         at CubeDeliveryBean_LocalProxy_4bin6i8.handleInvoke(Unknown Source)
         at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:140)
         at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:58)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
         at java.lang.Thread.run(Thread.java:595)
    [2010/02/25 17:50:39] BPEL process instance "260032" cancelled
    Regards

    In below I changed http://PC-HP249:8888/orabpel/default/SyncBPELProcess2/1.0/SyncBPELProcess2 to http://PC-HP249:8888/orabpel/default/SyncBPELProcess2/1.0 . this is working.
    <xsl:variable name="LocationIn"
    select="http://PC-HP249:8888/orabpel/default/SyncBPELProcess2/1.0/SyncBPELProcess2"/>

  • Mediator dynamic routing

    Hi,
    has anyone implemented mediator dynamic routing successfully (11.1.1.5)?
    when trying to do it, none of the rules is selected, and when creating a function to test it on jdeveloper it returns an error :
    oracle.rules.sdk2.exception.SDKException: RUL-05016: The Java class "oracle.tip.mediator.rules.model.ObjectFactory" cannot be loaded. Ensure that the class and all its dependent classes are on either the class path or the user-specified path.
    The error message on the instance is:
    Non Recoverable Business Fault :
    Fact not found in the rule engine working memory, rule session execution failed. The rule session 771038 failed because an instance of the fact oracle.tip.mediator.rules.model.DynamicRouting could not be found in the working memory of the rule session. This is most likely a rule modeling error. The decision service interaction expects the fact instance to exist in the working memory of the rule session. Check the rule actions in rule designer and make sure that a fact of the expected type is being asserted. If the error persists, contact Oracle Support Services. 771038
    Any help?
    Regards.
    Edited by: 903432 on 14/Abr/2012 9:46

    Hi,
    How are you planning to design your composite ? Right now system B uses Version 1, so you will be adding transformation for Version2 to Version 1.Once your System B is upgraded then it will have to consume Version2 of xsd, for which you have to remove the transformation from mediator and update your webservice with schema 2. In that case you have to redeploy your code.
    Are you planning to use BPEL after mediator, or directly you would be calling system B using mediator as standalone component?
    How much differenc is between version 1 and version 2 schemas structure wise? Are both of them altogether different ?
    Regards,
    Karan

  • Dynamic Routing error

    Has anyone had any success with Dynamic Routing on SoaSuite 11.1.1.6. Either through a mediator or through a BPEL Phase activity?
    This has been posted previously but I haven't seen a solution yet
    The error I get is
    Non Recoverable Business Fault :
    Fact not found in the rule engine working memory, rule session execution failed. The rule session 210165 failed because an instance of the fact oracle.tip.mediator.rules.model.DynamicRouting could not be found in the working memory of the rule session. This is most likely a rule modeling error. The decision service interaction expects the fact instance to exist in the working memory of the rule session. Check the rule actions in rule designer and make sure that a fact of the expected type is being asserted. If the error persists, contact Oracle Support Services. 210165
    The FMW Guide http://docs.oracle.com/cd/E15523_01/integration.1111/e10224/bp_two_layer_bpm.htm#CDEDBJBJ references a sample called BPELPhaseActivity but I can't find this sample
    Cheers
    Owen

    As Hisaak mentioned, try routing option if you want to set URI dynamically. To use the dynamic route action, you need the fully qualified name of the service in Oracle Service Bus as described in http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/modelingmessageflow.html#wp1081507
    Thanks
    Manoj

  • Dynamic Routing? how to read files from 2 different directories?

    i need to do that..pick files but from 2 different locations..
    any simple idea?
    yes, the best simple is to have 2 bpels listenening to each directory...
    can i create only 1 BPEL?
    i heard about Dynamic Routing...too complex?
    Thanks!
    Pablo.

    Hi,
    I guess you can try it with Pick as the initial activity( With Create Instance Checked) and you map your two File Adapter to two On Message branches..
    I guess this should work but i am not sure how far this is reliable.. with Pick..
    Worth giving a try..
    Thanks,
    Jp

  • Dynamic routing mediator running continuously

    Using Dynamic routing mediator i called a BPEL process but after calling the target BPEL process instance of the Dynamic routing mediator composite running continuously.
    Why is it happening?
    how we can send callback data to source from Mediator?

    Hi,
    How are you planning to design your composite ? Right now system B uses Version 1, so you will be adding transformation for Version2 to Version 1.Once your System B is upgraded then it will have to consume Version2 of xsd, for which you have to remove the transformation from mediator and update your webservice with schema 2. In that case you have to redeploy your code.
    Are you planning to use BPEL after mediator, or directly you would be calling system B using mediator as standalone component?
    How much differenc is between version 1 and version 2 schemas structure wise? Are both of them altogether different ?
    Regards,
    Karan

  • How to invoke synchronous services dynamically (parallel) using BPEL

    hi,
    I am working on soa suit 11g(11.1.1.2.0) & weblogic server 10.3.2. I have one requirement in which i need to dynamically route endpoints. To achive this, i have created one table in which i stored endpoints(wsdl url) & i used parallel flow to get that wsdl entry. I am invoking dbadaptor & taking input from parallel activity's as index variable which is unique for each time. Like for one flow it uses 1, second flow it uses 2 and so on. But when i m calling dbadaptor to get wsdl_url from table, everytime it's taking first index_value, hence i am not getting correct wsdl_url from table. If i will get correct url then i will use dynamica partnerlink to call wsdl.
    Could you please tell me any other way to dynamically route end point in BPEL?
    Thanks
    Amit

    Dude,
    I do have same requirement, but I followed the below link and I have created my process. I haven't tested it due to my environment is not yet ready. Even though my strong feeling is that we can achieve using this OSR installation. Just follow link and install OSR, after that take web service partner link and go to Resource pallet and invoke the service which is already exported from OSB, then one window will pop up with message of Check Dynamic......, there you have to check them. Finally all you need to do is..., Test it on another environment and let me know.
    http://biemond.blogspot.com/2009/12/using-oracle-service-registry-in-soa.html
    Cheers,
    Mally

  • Issue in Dynamic routing (OSB)

    Hi,
    I implemented dynamic routing in OSB,using xQuery:-
    +<tradingPartnerList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\bea910\user_projects\eclipse\TradingPartners.xsd">+
    +     <tp>+
    +          <Name>Platinum</Name>+
    +          <URL>DynamicDispatch/p1</URL>+
    +     </tp>+
    +<tp>+
    +          <Name>Gold</Name>+
    +          <URL>DynamicDispatch/p2</URL>+
    +     </tp>+
    +</tradingPartnerList>+
    I am routing it on to another proxy using following xml:-
    <ctx:route>
    <ctx:service isProxy='true'>{$endpoint}</ctx:service>
    <ctx:operation>null</ctx:operation>
    </ctx:route>
    Where the Endpoint is from the above xQuery..
    All work fine but i have a one Issue:-
    In <ctx:service isProxy='true'>{$endpoint}</ctx:service> we specify the folder structure of the proxyservice. but what if i move my proxy in future,if i move some of my proxy to other folder the xquery need to be changed which i feel is vv poor design.
    Is there any way where is can specify URL or URI of the proxy service????

    Is there any way where is can specify URL or URI of the proxy service????First of all, you would not like to move your resources here and there frequently in production. Secondly, if you move the resources, definitely you have to change X-Query/Message flow. There is no alternative.
    If you want this feature to be enhanced, please raise a ER with Oracle Support and if they find it valid, will provide a patch for the same.
    Regards,
    Anuj

  • Dynamic routing in OSB

    Environment: OSB 10.3.1
    To avoid manual configuring all published services one-by-one (eg. alter logging), I'd like to implement a generic proxy pattern in OSB. Assume that I have business services at /bs1, /bs2, etc, proxy services at /ps1, /ps2, etc.
    What I'd like to achieve is to publish proxy services which routes to the generic proxy first and then reroute to the original proxy service. For this I published eg. /pps1, /pps2, etc all with an Insert action which saves $inbound/ctx:transport/ctx:uri to . in $header and then route to the genericproxy proxy service.
    Generic proxy starts by executing common logic in the pipeline (log, etc), then should fetch the original routing information from the header and use dynamic routing to direct the message to the right proxy service (/ps1, /ps2, etc).
    Now the questions:
    1. is this the right approach to solve the problem of generic configuration of multiple published services in OSB?
    2. appearently the uri itself is not enough for dynamic routing - what else do I need to save from the original message?
    3. can I construct a <ctx:route><ctx:service..><ctx:operation..> construct with only Insert actions? I'd need a concrete example here accomplishing this.
    Thanks.

    Well you have to add Route Node to your proxy pipeline and inside it add a Dynamic Routing action.
    If you select the Dynamic Routing action you'll see in the Properties view something like:
    Service: <Expression>
    Here is where you have to define the <ctx:route> element. You can basically paste the text here.
    You could also create an XQuery transformation (so you can reuse it later) and invoke it here (with the XQuery Resources tab). But if you're not very familiar with XQuery I'd advise to start with the first option just to see it working.
    At first you could also omit the {$proxy} variable and statically specify the service you want to route to. Or you could use an Assign action to define the $proxy (or any name you want to give it) variable. And then once that's working see if you can get the service path from the headers.
    Hope that helps

  • Service Registry's Dynamic Lookup of BPEL Partner Link not working

    Hi,
    Software : SOA 10.1.3.1
    OS : Windows XP, 2000
    I have deployed webservice application (GetMaxOfTwo) which will give me max of 2 values. Registered the WS in OWSM with user authentication. Registered newly generated WSDL in OSR (Oracle Service Registry). A simple BPEL Process will call service as PartnerLink, which is configured as "Enabling Dynamic Lookup of BPEL Partner Link Endpoints". As mentioned in the document made entry in bpel.xml as registryServiceKey property containing the serviceKey value to the partnerLinkBinding section.
    The entire scenario is working fine and changed the servicekey value to wrong value in bpel.xml and redeployed, as expected it was giving me error message saying invalid servicekey.
    Now deployed GetMaxOfTwo in another application server and registered in OWSM. Intentionally stopped the first GetMaxOfTwo application. In the OSR Service changed the binding with new WSDL of OWSM. As BPEL process enabled with dynamic lookup it should execute without any error. But the results in this case was giving error saying the service was down. (Means it is referring to the old GetMaxOfTwo webservice.
    What could be the reason?, something is missing in the configuration?
    Regards
    Venkata M Rao
    +91 80 4107 5437

    Hi
    I am having trouble making the BPEL and Systinet to work together. I have Systinet and BPEL installed separately on 2 different servers. I deployed my web services and registered them in UDDI. I created a new BPEL process and added a partner link to refer to one of the web service I have registered in UDDI. When I create the partner link, it is forcing me to give the wsdl and it also gives an error message " There are no partner link types defined in current wsdl. Do you want create that will by default create partner link type for you?". If I say "NO' then deployment fails. If I say "Yes", then it creates a new wsdl file on the local server etc and gives "<Faulthttp://schemas.xmlsoap.org/soap/envelope/>
    <faultcode>soapenv:Server.userException</faultcode>
    <faultstring>com.oracle.bpel.client.delivery.ReceiveTimeOutException: Waiting for response has timed out. The conversation id is 75164a0815ea471a:-3be8c246:117cc377894:-537b. Please check the process instance for detail.</faultstring>". Any help is appreciated.

  • Information on Dynamic Routing

    Hello!
    I am writing my diploma thesis as Oracle Germany. At the moment I am interested in Application Server's load balancing feature called "Dynamic Routing" ([1] p11, middle). But I cannot find any detailed information about it. Can you help me?
    Thanks,
    Ralf
    [1] http://www.oracle.com/technology/products/ias/hi_av/OracleApplicationServer10gR3HA-WP.pdf

    Hi!
    Thanks for your reply. Now I know that this dynamic routing is not as smart as I expected it to be. But if you add the dynamic routing, which automatically uses all available targets, and metric based routing then the resuilt seem to be quite "smart". :-)
    Ralf

  • Good CCIE question: Can multiple site-2-site VPNs support dynamic routing protocols?

    Hi All,
    Was not sure if this should be posted in LAN routing, WAN routing or VPN forums: I have posted here as the VPN tunnels are the limiting factors...
    I am trying to understand if it is possible to have dynamic routing between LANs when using site to site VPNs on three or more ASA55x5-x (9.0).
    To best explain the question I have put together an example scenario:
    Lets say we have three sites, which are all connected via a separate site-2-site IKEv2 VPNs, in a full mesh topology (6 x SAs).
    Across the whole system there would be a 192.168.0.0/16 subnet which is divided up by VLSM across all sites.
    The inside / outside interfaces of the ASA would be static IPs from a /30 subnet.
    Routing on the outside interface is not of concern in this scenario.
    The inside interface of the ASA connects directly to a router, which further uses VLSM to assign additional subnets.
    VLSM is not cleanly summarised per site. (I know this flys against VLSM best practice, but makes the scenario clearer...)
    New subnets are added and removed at each site on a frequent basis.
    EIGRP will be running on each core router, and any stub routers at each site.
    So this results in the following example topology, of which I have exaggerated the VLSM position:
    (http://www.diagram.ly/?share=#OtprIYuOeKRb3HBV6Qy8CL8ZUE6Bkc2FPg2gKHnzVliaJBhuIG)
    Now, using static route redistribution from the ASAs into EIGRP and making the ASAs to be an EIGRP neighbour, would be one way. This would mean an isolated EIGRP AS per site, but each site would only learn about a new remote subnet if the crypto map match ACL was altered. But the bit that I am confused over, is the potential to have new subnets added or removed which would require EIGRP routing processes on the relevant site X router to be altered as well as crypto map ACLs being altered at all sites. This doesn't seem a sensible approach...
    The second method could be to have the 192.168.0.0/16 network defined in the crypto map on all tunnels and allow the ASAs routing table to chose which tunnel to send the traffic over. This would require multiple neighbours for the ASA, but for example in OSPF, it can only support one neighbour over a S2S VPN when manually defined (point-to-point). The only way round this I can see is to share our internal routing tables with the IP cloud, but this then discloses information that would be otherwise protected by the IPSEC tunnel...
    Is there a better method to propagate the routing information dynamically around the example scenario above?
    Is there a way to have dynamic crypto maps based on router information?
    P.S. Diagram above produced via http://www.diagram.ly/

    Hi Guys,
    Thanks for your responses!  I am learning here, hence the post.
    David: I had looked in to the potential for GRE tunnels, but the side-effects could out weight the benifits.  The link provided shows how to pass IKEv1 and ISAKMP traffic through the ASA.  In my example (maybe not too clear?) the IPSEC traffic would be terminated on the ASA and not the core router behind.
    Marcin: Was looking at OSPF, but is that not limited to one neighbour, due to the "ospf network point-to-point non-broadcast" command in the example (needed to force the unicast over the IPSEC tunnel)? Have had a look in the ASA CLI 9.0 config guide and it is still limited to one neighbour per interface when in point-to-point:
    ospf network point-to-point non-broadcastSpecifies the interface as a point-to-point, non-broadcast network.When you designate an interface as point-to-point and non-broadcast, you must manually define the OSPF neighbor; dynamic neighbor discovery is not possible. See the "Defining Static OSPFv2 Neighbors" section for more information. Additionally, you can only define one OSPF neighbor on that interface.
    Otherwise I would agree it would be happy days...
    Any other ideas (maybe around iBGPs like OSPF) which do not envolve GRE tunnels or terminating the IPSEC on the core router please?
    Kindest Regards,
    James.

  • OSB Dynamic service call or dynamic route and transactions

    Hello,
    I've got the following problem in my OSB architecture for asynchronous incomming services.
    OSB version is 10.3.1
    ConnectionFactory is XA
    Problem domain:
    Dynamic service call or dynamic route within transaction boundary
    Elements within transaction:
    1.     JMS Queue ->
    2.     Upper Proxy Service (De-queue) ->
    3.     Lower Proxy Service (Canonical Service) ->
    4.     Business Service (Data Service) ->
    5.     Database Adapter->
    6.     Database
    Dynamic element
    Upper Proxy Service (De-Queue) must be able to determine which Lower Proxy Service (Canonical Service) has to be called on the basis of the message taken from the JMS Queue without losing the transaction (this doesn’t work yet).
    Already tried possible solutions:
    •     Make a service call dynamic by setting the $inbound name attribute. This results in a this property is read-only error.
    •     Use a Dynamic route instead of a service-call. This results in a loss of transaction. The message is deleted from the Queue without taking failure or success into account.
    •     Use a Dynamic route with a quality of service set to exactly once in the header. This seems to be ignored, results in a loss of transaction.
    •     Use a Dynamic route with an explicit reply with failure for errors. Results in a loss of transaction.
    •     Use a Dynamic Publish. This doesn’t fit the required flow because it has no response.
    I hope someone can shed some light on this because I'm at a total loss. I found some references in the forum to what seems to be the same problem but without definite answers. A work-around is also a viable answer.
    Regards,
    Bas Mul

    Hi,
    I'll try to clarify.
    Upper proxy dequeues a message.
    Depending on a value of a specific tag within the message a canonical proxy service (out of 5 at the moment but this numer could increase) has to be called (and be dynamic transform transformed to the format of the specific canonical).
    The canonical service must then pass the message to a database adaper's business service which is responsible for the database insert/update/read.
    If something in the chain from dequeue to database action goes wrong the message may not dissapear from the queue.
    Somehow a dynamic route in the message flow between dequeue proxy and canonical proxy breaks the transaction.
    Bas

  • Task assignment adapter - dynamic route to either group or user

    I have configured an approval process in design console and I want to be able to dynamically route the approval request to either the target user manager OR a group. I have written logic/code to automatically determine what group or user to route the request to and also to set the key type to either user or group depending on my logic conditions.
    This code is executed in a task assignment adapter and set the values for the key type and key depending on the logic.
    i.e. the key type would be "user" and key would be the user key for the target user manager, if my logic determines it should be routed to a manager
    OR
    the key type would be "group" and key would be the group key for the approval group, if my logic determines it should be routed to a group
    HOWEVER MY PROBLEM is with assigning the adapter to a process task. I am thinking I would need to have two entries in the Assignment tab of the process task. The first entry has the default rule and I assigned the target type to "group" and include my adapter here.
    How do I go about assigning the second entry for target type "user"? Since "Default" is the only rule option and I am not able to use it twice.
    I tried to create a rule in the Rule Definition form and create a Task Assignment rule that might do something to check if a task is assigned to "user", so that I can have this as my second rule in the Assignment tab of the process task and if it is true, it would call my adapter that would return the key for the target user's manager.
    I DO NOT KNOW what conditions to set in the Rule Element window for the Task Assignment rule. Can someone tell me what to do here OR provide me with a better alternative.

    Thanks for all the responses. Approvals are now being routed correctly.
    I have a follow-up question though........ I created a process adapter to send notifications to either the target user manager or members of the group that is the approval is routed to.
    I have a notification process task as part of my approval process and in its Integration tab, I added my process adapter that sends notifications.
    The code for the adapter uses the same logic I described in my original question to determine if the approval is being routed to a user of group. If it is routed to a group, the notification adapter identifies members of the group and sends email to them, this part works fine.
    However the problem is when the logic determines it should be routed to the target user's manager. One of the variables of this notification process adapter is username of the target user. Using that username, my code determines who the manager, gets the manager's email address and sends the email. Problem with this is that when mapping variables for process adapters in the Integration tab, in the Map To field, it does not give you the option of mapping to Request Target User, which would have provided me with user attributes of the target user such as the user name. It provides option for the Requester, but my reality is that the Requester is not always the Target User.
    Any suggestions for fixing this would be greatly appreciated.

Maybe you are looking for

  • I upgraded to ITunes 7.3 and now I can't get it to open

    I just upgraded to the latest version of ITunes for windows 7.3 and when I open ITunes it say's updating ITunes Library and appears to get about halfway through when it stops working. I just get a message that says ITunes has stopped working and need

  • How Do I Run Windows from an External Drive?

    Recently my PC with Windows XP crashed- it's old and the motherboard went. I had a full version of Windows XP on there, and I would like to know what I need to do in order to run Windows off of that hard drive (I've taken it out and have it in an enc

  • IMac with Blu-Ray or HD-DVD drive. When?

    Is there any info about when iMacs with Blu-Ray or HD-DVD drive will be available?

  • Solaris 10 03/05HW1 fails to boot on HP BL25p

    I have a problem with the above mentioned hardware. The installation succeeds from the install server. cpqary3 is installed as well as the disk size patch. When the machine reboots at the end of the install, the os doesn't load after configuration as

  • SQL Server 2008 & 2012 Database backup on a shared loaction

    Hi, I have to plan for the Database backup on SQL Server 2008 & 2012 on a shared Path. We are building a new Maintenance plan &  specify the Database which needs to be backup & at the Folder location we specify the Shared Path Location. These steps I