Async call in OSB

Hi,
Our requirement is when the front end calls the proxy service, the proxy service should call the back end web service and give the response to front end service, This can be achieved.
But the other requirement is in case if the back end service is down .. we need to keep on retrying till the back end is UP and then send the response back to front end(Or we can send the response when the front end calls again) . But the front end will not wait for the response. Front end will fire and forget. its proxy service responsibility to keep on trying for the back end service to be up and store/send the response to front end.
Can we achieve this in OSB 11g? Or we need to go for BEPL.
Please post the steps to achive this.

As already being stated by @vladodias, OSB is better fit for stateless designs. If you need to keep the response until a later poll comes, you may be better off with BPEL.
But not necessary.
Consider this design:
1. Front end calls OSB.
2. OSB generates an unique token for the request and saves this request into an JMS queue. The token is stored into a header.
3. OSB returns the token to the caller. Caller saves it locally for future poll and closes the connection.
4. A JMS proxy transactionally reads the message from the queue (along with the token) and calls the backend service.
5. If the backend service is down, the transaction is rolled back, and the message is returned back to the queue for retry later (retry period is configured on the queue).
6. If the backend is up, the message is placed into a persistent storage using the token as a key. The storage is not JMS queue, because OSB proxies cannot programmatically read queues with filter, and also cannot read the queues on demand. So the store should be a database. (You cannot use disk as a store in a cluster unless the disk is also shared).
7. Front end calls OSB with the token.
8. OSB checks the persistent store and, if the response with the given token is found, sends it back to the the caller.
Now, you may notice that front-end always initiates the call, i.e. there is no callbacks. I do not like callbacks in OSB designs, makes a mess when you get more than one consumer. However, you may implement it, too -- i.e in step 6, instead of persisting the message, just do an outbound call to the front-end application.
Also, this design is always asynchronous. You may improve it by trying to do a synchronous call to backend first, and only if it is down, switch into asynchronous mode.
P.S. If you're not familiar with using JMS/transactions with OSB, read my post: Transactions in OSB. Reliable Messaging.
P.P.S. You can also use JMS queue as a persistent store for the responses, but then you'll have to use a Java callout that connects to the queue with a filter (by token) to extract the only message.

Similar Messages

  • Defining Multiple operations for async calls in OSB

    Hi,
    I have three Asynchronous BPEL processes- BPELProcessA, BPELProcessB and BPELProcessC
    I am trying to invoke BPELProcessB and BPELProcessC from BPELProcessA through an OSB Proxy service. I want to use a single proxy service to make calls to BPELProcessB and BPELProcessC from BPELProcessA . To do this I defined multiple operations in the wsdl of the proxy service. This is not working
    But I am able to implement the following
    1. If BPELProcessB and BPELProcessC are Synchronous, I am able to invoke BPELProcessB and BPELProcessC by defining multiple operations in the proxy service wsdl
    2. I am able to invoke and receive response from 1 Asynchronous BPEL process by defining 1 operation in the proxy service wsdl. I followed the approach described at [http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/bpelpmtransport/transport.html#wp1111338]. Does this mean for each asynchronous BPEL, I need a separate pair of OSBs for each async process ( 1 for request and 1 for callback)?
    Has anyone tried invoking multiple asynchronous processes by defining multiple operations in the wsdl?
    Kindly request every to give inputs

    Hi Eric
    Below is the flow and error we are getting:
    ProcessA is calling ProcessB and ProcessC through common OSB. In OSB we have created individual business services for ProcessB and ProcessC.I am using common Proxy service for calling these two Business Services using different operations.I have created one callback business service and Proxy service for ProcessA.
    I am successfully able to call BPEL processes, ProcessB and ProcessC, but during callback client activity these two BPEL processes are failing with below error and ProcessA is going in waiting on receive activity state:
    nested exception is:ORABPEL-00000
    Exception not handled by the Collaxa Cube system.
    An unhandled exception has been thrown in the Collaxa Cube system. The exception reported is: "ORABPEL-08010
    Failed get operation definition.
    Failed to get the WSDL operation definition of "onResult" in portType "{http://xmlns.oracle.com/AsyncBPELProcess}AsyncBPELProcessCallback".
    Please verify that operation "onResult" is defined in portType "{http://xmlns.oracle.com/AsyncBPELProcess}AsyncBPELProcessCallback".
         at com.collaxa.cube.ws.wsdl.WSDLUtils.getOperation(WSDLUtils.java:216)
         at com.collaxa.cube.ws.wsdl.WSDLUtils.getOperation(WSDLUtils.java:208)
         at com.collaxa.cube.ws.wsdl.WSDLManager.isOneWayOperation(WSDLManager.java:517)
         at com.collaxa.cube.engine.core.BaseCubeProcess.getOperationType(BaseCubeProcess.java:735)
         at com.collaxa.cube.engine.delivery.DeliveryHandler.getOperationType(DeliveryHandler.java:778)
         at com.collaxa.cube.engine.delivery.DeliveryHandler.post(DeliveryHandler.java:71)
         at com.collaxa.cube.ws.WSIFInvocationHandler.invokeLocalService(WSIFInvocationHandler.java:1338)
         at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:287)
         at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:528)
         at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:248)
         at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:829)
         at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:412)
         at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:199)
         at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3714)
         at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1657)
         at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:220)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:317)
         at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5787)
         at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1089)
         at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:589)
         at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:421)
         at sun.reflect.GeneratedMethodAccessor75.invoke(Unknown Source)
         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 java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAs(Subject.java:396)
         at com.evermind.server.ThreadState.runAs(ThreadState.java:695)
         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:141)
         at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:58)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
         at java.lang.Thread.run(Thread.java:595)
    Exception: ORABPEL-08010
    Failed get operation definition.
    Failed to get the WSDL operation definition of "onResult" in portType "{http://xmlns.oracle.com/AsyncBPELProcess}AsyncBPELProcessCallback".
    Please verify that operation "onResult" is defined in portType "{http://xmlns.oracle.com/AsyncBPELProcess}AsyncBPELProcessCallback".
    Handled As: com.collaxa.cube.CubeException

  • How to do Async call in OSB message flow

    I am calling a service from OSB layer synchronously and when this service gives a response, I am forming another request with this response and storing it in a variable now I want to call another service asynchronously by using this variable. Service call out is not supporting one way call.
    Please suggest a suitable way to do this.

    Use publish action. It is designed fire and forget type of use-cases
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/modelingmessageflow.html
    Manoj

  • How can I monitor async requests in OSB

    Hello everybody,
    I have to set an async with response call to my legacy application. But as OSB does not support async calls with response yet, I'll use this approach described here: http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/jpdtransport/transport.html#wp1102152 that tells me to set up one proxy that will make the request to the legacy application, and another proxy to handle the callback (my application will call this one manually when it finishes the process).
    But, doing this, I'll have two distinct transactions, two distinct proxies, and no "natural" correlation between them. I need to set some correlation that allows me to create one SLA alert when the requisition takes more than X minutes. I already thought on sending the transaction id ($messageID) to my legacy application and have it returned to the response proxy. But doing this, I would still have no link between the information (when started, etc) of request proxy.
    Well, that is what I need to get done. Some way on measuring the execution time (in SLA Alerts) of my service. How this could be done?
    Thanks a lot guys.

    I have to set an async with response call to my legacy application. But as OSB does not support async calls with response yet, I'll use this approach described here: http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/jpdtransport/transport.html#wp1102152 that tells me to set up one proxy that will make the request to the legacy application, and another proxy to handle the callback (my application will call this one manually when it finishes the process).
    But, doing this, I'll have two distinct transactions, two distinct proxies, and no "natural" correlation between them. I need to set some correlation that allows me to create one SLA alert when the requisition takes more than X minutes. I already thought on sending the transaction id ($messageID) to my legacy application and have it returned to the response proxy. But doing this, I would still have no link between the information (when started, etc) of request proxy.
    Well, that is what I need to get done. Some way on measuring the execution time (in SLA Alerts) of my service. How this could be done?What would be the transport of communication with legacy system (JMS)?
    1) OSB is efficient in stateless point to point invocation/message enrichment but this problem appears to be use case in orchestration which is better addressed by BPEL.
    2) SLA alerts in OSB are designed to work at a single proxy level. Using SLA alert framework in OSB for your use case is not possible.
    3) At other level OSB also does not expose metrics (http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/jmx_monitoring/concepts.html) that will allow you to do this type of correlation using external java program.
    My two cents
    Manoj

  • Using Async calls in a Util class

    I have a Utility class that I want to put code in that I'm reusing over and over again.  This includes Async.handleEvent calls.  If I call an instance of the Util class from a [Test(async)] method, can I use the Async call in that other event?
    When I tried this in my code, it said that it "Cannot add asynchronous functionality to methods defined by Test,Before or After that are not marked async" but my [Test] is marked as async. And when I was in the same class, I was able to have non-Test methods make Async calls.
    Thanks for the help!
    Mocked up Example (please note these are two separate files):
    // Test.as
    package
        import TimerUtil;
        public class Test
            [Test(async)]
            public function waitForTimer():void
                TimerUtil.newTimer();
    // TimerUtil.as
    package
        import flash.events.TimerEvent;
        import flash.utils.Timer;
        import org.flexunit.async.Async;
        public class TimerUtil
            private static var instance:TimerUtil;
            private var timer:Timer;
            private static const TIME_OUT:int = 1000;
            public static function newTimer() : void
                if (!instance) instance = new TimerUtil();
                instance.timer = new Timer(1000, 5);
                instance.timer.start();
                instance.waitForFifthTick();
            private function waitForFifthTick() : void
                Async.handleEvent(this, instance.timer, TimerEvent.TIMER, handleTimerTick, TIME_OUT);
            private function handleTimerTick ( evt:TimerEvent, eventObject:Object) : void
                if ( timer.currentCount == 5 )
                    // We are at the Fifth click, move on.
                else
                    Async.handleEvent(this, instance.timer, TimerEvent.TIMER, handleTimerTick, TIME_OUT);
    Message was edited by: zyellowman2
    I missed a comma.  And a few "instance"s

    Yes, you can put async calls in utility classes or wherever you want. That isn't the issue here though.
    In your test you call TimerUtil.newTimer()
    That code creates a timer and then returns. Then your test returns. At that moment, FlexUnit sees that your test has finished and that there are no outstanding registered asynchronous events so it declares the test a success. Then, a second later, your other method executes and tries to register an async call. FlexUnit has no idea what test this pertains to, or why this call is being made as it is no longer in the context of the original test, hence the message you are receiving that you can only using Async calls inside of a method marked with a Async... as, in FlexUnit's opion, the method that is executing this code no longer has anything to do with a test with an async param.
    The best way to think about this is a chain that cannot be broken. As soon as a method finishes executing with, FlexUnit will declare it a success unless we are waiting on something else (an async event of some sort) That is what the Async syntax really does, it tells the framework not to declare this method a success just yet, and that there is something else we need to account for to make that decision.
    So, right now, in your newTimer() you don't let the framework know that you will be waiting for an async event. Therefore, when that method and the test method is over, so is the test.
    Mike

  • Cancelling an async call in parallel flow activity

    Hi all,
    As known, each branch of a parallel flow activity must be completed for rest of the BPEL execution continues. Let me expose a scenario:
    Imagine you need to get the current market value of the euro. You have 3 different sources of information that deliver the same result. Using parallel flow activity, you perform calls to these 3 sources. Once the first source calls back, it´s not necessary to wait for the others callback, because you already have the information that you need in your hands. How can I cancel the other waiting async calls? In WLI, we set up the parallel flow as AND or OR type. Using AND (+) means that all branch must be completed so that the process continues. Using OR (-) means that once the first branch is finished, the others will be ignored (cancelled) and the process continues. How can I get the same feature in BPEL?

    Hi Gustavo,
    There may be easier way to do this, but somehow it's not striking at the moment. In the meantime, you can try the following and see. If i get more robust and easier solution, i'll post it here.
    Just thinking aloud here:
    1) Throw a fault e.g. ResponseRecieved in each branch as soon as the branch recieves a response. The fault has to be handled in a fault handler associated with a scope containing the parallel flow. You can leave the fault handler "empty" (no-oos) and proceed with the rest of the activities.
    The above should allow the control to proceed with the activities next to the flow.
    OR
    2) In each flow, as soon as you receive a response after receive activity, invoke a callback port type of the rest of the asynchronous calls and send a dummy callback message. This should mark the completion of the receive activities in other branches. I think correlaiton needs to be handled here.
    Please try if you have not already done so and let me know.
    Thanks-
    www.ibiztrack.com
    BPEL/ESB Training:
    http://www.ibiztrack.com/html/oracle-bpel-soa-training.html

  • How can we call a OSB proxy service from a BPEL process?

    Hi,
    I want to call a OSB proxy service from a BPEL process. Can you please explain me the procedure?

    Get the wsdl of the OSB proxy service and create webservice parnerlink in BPEL based on this wsdl to invoke the service
    To form the wsdl url, copy the Endpoint URI  configured to the proxy service(just click on the proxy service in the console) from the sbconsole  - /ATHGPUM_GlidePathService/ProxyService/ATHGPUM_GlidePathProxyService
    Pre append <<protocol://OSB Hostname:OSB Port>>  - http://localhost:8000/   and post append with ?WSDL
    The final WSDL url look like  - http://localhost:8000/ATHGPUM_GlidePathService/ProxyService/ATHGPUM_GlidePathProxyService?WSDL
    Regards
    Albin I

  • Async call gets stuck with pending status

    Hi,
    I am working on Tasklayer where need to invoke Async. call, the .bpel file has Invoke activity and below that it has pick activity with branches one for OnMessage and another is also OnMessage but, this is for fault. Now, when it invokes the Async. what i see in the instance is that the OnMessage activity gets stuck in Pending status, it doesn't proceed further. Kindly let me know if any one has faced similar issue.
    Thanks & Regards,
    Sanjay

    Hi Sanjay,
    you are saying that u r calling an asyc process.
    So as an async process do not send the response back to parent through same port, you have to send the fault back to parent by invoking it(parent).
    Here you can send the fault by using existing callback port otherwise you can define separate port for fault can send through that(you have to do it in WSDL).
    So here for the first case no need to have the pick as u r getting both success and fault through same port. If you are going for separate one you have to have pick(one for success and other for faulted one)
    So as Steven said you have to have a catch and invoke to send the fault back to parent.
    Regards
    PavanKumar.M

  • BPEL Async call with wait

    I have requirement to make a bpel async call to webservice . As part of the requirement we need to wait for specified amount of time and re-request if no response is received. And finally error out after 3 attempts.
    So it is really a 'sync call' with a wait period
    Any suggestions as how this could be implemented ?

    ok set the http read timeout.If you dont recieve the response within the time set in http read timeout property it throws an error invoke the process from catch all block.
    otherwise use fault polices to retry invocation and set the http read time out property

  • Java call in OSB.

    I am sorry if this seems like a basic question but I am new to OSB and middleware.
    I have a Java class that transforms a CSV to XML that I need to call from OSB.
    OSB needs to pick up the csv file from a folder, pass the file name into the java class, then notify another process that the xmls have been created.
    Something like that.
    Any help would be appreciated.

    Create a Proxy Service like this:
    Service Type      Messaging Service
    Request Message Type      
    Text           
    Response Message Type      
    None           
    Protocol      file
    Endpoint URI      file:///c:/temp
    Get All Headers      No Headers      
    File Mask      *.txt
    Polling Interval      60
    Read Limit      10
    Sort By Arrival      false
    Scan SubDirectories      false
    Pass By Reference      false
    Post Read Action      delete
    Stage Directory      file:///temp/stage
    Error Directory      file:///temp/error
    Request encoding      utf-8
    Message Handling Configuration      
    Transaction Required      Disabled
    Same Transaction For Response      Disabled
    Content Streaming      Disabled
    (they are almost all default values)
    When you log $body, you will see that it contains your file.
    Just pass $body/* to a Java callout and do your transformation to XML.
    MFL is an optional, but since you want to reuse your Java code, just do the Java Callout.
    I am sure that if you google (or search on youtube) for
    OSB java Callout
    you will find plenty of tutorials.
    Just define a Java static method
    public static void processFileContent(String fileContent)
    If you need to return your XML to OSB for further processing, you should return XmlObject rather than void.
    I can teach you how to transform a XML String into a XmlObject

  • How to handle Asynchronous calls using OSB?

    Hi There,
    How to handle Asynchronous calls using OSB?
    Please help me out??
    -Venkat

    Hello friend, here is what you need.
    Oracle Service Bus, invoke asynchronous webservices | Oracle .. Java .. OpenSource .. SOA

  • Async call using ICallBack

    hi, In an Async call, there is a ICallBack interface, which is having a init(ODIInformationObj),
    handleCallBack(long pElapsedTime)
    handleFaultCallback(long pElapsedTime,Exception pException).
    can u pls help me how to invoke the handleCallBack() method, or else
    it will be invoked internally through the Thread call.
    pls suggest me to post the Message via(DirectConnection) and get back the operation information to an ODIService.
    Note:
    I have this code:
    Message xmlMessage = XMLMessageFactory.getInstance().createMessage(payload1);
    payload1="<ns1:ODIInvokerServiceResponse " + " xmlns:ns1=\"http://xmlns.oracle.com/ODIService\">\n" +
    "<ns1:odiPlan> " + pOdiPlanName + "</ns1:odiPlan>\n" +
    "<ns1:elapsedTime> " + pElapsedTime +
    " </ns1:elapsedTime>\n" +
    " </ns1:ODIInvokerServiceResponse>";
    getting Direct connection using:
    DirectConnection directconnection =
    loc.createDirectConnection(compositeDN,
    "MasterBPELProcessDirect");
    Sending Message like:
    directConnection.post(pOperation, pNm);

    You Might Try tapping the Home button and see what that does,  Do it on a Test call with one of your Relative or Friend's so they know that when you tap the button and if it happens to end the call they won't be concerned because it was a test Call..
    Hope that helps b33

  • BPEL async calls OSB which calls BPEL async

    In this scenario, I use the bpel-10g transport with an opmn ULR to call the back-end BPEL process. The bpel-10g transport seems to be the only way to include the callback address. I'm getting an error like this:
    <fault><remoteFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>exception on JaxRpc invoke: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message transmission failure, response code: 500</summary>
    </part></remoteFault></fault>
    What must be done to correctly connect the back-end async BPEL process from OSB?
    Are there any tricks which must be used to connect the front-end async BPEL process to the OSB as well?
    I'm using OSB 10gR3 and BPEL 10.1.3.4.

    Hi ,
    Please provide us solution to resolve this issue..
    Any Updates or clues ...............

  • Error while calling secured OSB proxy from BPEL

    Hi,
    I have a OSB Proxy service to which I have applied OWSM Policy:
    oracle/wss_username_token_service_policy
    In the Setting:
    Process WS-Security Header is set to Yes
    While calling this Proxy from BPEL I tried to append binding properties, I tried the following options:
    option1:
    wsseHeaders=credentials
    wssePassword=welcome1
    wsseUsername=weblogic
    option2:
    oracle.webservices.auth.password=welcome1
    oracle.webservices.auth.username=weblogic
    But neither of them work and I get the following error:
    <con:fault xmlns:con="http://www.bea.com/wli/sb/context">
    <con:errorCode>BEA-386200</con:errorCode>
    <con:reason>General web service security error</con:reason>
    <con:location>
    <con:path>request-pipeline</con:path>
    </con:location>
    </con:fault>
    <Sep 21, 2010 9:49:30 AM PDT> <Error> <OSB Security> <BEA-387022> <An error ocur
    red during web service security inbound request processing [error-code: Security
    HeaderUnmarshallingError, message-id: 3659922647318344420--645cdd1d.12b2fe0c158.
    -7e45, proxy: OSBTest/Proxy Services/PrivatePersonnelDB_PS, operation: null]
    --- Error message:
    oracle.wsm.security.SecurityException: WSM-00069 : The security header is missin
    g.
    at oracle.wsm.security.policy.scenario.processor.UsernameTokenProcessor.
    verify(UsernameTokenProcessor.java:218)
    at oracle.wsm.security.policy.scenario.executor.WssUsernameTokenScenario
    Executor.receiveRequest(WssUsernameTokenScenarioExecutor.java:123)
    at oracle.wsm.security.policy.scenario.executor.SecurityScenarioExecutor
    .execute(SecurityScenarioExecutor.java:530)
    at oracle.wsm.policyengine.impl.runtime.AssertionExecutor.execute(Assert
    ionExecutor.java:41)
    at oracle.wsm.policyengine.impl.runtime.WSPolicyRuntimeExecutor.executeS
    impleAssertion(WSPolicyRuntimeExecutor.java:608)
    Truncated. see log file for complete stacktrace
    I have even tried to enable HTTP basic Authentication for the service, but did not work.
    Any help is highly appreciated.
    Thanks.

    Hi,
    I have applied oracle/wss_username_token_service_policy for my proxy service and trying to test that from OSB Test Console. I am getting below error,
    "[OSB Security - OWSM:387253]Failed to initialize Owsm Credential Manager. Please validate the Keystore Configuration"
    When i have launched Test Console for this proxy, i have observed in Security part, oracle/wss_username_token_client_policy is appearing. I am not sure why oracle/wss_username_token_client_policy is appearing there when i applied oracle/wss_username_token_service_policy to my proxy service.
    Also do i have to need to configure any Keystore for oracle/wss_username_token_service_policy, If so please tell me the process.
    If no key store is required where will the credentials be stored.
    Thanks
    Rajesh

  • How to achieve correlation in calls involving OSB services

    Hi,
    I have service call pattern like : A->B->C->D->E->F->A . The second call to A from F should be for the same instance of A that called B initially. Normally we achieve this using correlations in SOA 11g Bpel. (Where B,C,E,F services are OSB Proxy/Business request/response Services and D is a external decision service.)
    I know that we can copy the soap header variable's contents(like replyTo) from initial call A till all way to D. How can we copy the message Id ?
    I tried doing <wsa:MessageId>$header/wsa:MessageId</MessageId> while routing from B(proxy) to C(business svc) where $header is soap header of A's initial call.
    But the problem is $header/wsa:MessageId is just being considered the the text "$header/wsa:MessageId" and not actually returning their value.
    Appreciate if someone call help me here.
    Thanks and Regards,
    Sri.

    ALthough my temporary issue was solved,m I could not achieve correlation yet.
    How can OSb locate the same innstance that called it initially(soa bpel) to call it back. I was trying to set the messageId along with replyTo address but the messageId was that of the requestPS. How do i get the messageId of the client (soa bpel) that first called OSB.
    Other ways I am thinking is to use wsa:referenceparameters. Is there a way that we can use these header values to get the instance of the initial caller and call it back from responseProxy service ?
    Appreciate your help very much !!
    Regards,
    Sri.

Maybe you are looking for

  • Why does it take soooo long for my mac to boot?

    I have an Early 2011 15 in macbook pro with the 2.2 i7, and the hi-res screen, and I upgraded my memory to 8gb about a year ago. Recently if I restart/cold boot my computer it takes over 6 minutes for me to see the login screen.  But I can sign in no

  • Materials in stock at u loc consider for Availability check but not for MRP

    Dear ALL, Please solved the problem by settings in the customizing  we are able to set the materials  at stock U location (serviceable )should not be considered in Mat Availability  for PM orders Settings we have made for all storage locations in U *

  • ACE timeout for different Serverfarms

    I have a Business unit that publishes an application that is externally available. We Reverse Proxy the VIP to allow the connection externally. They would like to impose different application timeouts for internal users (1 hour) and external users (3

  • Latency issues on ipad air audio is very slow

    recording audio in any of my apps is noticably slow compared to my iphone 4s running ios 6 this is very annoying

  • AVI and DIVX Plyaback in Quicktime

    Is it possible? I'd like to export some of my movies that I have in avi/Divx format to MPEG4 format to fit on the video Ipod. I've read that Quicktime plays AVI files, but when I open them it's just a white screen and no sound or bad sound. Do I need