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

Similar Messages

  • Dynamic Routing in OSB 10gR3

    Hello All,
    I am trying to do a POC of our use-case and wanted to use the Dynamic Routing feature of OSB 10gR3 -
    - Create a Proxy which will accept service_id, version, operation and generic input request
    - Proxy should do lookup in the Routing Table (XQuery Resource) and based on the service_id as key will provide the service endpoint as -
    <ctx:route>
    <ctx:service isProxy="true"> {$routingtable/row[logical/text()=$body/ServiceRequest/ServiceId/text()]/physical/text()}</ctx:service>
    <ctx:operation>{$body/ServiceRequest/OperationName/text()}</ctx:operation>
    </ctx:route>
    - Proxy should also carry out the transformation from generic input request to specific as per the operation.
    - Proxy should then be able to call the other proxy services (as per endpoint in the routing table) and the specified operation.
    Questions -
    Is this possible in OSB 10gR3? What service type (WSDL, AnySOAP, AnyXML, messaging) should the generic proxy be? Any alternative to this approach.
    So far, I have used ALSB/OSB for simple use-cases and this is more complex so I am seeking information and feedback on this use-case and how to move forward with this use-case.
    Thanks,

    Thanks mneelapu.
    I started this use-case on baby-steps and I tried use the dynamic routing to call the operation on a proxy services
    Generic Proxy (using dynamic routing) -----> Proxy ---> Business <----WSDL (Target Service)
    Here are the steps in my code -
    (1) Created the Proxy ---> Business <----WSDL (Target Service) and tested using the test console.. all works fine.
    (2) Created Generic proxy (Messaging Type with xml as input) and I am passing the xml as
    <ServiceRequest>
    <ServiceId>TestWS</ServiceId>
    <OperationName>getStatus</OperationName>
    </ServiceRequest>
    (3) Created the pipeline pair and in the request pipeline added the stage and -
    - assign the Routing Table (as XQuery Resource) to the $routingtable varible
    (Routing Table XML looks like - <routing><row><logical>TestWS</logical><physical>/TestSB/TestPS_1</physical></row></routing>)
    - assign the XQuery expression
    <ctx:route>
    <ctx:service isProxy="true"> {$routingtable/row[logical/text()=$body/ServiceRequest/ServiceId]/physical/text()}</ctx:service>
    <ctx:operation>{$body/ServiceRequest/OperationName}</ctx:operation>
    </ctx:route>
    to $routeresult variable
    (4) Added the Route Node with dyanmic routing action added the $routeresult in the expression.
    I am getting BEA-382612 (Error preparing message for dispatch). I followed the steps as mentioned on e-docs, what am I missing here?
    -J
    Thanks,

  • Error in dynamic Routing in OSB

    I am doing dynamic routing in the proxy service by setting the URL in the Routing Options component in OSB. It's throwing Null Pointer Exception when I am using a URL like this:
    http://hqcsas095:8080/ShowImage/servlet/DisplayImage?dlNumber=1114
    The desination machine is even not getting a request.
    If I remove ?dlNumber=1114 from the URL, then destination machine is getting request. Looks like something is wrong with ? character in the URL but I cannot avoid that. I have to pass paramters.
    Thanks for your help.

    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

  • 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

  • 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

  • OSB 11g Dynamic Routing issue

    Hi,
    I am going to insane for not being able to get DynamicRouting to work. I am using DynamicRouting option in RouteNode and in the *service variable panel of this action I have the following:
    <ctx:route>
         <ctx:service isProxy='false'>/MyProject/Services/BusinessServices/MyBizService.biz</ctx:service>
         <ctx:operation>{$operation}</ctx:operation>
    </ctx:route>
    The business service is there and the path is correct. $Operation is verified to have the correct value.
    The setup is I have a proxy service based on a WSDL and in the route node I am trying to dynamically route to a business service.
    I get the following error:
    The invocation resulted in an error:
    <soapenv:Envelope      xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
         <soapenv:Body>
              <soapenv:Fault>
                   <faultcode>soapenv:Server</faultcode>
                   <faultstring>BEA-382612: Error preparing message for dispatch</faultstring>
                   <detail>
                        <con:fault      xmlns:con="http://www.bea.com/wli/sb/context">
                        <con:errorCode>BEA-382612</con:errorCode>
                        <con:reason>Error preparing message for dispatch</con:reason>
                             <con:location>
                                  <con:node>RoutingToDataServices</con:node>
                                  <con:path>request-pipeline</con:path>
                             </con:location>
                        </con:fault>
                   </detail>
              </soapenv:Fault>
         </soapenv:Body>
    </soapenv:Envelope>
    If just use Routing Table or Route action, there is no error and flow works fine.
    Has anyone else encountered issues with Dynamic Routing in this nature?
    Thanks in advance,
    Mani

    I use the web console for my OSB development and when I click on the business service The path appears like "CommonServices/BusinessService/CreditRatingTemplate" (based on the sample downloaded from the link given by me)
    I guess you are using the Eclipse/Workshop for development and hence you are getting the below:
    */* NGWS/Services/BusinessServices/NGWS_http.*biz*
    Can you replace it without the front / in the beginning of the URL and see if it works.
    Thanks,
    Patrick

  • OSB: Static Vs Dynamic Routing With "Get All Headers"

    Hi
    How Static and Dynamic Routing works when calling Business Service pointing to a service inside or out-side the domain with respect to carrying "Get All Headers".
    The scenario is
    I have two BIZ services of http protocol, B1 pointing to a serive with-in the same domain and B2 pointing to a serivce outside the domain.
    Now i am calling both BIZs throught Static and Dynamic Routing
    1. Proxy X calls BIZ1 using Static Routing
    2. Proxy X calls BIZ1 using Dynamic Routing
    3. Proxy X calls BIZ2 using Static Routing
    4. Proxy X calls BIZ2 using Dynamic Routing
    Question: In all 4 cases, does "Get All Headers" get passed to called service?. How is the behaviour?
    Thanks
    Venkata Madhu

    If you're getting errors like -
    ORA-12514: TNS:listener does not currently know of service requested in connect
    And you're database has been started you can -
    'alter system register'
    and that will register the database with the listener.
    If you are trying to start up databases remotely you need to have a static entry (listener.ora entry) otherwise you will not be able to connect to the database and will get the above error. I've seen people connect remotely, shutdown the database, try startup and they are not able to. Good way to shoot yourself in the foot.

  • OSB and dynamic routing

    we are trying to implement dynamic routing using xquery resource like in documentation http://edocs.bea.com/alsb/docs30/userguide/modelingmessageflow.html#wp1100135
    when configuring proxy service while adding the expresssion:
    <ctx: route><ctx: service isProxy=’false’>
    {$routingtable/row[logical/text()=$test_ess/proxy/mes:inventory/mes:inv-id/mes:mac]/physical/text()}
    </ctx: service>
    </ctx: route>
    get an error:
    line 1, column 5: {err}XP0003: Invalid expression: unexpected token: :
    Any suggestion?
    TIA

    Hello there....
    For this issue.. try to stuck the sentences together like this:
    <ctx:route>
         <ctx:service isProxy='false'></ctx:service>
    </ctx:route>
    Which means without the space between "ctx:" and "route"

  • OSB Dynamic Routing Downstream Error Handling.

    Hi
    I've written several services which implement dynamic routing proxys which route to other proxys who then talk to business services.
    My problem is that when the downstream service encounters an error the router seems to throw away that error message and replace it with BEA-380000.
    I've read several posts here and there about this and was wondering if there's a best practice way of dealing with this.
    Thanks,
    Nick

    Hi
    I've written several services which implement dynamic routing proxys which route to other proxys who then talk to business services.
    My problem is that when the downstream service encounters an error the router seems to throw away that error message and replace it with BEA-380000.
    I've read several posts here and there about this and was wondering if there's a best practice way of dealing with this.
    Thanks,
    Nick

  • OSB Dynamic Routing and Transaction Rollback

    Hi,
    I have implemented dynamic routing to different jms business services.
    That's the flow:
    1. I have a proxy service which is invoked via a message delivered to a jms queue(XA connection factory), this queue is configured with
    Error Destination, expiration policy redirect, redelivery limit 5 and redelivery delay override 100
    2. I use a dynamic routing action
    <ctx:route isProxy="false">
    <ctx:service>
    $businessServiceXXX
    </ctx:service>
    </ctx:route>
    where $businessServiceXXX is a variable to hold my target jms business service, its value depends on some incoming inbound headers.
    3. if the endpoint is not correct(business service endpoint is dynamic) I catch the error in a Error handler, I raise an Error but :
    THE MESSAGE IS NOT REDIRECTED TO THE ERROR QUEUE.
    I know I could solve the issue with another approach like an external table to capture(fix) the endpoints, but it won't be so flexible in terms of deployment capability.
    Any Ideas ?
    Thanks,
    T.

    Hi Tony,
    Tested this in ALSB 2.5 . Transaction rollbacks fine when error in dynamic routing. I am attaching the test JMS proxy we have used for this.
    We had XA enabled CF for JMS proxy service and target JMS BS. The dynamic route was configured in route node with no route error handler or service error handler. The test case was to pause the target JMS queue for production. We could see messages rolling back to the source queue and getting redelivered.
    Attaching the Sbconfig for this proxy. Proxy Name: Dynamic Routing
    <?xml version="1.0" encoding="UTF-8"?>
    <xml-fragment name="DynamicRouting">
    <ser:coreEntry isEnabled="true" isProxy="true" name="DynamicRouting" isAutoPublish="false" xmlns:ser="http://www.bea.com/wli/sb/services">
    <ser:description/>
    <ser:binding type="abstract XML"/>
    </ser:coreEntry>
    <ser:endpointConfig xmlns:ser="http://www.bea.com/wli/sb/services">
    <tran:provider-id xmlns:tran="http://www.bea.com/wli/sb/transports">jms</tran:provider-id>
    <tran:inbound xmlns:tran="http://www.bea.com/wli/sb/transports">true</tran:inbound>
    <tran:URI xmlns:tran="http://www.bea.com/wli/sb/transports">
    <env:value xmlns:env="http://www.bea.com/wli/config/env">jms://localhost:7001/XACF/InputQueue</env:value>
    </tran:URI>
    <tran:inbound-properties xmlns:tran="http://www.bea.com/wli/sb/transports"/>
    <tran:all-headers xmlns:tran="http://www.bea.com/wli/sb/transports">false</tran:all-headers>
    <tran:provider-specific xsi:type="jms:JmsEndPointConfiguration" xmlns:jms="http://www.bea.com/wli/sb/transports/jms" xmlns:tran="http://www.bea.com/wli/sb/transports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <jms:is-queue>true</jms:is-queue>
    <jms:is-secure>false</jms:is-secure>
    <jms:inbound-properties>
    <jms:response-required>false</jms:response-required>
    </jms:inbound-properties>
    <jms:request-encoding>UTF-8</jms:request-encoding>
    </tran:provider-specific>
    </ser:endpointConfig>
    <ser:router xmlns:ser="http://www.bea.com/wli/sb/services">
    <con:pipeline name="PipelinePairNode1_request" type="request" xmlns:con="http://www.bea.com/wli/sb/pipeline/config">
    <con:stage name="Configuration">
    <con:comment/>
    <con:context/>
    <con:actions>
    <con1:assign varName="input" xmlns:con1="http://www.bea.com/wli/sb/stages/transform/config">
    <con1:expr>
    <con:xqueryText xmlns:con="http://www.bea.com/wli/sb/stages/config"><![CDATA[<root>
    <type value="jms">
              <service>DynamicRouting/BusinessService/JMS</service>
         </type>
         <type value="http">
         <service>DynamicRouting/BusinessService/HTTP</service>
         <operation>Test</operation>
         </type>
    </root>]]></con:xqueryText>
    </con1:expr>
    </con1:assign>
    </con:actions>
    </con:stage>
    </con:pipeline>
    <con:pipeline name="PipelinePairNode1_response" type="response" xmlns:con="http://www.bea.com/wli/sb/pipeline/config"/>
    <con:flow xmlns:con="http://www.bea.com/wli/sb/pipeline/config">
    <con:pipeline-node name="PipelinePairNode1">
    <con:request>PipelinePairNode1_request</con:request>
    <con:response>PipelinePairNode1_response</con:response>
    </con:pipeline-node>
    <con:route-node name="DynamicRoute">
    <con:comment/>
    <con:context/>
    <con:actions>
    <con1:dynamic-route xmlns:con1="http://www.bea.com/wli/sb/stages/routing/config">
    <con1:service>
    <con:xqueryText xmlns:con="http://www.bea.com/wli/sb/stages/config">&lt;ctx:route>
         &lt;ctx:service isProxy="false">{data($input/*:type[@value=$body/*:body/*:type/text()]/*:service)}&lt;/ctx:service>
              if($input/*:type[@value=$body/*:body/*:type/text()]/*:operation) then
                   &lt;ctx:operation>{data($input/*:type[@value=$body/*:body/*:type/text()]/*:operation)}&lt;/ctx:operation>
    else()
    &lt;/ctx:route></con:xqueryText>
    </con1:service>
    <con1:outboundTransform>
    <con2:routing-options xmlns:con2="http://www.bea.com/wli/sb/stages/transform/config">
    <con2:uriExpr>
    <con:xqueryText xmlns:con="http://www.bea.com/wli/sb/stages/config">$body/*:body/*:url/text()</con:xqueryText>
    </con2:uriExpr>
    </con2:routing-options>
    </con1:outboundTransform>
    <con1:responseTransform/>
    </con1:dynamic-route>
    </con:actions>
    </con:route-node>
    </con:flow>
    </ser:router>
    </xml-fragment>
    Regards,
    Atheek
    Edited by: atheek1 on 27-Apr-2010 19:48

  • Dynamic timeout for OSB proxy or business services

    The scenario we got here is that we will have multiple synchronous webservices implemented as OSB proxy services. These proxies will then invoke a common "routing" proxy that will determine which other OSB proxy or business services (JMS Request/Response) to call and does the dynamic routing.
    I understand that you can set a timeout at the business service level how long to wait for a response (at least when using the JMS transport). The problem is we got the requirement that the timeout value would be dependent on the role of the caller invoking the frontend webservice (this is done via some kind of lookup to determine the appropriate timeout setting for the invocation).
    Is this possible? I can't seem to find anything exposed in the transport header that allows me to set a timeout value during runtime. This means that the frontend proxy will be waiting for a response depending on the business service timeout setting. Can we implement a timeout in this frontend proxy somehow?
    Stumped right now over this. Thanks in advance for helping out.

    >
    Are there other reasons why you say it's not the most ideal way of development ?
    >
    Versioning binary files is always a pain. You can't compare them, you can't merge them ... Another point, if you put your jar archive with OSB artifacts under version control, you will most probably face issue related to end of line styles (mac, unix, windows).
    However, the most important point is usability. I want to version .proxy and .biz services to see right in IDE that I changed something and I should check that in for the others. I don't want to risk that I forget something. And I also want to see what other users committed, what sources they work on ... You loose all of that by versioning jar file. I would never go this way.

  • Xquery expression in Dynamic Routing

    Hi All,
    I need a help.My requirement is as follows.
    1) I Have 2 nos of Proxy and Multiple Business Service.
    2) First Proxy calling 2nd Proxy and passing the BusinessService Name in user-define Header(only One Header) using Transport Header.
    3)2nd Proxy calls the required Business Service using Dynamic routing.
    The problem i am getting is when i am using the xpath expression of the header value($inbound/ctx:transport/ctx:request/tp:headers/tp:user-header/@value) in the Dynamic Routing expression
    (<ctx:route>
    <ctx:service isProxy="false">
    {$inbound/ctx:transport/ctx:request/tp:headers/tp:user-header/@value}
    </ctx:service>
    </ctx:route>) , I am getting some exception.
    But if i use Assign node before Dynamic Routing and mention the same xpath of header value to a variable and the variable in the Dynamic Routing expression,I am able to invoke business Service sucessfully.
    But my requirement is not to use any Assign Node.
    Does any one has any idea what would be the correct syntax of the expression in Dynamic Routing.
    Thanks in Advance ..
    Thanks
    Deba

    Well, interesting try. Oracle has suggested to keep a mapping (in a XML or in database) between logical and physical values of destinations, you are trying to route, in OSB itself and to query it at runtime to get the actual value of destination. Please refer -
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/modelingmessageflow.html#wp1081507
    What error do you get when you directly use the X-Path in Dynamic Routing expression?
    Regards,
    Anuj

  • 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 using AQ Adapter

    Hi
    I am using AQ Adapter to configure my OSB Buisness services to enqueue/Dequeue messages to my AQ queues.
    My requirement is to post messages to different Aq queues at runtime without having to reconfigure adapter everytime.
    I tried the routing options,It only allows me to change the endpt url which is the Datasource name in aq adapter, but it doesnot allow me to change the queue_name at runtime.
    Is there any other way of acheiving dynamic routing for AQ?
    Thanks
    Gayatri

    Thanks for your reply, but i guess i have not been successful in explaining my requirement clearly.
    I am not interested in changing the routing pattern at the AQ level using Alter propogation.
    My requirement is at one step above this while posting a message to the source AQ queue.
    For eg: My Multi consumer table name: Publisher_Table
    queues in my Publisher_Table: 1.Pub1
    2.Pub 2
    3.Pub 3 and so on
    I need to post messages on pub1,pub2 etc...however while configuring the AQ adapter for enqueue opertaion i had to hardcode my queue name to Pub1(One among multiple queues created).
    My query is whether i can have this queuename as a variable,so that at runtime i can change the target, instead of having to configure multiple aq adapters one for each pub queue.
    Thanks
    Gayatri

  • OEG Design for dynamic routing

    Hi,
    In the current OEG project, we're thinking of best usability of OEG design/development based on the following scenario:
    The architecture(sychonized transaction):
    request flow: CLIENT ---> OEG --> OSB
    respnse flow: OSB --> OEG --> CLIENT
    We have 10 OSB services define on OSB side(let's call them OSB Services), which includes:
    https://OSB_host:OSB_port/getDocument
    https://OSB_host:OSB_port/getDocumentList
    At OEG side, we are thinking of 10 OEG service defined as the entry points to 10 OSB services(1:1 mapping between OEG services and OSB services), OEG services exposed to client, including:
    https://OEG_host:OEG_port/getDocument (will be route to https://OSB_host:OSB_port/getDocument)
    https://OEG_host:OEG_port/getDocumentList(will be route to https://OSB_host:OSB_port/getDocumentList)
    But for the policies of processing each OEG service - actually they are much similiar, all following procedure:
    1) Message decryption
    2) Write log
    3) Routing to OSB Service
    4) Write log
    So we were thinking of just develop one common policy(maybe a global policy?) for 10 OEG services, may I have the idea about HOW could I do dynamic routing to different OSB services in a common policy ?
    Thanks.
    Cliff

    Your approach sounds right, certainly having a 1:1 mapping between virtualised service in the OEG and the OSB makes things simple.
    Place the decryption and logging the global request policy
    Have the WS-Filter run as normal to do XSD and routing
    Place the logging of response in a global respone policy

Maybe you are looking for

  • Beginner question about flickering

    Ok, I'm new to ActionScript, but I can adapt quite easily, so I have started a project, it loads a XML file with some data, after it is loaded it adds a bar for every node it can find in the xml file. The bar is converted to a symbol and acts as a bu

  • Calling a JDialog in the windowClosing Event of a JFrame

    hi As we had seen in many applications when u try to close the application a Dialog box will appear and it will ask whether we have to save it.I want to implement the same thing in my windowClosing Event of the Frame.I tried doing this by calling the

  • Oc4j deployment problem

    i have a bc4j-web-application. i have deployed the jsp-application to the oc4j, running on my windows system. but after opening the jsp page, i got following error: oracle.jbo.JboException: JBO-33001: Cannot find the configuration file mypackage \com

  • HOW DO I FIX THIS ERROR 4310

    I AM HAVING PROBLEMS BURNING A CD IN ITUNES I KEEP GETTING ERROR 4310. WHAT DO I NEED TO DO?    I HAVE WINDOWS 8 ON MY COMPUTER.

  • Advantages of Business View Manager

    Is there anything we can't do using commnad objects/ direct ODBC connection and that we can do with Business Views? I want to know what are the advantages of using BVM in a large environment..