OSB and async BPEL Process

Hi all,
I have a problem configuring the osb to use an asynchronous bpel process.
Made the following steps:
1.) Created one Proxy Service for invoking the bpel process
2.) Created one Proxy Service for callback
3.) Created one Business Service which has the following config:
General Configuration      
Service Type: Web Service [...]
Transport Configuration
Protocol: bpel-10g
Load Balancing Algorithm: none
Endpoint URI      
opmn://STSCHROE-de:6003/home/orabpel/eudlr/Antrag_pruefen
Retry Count 0
Retry Iteration Interval 30
Retry Application Errors Yes
BPEL-10G Transport Configuration      
Role      Asynchronous Client
Callback Proxy      EUDLR/ProxyService/AntragPruefenCallbackGateway
Service Account EUDLR/BusinessService/SOA Suite
Suspend Transaction? No
Dispatch policy      default
Products:
Oracle Service Bus 10gR3
Oracle SOA Suite 10.1.3.3.1
Problem:
I get the following Error, when I execute the proy service:
The invocation resulted in an error: java.lang.reflect.UndeclaredThrowableException.
The consolte window tells the following error
22.01.2009 13:10:14 oracle.j2ee.rmi.RMIMessages EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER
WARNUNG: Exception returned by remote server: {0}
com.evermind.server.rmi.RMIConnectionException: Disconnected: com.oracle.bpel.client.AbstractIdentifier; local class incompatible: stream classdesc serialVersionUID = -4389351842028223514, local class serialVersionUID = 3174123903773674079
at com.evermind.server.rmi.RmiCallQueue.notifyQueuedThreads(RmiCallQueue
.java:70)
at com.evermind.server.rmi.RMIClientConnection.notifyQueuedThreads(RMICl
ientConnection.java:208)
at com.evermind.server.rmi.RMIClientConnection.resetState(RMIClientConne
ction.java:147)
at com.evermind.server.rmi.RMIConnection.receiveDisconnect(RMIConnection
.java:236)
at com.evermind.server.rmi.RMIClientConnection.receiveDisconnect(RMIClie
ntConnection.java:176)
at com.evermind.server.rmi.RMIConnection.handleOrmiCommand(RMIConnection
.java:208)
at com.evermind.server.rmi.RMIClientConnection.processReceivedCommand(RM
IClientConnection.java:276)
at com.evermind.server.rmi.RMIConnection.handleCommand(RMIConnection.jav
a:152)
at com.evermind.server.rmi.RMIConnection.listenForOrmiCommands(RMIConnec
tion.java:127)
at com.evermind.server.rmi.RMIConnection.run(RMIConnection.java:107)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExec
utor.java:830)
at java.lang.Thread.run(Thread.java:619)
Is there a solution for this problem?

You need to follow below steps...
add a java parameter to the OSB server. Go to domains\osb_domain\bin folder and edit the setDomainEnv file and add this line to this file. set JAVA_PROPERTIES=-Dplatform.home=%WL_HOME% -Dwls.home=%WLS_HOME% -Dweblogic.home=%WLS_HOME% -Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0
Step 2 is to replace the bpel jars in the bpel transport ear. Go folder osb_10.3\lib\transports and open bpel10gtransport.ear and replace the following jar files orabpel.jar, orabpel-common.jar , xmlparserv2.jar and oc4jclient.jar with the ones you can find in the soa suite 10.1.3 home.

Similar Messages

  • Sync and async bpel process

    Hi,
    I was reading about the synchronous and asynchronous process in the forum, I have also some similar problem.
    some of my questions are:
    If suppose my BPEL process is going to take around 2 mins or more to finish , then I cannot chose synchronous BPEL process as the default timeout is 45sec and not recomend to increase the time.
    As the above is true, I have created a asynchronous BPEL process, now I want the reply back from asynchronous, is this is possible? even I found that when I invoke the partner link of asynchronous BPEL process it doesn't ask for the output variable. SO if any process going to take longer time and need response from that, whats the solution.
    Regards,
    Sreejit

    Hi James,
    Thanks, yes you are correct that receive is required for the response from async process.
    Do you have any idea how we can get the response back if we are calling the asyn process outside the SOA server, say from PL/SQL or Java API. PL/SQL can call the sync process and get the response back but in case of async process it returns null as the callback response of async not send the response to database. Is this possible with java api, any link or sample which illustrate this or any step suggestion. Actually I am trying to call the BPEL process from Oracle Apps R12 E-Business suite.
    Regards,
    Sreejit

  • Diff Between Oracle BPM Studio and Oracle BPEL Process Manager

    1)What is the difference between Oracle BPM Studio and Oracle BPEL Process Manager?
    2)What is the connection between Oracle BPM Studio and Oracle BPEL Process Manager?

    Hi,
    As of today you should install SOA Suite 11g
    Fr this you will need to install Database (for development you can use XE)
    Run RCU utility to crete DB schemas for SOA Suite.
    Install Weblogic server
    Install SOA Suite as an option to Weblogic
    Create SOA Domain.
    It is physically possible to do it in 2GB but is far better on 3 - 4GB
    You can consider installing DB on different machine.
    Adam

  • How to change a Async BPEL process into Sync bpel process

    Hi All,
    Can we change a bpel process which has been created by choosing the template as Asynchronous BPEL Process and after my requirement has
    been changed i want to change my bpel process into synchronous bpel process. Is it possible to change the process or else we have to delete the whole process and once again we have to create a bpel process with synchronous template.
    IF it possible to change the process from Async to sync how. is there any demo link on this. If possibel can anyone share a link on this.
    Regards,
    CH

    Diff between ASYNC & SYNC
    Composite.xml
    SYNC: In service part in only interface.wsdl & binding.ws will be there
    ASYNC: in service part interface.wsdl & binding.ws and one more callback binding.ws is there.
    In .BPEL FILE
    SYNC: In Partner Link name, partnerLinkType, MyRole will be there .
    ASYNC: In partner Link name ,partnerLinkType,MyRole,Partner Role also will be there.
    *.WSDL File*
    SYNC: in portType Input & Output both are there , in partnerLinkType only one role is there i.e Requester Role no provider.
    ASYNC: in portType only Input will there,in PartnerLinkType two roles will be there ProviderRole n Requester Role.
    Also change the activity in the BPEL from Reply to Invoke in the end.
    Respective to your requirements you can change your BPEL to Sync/ASync.
    I hope it will help.

  • Async BPEL Process Invocation...

    We have a business process, which when invoked from BPEL console works fine, however, when we invoke it from an web application of ours, it does gets initiated, but fails later.
    We have Apache Axis deployed in the same OC4J server as the Oracle BPEL PM(10.1.2.0.2), which exposes few EJBs as SOAP Services.
    The Business Process invokes couple of SOAP Services and then creates a Task and then waits for task completion and based on task action invokes two other SOAP services.
    When we invoke it from the BPEL Console, everything works fine. It also works fine, if we invoke it first (after startup) from BPEL Console and then through our web application.
    However, if we invoke it first through our web application, then it does initiates, but fails at the Task creation. If we try to hit the BPEL Console, we get this error
    Oracle BPEL Process Manager Full Cycle
    An unexpected error has occurred while executing your request. This is most likely related to a defect in the Oracle BPEL Process Manager product. We apologize you can post the error to the OTN forum and we will get back to you as soon as possible.
    Attachments:
    Build Information:
    Oracle BPEL Server version 10.1.2.0.2
    Build: 2196
    Build time: Tue Jan 10 12:31:53 UTC 2006
    Build type: release
    Source tag: BPEL_10.1.2.0.2_GENERIC_060110.1200
    Exception Message:
    [java.lang.Exception]
    Failed to create "ejb/collaxa/system/ServerBean" bean; exception reported is: "javax.naming.NameNotFoundException: ejb/collaxa/system/ServerBean not found
         at com.evermind.server.rmi.RMIContext.lookup(RMIContext.java:164)
         at com.evermind.server.ApplicationContext.lookup(ApplicationContext.java:333)
         at com.evermind.server.ApplicationContext.lookup(ApplicationContext.java:120)
         at javax.naming.InitialContext.lookup(InitialContext.java:347)
    <b>Nothing works after that, unless we re-start.</b>
    Once we re-start, BPEL Console works fine.
    Investigating the flow of the business process, we find the "initiateTask" of the workflow is fine, but it failed at "initiateTaskActionHandler" with the following error:
    <remoteFault>
    <part name="code" >
    <code>WSDLReadingError</code>
    </part>
    <part name="summary" >
    <summary>Failed to read wsdl. Failed to read wsdl at "http://Uranus:9700/orabpel/default/TaskActionHandler/TaskActionHandler?wsdl", because "WSDLException: faultCode=INVALID_WSDL: The document: http://Uranus:9700/orabpel/default/TaskActionHandler/TaskActionHandler?wsdl is not a wsdl file or does not have a root element of "definitions" in the "http://schemas.xmlsoap.org/wsdl/" namespace or the "http://www.w3.org/2004/08/wsdl" namespace.". Make sure wsdl is valid. You may need to start the OraBPEL server, or make sure the related bpel process is deployed correctly. </summary>
    </part>
    </remoteFault>
    <b>Below is the code as to how we are invoking the Business Process...using orabpel taglibs...</b>
    <orabpel:locator domainId="default" password="bpel" contextEnv="jndi">
    <orabpel:deliveryService processId="ApprovalProcess">
    <orabpel:post title="ApprovalProcess">
    <orabpel:part name="payload">
    <customerObj xmlns="http://xmlns.misys.com/ApprovalProcess/approval">
    <applicationNo><%= customer.getApplicationNo() %></applicationNo>
    <customerId><%= customer.getCustomerId() %></customerId>
    <primaryFirstName><%= customer.getPrimaryFirstName() %></primaryFirstName>
    <primaryLastName><%= customer.getPrimaryLastName() %></primaryLastName>
    <primaryCardName><%= customer.getPrimaryCardName() %></primaryCardName>
    <primaryDay><%= customer.getPrimaryDay() %></primaryDay>
    <primaryMonth><%= customer.getPrimaryMonth() %></primaryMonth>
    <primaryYear><%= customer.getPrimaryYear() %></primaryYear>
    <primaryDob><%= customer.getPrimaryDob() %></primaryDob>
    <primarySex><%= customer.getPrimarySex() %></primarySex>
    <primaryPanNo><%= customer.getPrimaryPanNo() %></primaryPanNo>
    <accountType><%= customer.getAccountType() %></accountType>
    <cardType><%= customer.getCardType() %></cardType>
    <primaryStreet1><%= customer.getPrimaryStreet1() %></primaryStreet1>
    <primaryStreet2><%= customer.getPrimaryStreet2() %></primaryStreet2>
    <primaryLandmark><%= customer.getPrimaryLandmark() %></primaryLandmark>
    <primaryCity><%= customer.getPrimaryCity() %></primaryCity>
    <primaryState><%= customer.getPrimaryState() %></primaryState>
    <primaryCountry><%= customer.getPrimaryCountry() %></primaryCountry>
    <primaryPinCode><%= customer.getPrimaryPinCode() %></primaryPinCode>
    <primaryOffPhoneNo><%= customer.getPrimaryOffPhoneNo() %></primaryOffPhoneNo>
    <primaryOffExtnNo><%= customer.getPrimaryOffExtnNo() %></primaryOffExtnNo>
    <primaryResPhoneNo><%= customer.getPrimaryResPhoneNo() %></primaryResPhoneNo>
    <primaryMobileNo><%= customer.getPrimaryMobileNo() %></primaryMobileNo>
    <primaryEmailId><%= customer.getPrimaryEmailId() %></primaryEmailId>
    <productInterest><%= customer.getProductInterest() %></productInterest>
    <sourceReferral><%= customer.getSourceReferral() %></sourceReferral>
    <channel><%= customer.getChannel() %></channel>
    <accountNo><%= " " %></accountNo>
    <documentsSubmitted><%= customer.getDocumentsSubmitted() %></documentsSubmitted>
    <creditRating><%= 0.0 %></creditRating>
    <eligibleCustomer><%= false %></eligibleCustomer>
    <segment><%= " " %></segment>
    <action><%= " " %></action>
    <remarks><%= " " %></remarks>
    <approverEmail><%= customer.getApproverEmail() %></approverEmail>
    <bPELProviderUrl><%= customer.getBPELProviderUrl() %></bPELProviderUrl>
    </customerObj>
    </orabpel:part>
    </orabpel:post>
    </orabpel:deliveryService>
    </orabpel:locator>
    <b>We also tried this way...same result</b>
    Properties jndi = new Properties();
    jndi.put(Context.PROVIDER_URL,"ormi://localhost:23791/orabpel");
    jndi.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
    jndi.put(Context.SECURITY_PRINCIPAL, "admin");
    jndi.put(Context.SECURITY_CREDENTIALS, "welcome");
    jndi.put("dedicated.connection", "true");
    String xml = "....";
    NormalizedMessage input = new NormalizedMessage( );
    input.addPart("payload", xml);
    String conversationId = String.valueOf(System.currentTimeMillis());
    input.setProperty(NormalizedMessage.TITLE, "Dynamic CustomerRegistration Invocation");
    input.setProperty(NormalizedMessage.CONVERSATION_ID, conversationId);
    input.setProperty(NormalizedMessage.CREATOR, "Oracle BPEL");
    Locator locator = new Locator("default","bpel",jndi);
    IDeliveryService deliveryService = (IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME);
    deliveryService.post("ProductRegistration", "initiate", input );
    <b>The entry in application.xml for the web application is as follows:</b><br/>
    <web-module id="registration" path="../../home/applications/registration.war"/>
    The entry in http-web-site.xml for the web application is as follows:<br/>
    <web-app application="orabpel" name="registration" load-on-startup="true" root="/registration"/>
    <web-app application="default" name="registration"      root="/registration"/>
    I have tried to provide all possible relevant info, if you need more, do reply back to me.
    Thanks in advance for helping us to resolve this issue.
    |Soumen|

    We have a business process, which when invoked from BPEL console works fine, however, when we invoke it from an web application of ours, it does gets initiated, but fails later.
    We have Apache Axis deployed in the same OC4J server as the Oracle BPEL PM(10.1.2.0.2), which exposes few EJBs as SOAP Services.
    The Business Process invokes couple of SOAP Services and then creates a Task and then waits for task completion and based on task action invokes two other SOAP services.
    When we invoke it from the BPEL Console, everything works fine. It also works fine, if we invoke it first (after startup) from BPEL Console and then through our web application.
    However, if we invoke it first through our web application, then it does initiates, but fails at the Task creation. If we try to hit the BPEL Console, we get this error
    Oracle BPEL Process Manager Full Cycle
    An unexpected error has occurred while executing your request. This is most likely related to a defect in the Oracle BPEL Process Manager product. We apologize you can post the error to the OTN forum and we will get back to you as soon as possible.
    Attachments:
    Build Information:
    Oracle BPEL Server version 10.1.2.0.2
    Build: 2196
    Build time: Tue Jan 10 12:31:53 UTC 2006
    Build type: release
    Source tag: BPEL_10.1.2.0.2_GENERIC_060110.1200
    Exception Message:
    [java.lang.Exception]
    Failed to create "ejb/collaxa/system/ServerBean" bean; exception reported is: "javax.naming.NameNotFoundException: ejb/collaxa/system/ServerBean not found
         at com.evermind.server.rmi.RMIContext.lookup(RMIContext.java:164)
         at com.evermind.server.ApplicationContext.lookup(ApplicationContext.java:333)
         at com.evermind.server.ApplicationContext.lookup(ApplicationContext.java:120)
         at javax.naming.InitialContext.lookup(InitialContext.java:347)
    <b>Nothing works after that, unless we re-start.</b>
    Once we re-start, BPEL Console works fine.
    Investigating the flow of the business process, we find the "initiateTask" of the workflow is fine, but it failed at "initiateTaskActionHandler" with the following error:
    <remoteFault>
    <part name="code" >
    <code>WSDLReadingError</code>
    </part>
    <part name="summary" >
    <summary>Failed to read wsdl. Failed to read wsdl at "http://Uranus:9700/orabpel/default/TaskActionHandler/TaskActionHandler?wsdl", because "WSDLException: faultCode=INVALID_WSDL: The document: http://Uranus:9700/orabpel/default/TaskActionHandler/TaskActionHandler?wsdl is not a wsdl file or does not have a root element of "definitions" in the "http://schemas.xmlsoap.org/wsdl/" namespace or the "http://www.w3.org/2004/08/wsdl" namespace.". Make sure wsdl is valid. You may need to start the OraBPEL server, or make sure the related bpel process is deployed correctly. </summary>
    </part>
    </remoteFault>
    <b>Below is the code as to how we are invoking the Business Process...using orabpel taglibs...</b>
    <orabpel:locator domainId="default" password="bpel" contextEnv="jndi">
    <orabpel:deliveryService processId="ApprovalProcess">
    <orabpel:post title="ApprovalProcess">
    <orabpel:part name="payload">
    <customerObj xmlns="http://xmlns.misys.com/ApprovalProcess/approval">
    <applicationNo><%= customer.getApplicationNo() %></applicationNo>
    <customerId><%= customer.getCustomerId() %></customerId>
    <primaryFirstName><%= customer.getPrimaryFirstName() %></primaryFirstName>
    <primaryLastName><%= customer.getPrimaryLastName() %></primaryLastName>
    <primaryCardName><%= customer.getPrimaryCardName() %></primaryCardName>
    <primaryDay><%= customer.getPrimaryDay() %></primaryDay>
    <primaryMonth><%= customer.getPrimaryMonth() %></primaryMonth>
    <primaryYear><%= customer.getPrimaryYear() %></primaryYear>
    <primaryDob><%= customer.getPrimaryDob() %></primaryDob>
    <primarySex><%= customer.getPrimarySex() %></primarySex>
    <primaryPanNo><%= customer.getPrimaryPanNo() %></primaryPanNo>
    <accountType><%= customer.getAccountType() %></accountType>
    <cardType><%= customer.getCardType() %></cardType>
    <primaryStreet1><%= customer.getPrimaryStreet1() %></primaryStreet1>
    <primaryStreet2><%= customer.getPrimaryStreet2() %></primaryStreet2>
    <primaryLandmark><%= customer.getPrimaryLandmark() %></primaryLandmark>
    <primaryCity><%= customer.getPrimaryCity() %></primaryCity>
    <primaryState><%= customer.getPrimaryState() %></primaryState>
    <primaryCountry><%= customer.getPrimaryCountry() %></primaryCountry>
    <primaryPinCode><%= customer.getPrimaryPinCode() %></primaryPinCode>
    <primaryOffPhoneNo><%= customer.getPrimaryOffPhoneNo() %></primaryOffPhoneNo>
    <primaryOffExtnNo><%= customer.getPrimaryOffExtnNo() %></primaryOffExtnNo>
    <primaryResPhoneNo><%= customer.getPrimaryResPhoneNo() %></primaryResPhoneNo>
    <primaryMobileNo><%= customer.getPrimaryMobileNo() %></primaryMobileNo>
    <primaryEmailId><%= customer.getPrimaryEmailId() %></primaryEmailId>
    <productInterest><%= customer.getProductInterest() %></productInterest>
    <sourceReferral><%= customer.getSourceReferral() %></sourceReferral>
    <channel><%= customer.getChannel() %></channel>
    <accountNo><%= " " %></accountNo>
    <documentsSubmitted><%= customer.getDocumentsSubmitted() %></documentsSubmitted>
    <creditRating><%= 0.0 %></creditRating>
    <eligibleCustomer><%= false %></eligibleCustomer>
    <segment><%= " " %></segment>
    <action><%= " " %></action>
    <remarks><%= " " %></remarks>
    <approverEmail><%= customer.getApproverEmail() %></approverEmail>
    <bPELProviderUrl><%= customer.getBPELProviderUrl() %></bPELProviderUrl>
    </customerObj>
    </orabpel:part>
    </orabpel:post>
    </orabpel:deliveryService>
    </orabpel:locator>
    <b>We also tried this way...same result</b>
    Properties jndi = new Properties();
    jndi.put(Context.PROVIDER_URL,"ormi://localhost:23791/orabpel");
    jndi.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
    jndi.put(Context.SECURITY_PRINCIPAL, "admin");
    jndi.put(Context.SECURITY_CREDENTIALS, "welcome");
    jndi.put("dedicated.connection", "true");
    String xml = "....";
    NormalizedMessage input = new NormalizedMessage( );
    input.addPart("payload", xml);
    String conversationId = String.valueOf(System.currentTimeMillis());
    input.setProperty(NormalizedMessage.TITLE, "Dynamic CustomerRegistration Invocation");
    input.setProperty(NormalizedMessage.CONVERSATION_ID, conversationId);
    input.setProperty(NormalizedMessage.CREATOR, "Oracle BPEL");
    Locator locator = new Locator("default","bpel",jndi);
    IDeliveryService deliveryService = (IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME);
    deliveryService.post("ProductRegistration", "initiate", input );
    <b>The entry in application.xml for the web application is as follows:</b><br/>
    <web-module id="registration" path="../../home/applications/registration.war"/>
    The entry in http-web-site.xml for the web application is as follows:<br/>
    <web-app application="orabpel" name="registration" load-on-startup="true" root="/registration"/>
    <web-app application="default" name="registration"      root="/registration"/>
    I have tried to provide all possible relevant info, if you need more, do reply back to me.
    Thanks in advance for helping us to resolve this issue.
    |Soumen|

  • Message stack and push BPEL process

    Hi.
    I found some strange behaviour of BPEL PM.
    I have process with 2 receive activities. First to invoke and second for wait to push.
    Process have 2 input operation: initiate and push.
    When I call process at first with operation push and some correlation id, nothing happens.
    But next when I call process with operation initiate and same correlation id, process run out without waiting and looks like receive message with operation push which was send before.
    What does it means. What it causes and Can I change this beaviour ?
    Thanks

    Normal SOA behavior.
    It looks like the system gets the push activity, but it can not handle that. So it is stored in the dehydration store. (You should verify that). Now the initiate message is comes is. It starts the process, during the process it should get receive message (push) based on your correlation settings. Now, BPEL is looking in the dehydration-store if it has such a message, otherwise it will wait. But the message was already received, to it continues processing.
    Regards,
    Marc
    http://orasoa.blogspot.com

  • Need Enqueue and dequeue BPEL process

    Hi All,
    I am new in BPEL. I need creating asynchronous webservice using AQ Adapter. If any bodies have Enqueue and Dequeue(using Correlation ID) related task please help me.
    Thanks and Regards,
    M.Sathiya

    Hi All,
    Enqueue is working good but dequeue is problem for runtime BPEL console . Dequeue done in queue table but can't receive the date from BPEL console the receive activity waiting for asynchronous callback. if i click Interaction(From BPEL console) that given Dequeue Schema field form then i click Post xml message next step going good. My problem is don't wait asynchronous callback receive the data from dequeue then continue the process. If any bodies knows respective set up change or related sample please help me.
    Regards,
    M.Sathiyaseelan

  • Can processes be both sync and async

    Hi,
    When creating a BPEL process in JDeveloper, there are two pre-defined templates for synchronous or asynchronous processes. As such, I've been viewing a process as being either synchronous or asynchronous.
    However, after a bit of experimentation, I've come to the conclusion that a process can contain both synchronous and asynchronous operations.
    Does this sound correct? Should I not be viewing a process as being one or the other, and it is fact the operation that is sync or async?
    Cheers,
    Toby

    Some thoughts on that:
    -You can view sync as a special form of async, so each sync process is also an aysnc process. (I'm ignoring the tech diff like two ports, two partnerlinks here)
    -You can call sync and async (BPEL-) processes in one process.
    -If a process P contains only sync processes, that will make P sync.
    -If a process P contains (among others) at least one async processes, that will make P async.
    -If you have a async process, you can wrap its invocation with a timeout, making it a sync process.
    Roman

  • 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 ...............

  • JHeadstart, Oracle Business Rules and BPEL Process Manager

    Dear JHeadstart Team,
    I have some questions regarding integration of JHeadstart and Oracle Business Rules and Oracle BPEL Process Manager. As a matter of fact I don't have any work expriences with these tools so my questions may not be good and precise.
    1- Using a business rule engine can dramatically increase speed of development and ease of maintenance.I had a very good exprience in using JHeadstart and Headstart in the past but I wanted to know if it is possible to use Oracle Business Rules in conjunction with the JHeadstart ? If so, What steps should be taken? Is there any known issue about this integration? Does Oracle Business Rules have any interference with JHeadstart or it is only used in model layer during insert,update,delete?
    2- Is it possible to develope a system based on oracle work flow engine (Oracle BPEL Process Manager) using JHeadstart ? If so, What steps should be taken and how the changes in the flow of work would by applyed in a system developed by JHeadstart. Is there any known issue about this integration?
    Any help,link to documents or general guidelines would be highly appreciated.
    Thanks in advance,
    Navid

    Couple of things I would like to add, are the following.
    In the context of an ADF application usage of Oracle Business Rules most likely is in the business logic layer, but mind that it does not need to be restricted to that.
    Oracle Business Rules takes so called 'facts' as input, evaluates some rules based on that and change those facts or return some result. That might be checking a business rule as defined in the JHeadstart Developers Guide. But it might also return some value that is used in a navigation rule.
    Think about a page flow where after page A normally page C is presentend, but in case of some situation (like a customer ordered something and you want to present some special offering based on that) you want page B presented in between (i.e. A -> B -> C). Oracle Rules could be used to determine this page flow. This would be an example of using it in the controller layer (probably in combination with using facts that come from the model layer).
    Another remark that I would like to make, is that in my opinion it does not make much sense to use Oracle Rules for business rules that logically more or less are part of your data model (like end date must be on or after begin date). You typically use Oracle Rules to implement business rules that are of a volatile nature, meaning that day-to-day business may require a change of the rules. One example is the navigation case that I mentioned before. Another (typical) example would be a rule that defines when a customer is a Gold customer.
    Jan Kettenis

  • Understanding asynchronous BPEL processes and threading

    Hi everybody,
    I have a question regarding asynchronous BPEL processes and threading.
    I have an asynchronous BPEL process which delivers a message (picked up from a JMS topic) to a repository (via for instance an ICAN server). This transaction must be time-sensitive, i.e. first-in is first-out.
    If I have several threads running concurrently I have no guarantee that the messages are delivered in the same order that they where generated. It seems that the suggested way around this problem is to use single-threading.
    So here's the part that I do not understand:
    An asynchronous request does not wait for a response. If I use single-threading then what happens to that single-thread if for some reason (for instance the ICAN server is not responding) the BPEL instance is dehydrated? Is the thread still allocated for waiting for the first response or does it go back and pick up the next thing on the topic? If the next thing on the topic is picked up then how can I be sure that the messages are delivered in the correct order? If the thread is still allocated to the single instance then does that not kindda go against the whole concept of an asynchronous process?
    I hope some one can explain this to me.
    Thank you in advance.
    Kind regards,
    Mathias
    PS. This question is an attempt of a different angle on another forum thread: Asynchronuos BPEL - how to get the order of messages right?

    Hi again,
    A quick follow up question:
    Is there any way to have several BPEL processes running on the same server with different settings for how many threads to use?
    It seems that the only way to set number of threads used by BPEL is to use the configuration in the BPEL console? This is an domain setting - which means that all processes deployed to the server is effected the same way?
    I am asking because I am facing a scenario where I need one BPEL process to read from a AQ queue (well actually a topic) with a single thread and another BPEL process - deployed to the same BPEL server - to read from the same AQ queue with multiple threads.
    Does anyone have any idea of how to do this? Can it be done?
    Any suggestions, hints or reference to any documentation would be very much appreciated.
    Thank you in advance,
    Aagaard

  • What is the difference between WORKFLOW API and BPEL PROCESS MANAGER API

    Hi,
    I am using BPEL process manager and would like to know the correct api set.
    I found the workflow api which appears to be part of the oracle workflow.
    is workflow api and oracle BPEL process manager two seperate products? --- Pls confirm/deny.

    Hi me_sun, me_oracle :)
    The bpel api can be found here
    http://download.oracle.com/docs/cd/B31017_01/integrate.1013/b28986/toc.htm
    workflow found here
    http://download.oracle.com/docs/cd/E12483_01/integrate.1013/b28985/toc.htm
    when us install BPEL you do get BPELs human workflow component. This is different to the Oracle Oracle workflow which was based on the database and PL/SQL.
    cheers
    James

  • Calling a BPEL process from java (STRUTS)

    Hi,
    I´ve a workspace where I have all the deployed bpel processes, and I´ve other workspace with a Struts project. I deployed my Struts project in the OC4J Server where the BPEL processes are deployed.
    I´m trying to initialise Locator instance in a .java file. The Locator will search the bpel processes in the default domain. I get an exception when I run the project, dont know what I´m doing wrong. (can´t copy the exception from the Embedded OC4J Server)
    THE CODE:
    static Locator locator = null;
    static String bpelDomain = "default";
    static String bpelDomainPassword = "bpel";
    static String orabpelPlatform = "oc4j_10g";
    static String javaNamingFactoryInitial = "com.evermind.server.rmi.RMIInitialContextFactory";
    static String javaNamingProviderUrl = "ormi://develc15:23791/orabpel";
    static String javaNamingSecurityPrincipal = "admin";
    static String javaNamingSecurityCredentials = "welcome";
    static String dedicatedRmiContext = "true";
    public static void invokeProcess(String processName, String operationName, String sXml)
    try
    Properties props = new java.util.Properties();
    props.setProperty("orabpel.platform",orabpelPlatform);
    props.setProperty("java.naming.factory.initial",javaNamingFactoryInitial);
    props.setProperty("java.naming.provider.url",javaNamingProviderUrl);
    props.setProperty("java.naming.security.principal",javaNamingSecurityPrincipal);
    props.setProperty("java.naming.security.credentials",javaNamingSecurityCredentials);
    props.setProperty("dedicated.rmicontext", dedicatedRmiContext);
    locator = new Locator(bpelDomain, bpelDomainPassword,props);
    } catch (Exception r)
    r.printStackTrace();

    I tried to call an async BPEL process from simple Java client. The only difference that I see in your code and mine is, that I haven't specified the "orabpelPlatform" and "dedicatedRMIContext" properties. Also, another diferenece is the ProviderURL used. I have copied the settings as found under "samples/tutorial/102.InvokeProcess/rmi/Context.Properties".
    While setting the properties use -
    Context.INITIAL_FACTORY
    Context.PROVIDER_URL
    Context.SECURITY_PRINCIPAL
    Context.SECURITY_CREDENTIALS
    instead of specifying java.naming.xxxxxx class names.
    Please check the file to see what are the Context properties set during installation for your BPEL PM. Use the same to define Properties to be passed as parameter in the Locator constructor.
    ~ Amit

  • ESB errors not propagating to BPEL process

    I am working in SOA Suite 10.1.3.3. I have an asynchronous BPEL process that is orchestrating a number of ESB services, most of which perform database operations. Occasionally an attempt is made to insert a record into a table which results in an error (e.g., null value inserted into a non-null field, record already exists, non-existent record in parent table upon which current table depends, etc.). This correctly results in an error in the ESB service that shows up in the ESB Control console.
    The problem is that the error is NOT propagated upward to the invoking BPEL process (which contains all manner of fault catching branches to process the error, log it, send email notifications, and perform other database operations dependent upon the success or failure of the ESB operations). The BPEL process is therefore left "hanging" and never appears in the BPEL Control console as an instance. It shows up in the Manual Recovery queue as an essentially unrecoverable process.
    I am assuming that this change in behavior (such errors formerly propagated to the calling BPEL) is a direct result of the new Fault Handling Framework. My question is: what do I have to do in order to restore the original behavior of the system (ESB service encounters an error and propagates the fault to the async BPEL process, which catches it and does whatever it needs to do to fulfill the requirements of the overall system)? Is this something that can be handled by changes to the BPEL/ESB system configuration, the BPEL process definition, the ESB service definitions, or some combination thereof?
    Thanks for your time.
    Paul Camann

    Hello. We applied 10.1.3.3.1 MLR14 in late October 2008.
    We are seeing large numbers of errors like this in the ESB log ($ORACLE_HOME/j2ee/oc4j_soa/log/oc4j_soa_default_group_1/oc4j/log.xml):
    <MESSAGE>
    <HEADER>
    <TSTZ_ORIGINATING>2009-01-26T13:11:15.497-05:00</TSTZ_ORIGINATING>
    <COMPONENT_ID>tip</COMPONENT_ID>
    <MSG_TYPE TYPE="ERROR"></MSG_TYPE>
    <MSG_LEVEL>1</MSG_LEVEL>
    <HOST_ID>biwsvlbat027.gdbiw.com</HOST_ID>
    <HOST_NWADDR>1.2.3.4</HOST_NWADDR>
    <MODULE_ID>esb.server.service.impl.soap</MODULE_ID>
    <THREAD_ID>98</THREAD_ID>
    <USER_ID>oracle</USER_ID>
    <SUPPL_ATTRS>
    <ATTR NAME="J2EE_MODULE.name">provider-war</ATTR>
    <ATTR NAME="J2EE_APP.name">esb-rt</ATTR>
    <ATTR
    NAME="WEBSERVICE_PORT.name">__soap_Router_ODS_STAGE_Insert_ODS_STAGE_I_PortType</ATTR>
    <ATTR NAME="WEBSERVICE.name">ESB_Router_ODS_STAGE_Insert_Service</ATTR>
    </SUPPL_ATTRS>
    </HEADER>
    <CORRELATION_DATA>
    <EXEC_CONTEXT_ID><UNIQUE_ID>1232993475:1.2.3.4:7097:0:307</UNIQUE_ID><SEQ>5</SEQ></EXEC_CONT
    EXT_ID>
    </CORRELATION_DATA>
    <PAYLOAD>
    <MSG_TEXT>Exception while print response</MSG_TEXT>
    <SUPPL_DETAIL><![CDATA[java.lang.NullPointerException
    at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.processMessage
    (EventOracleSoapProvider.java:215)
    at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing
    (ProviderProcessor.java:956)
    at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation
    (WebServiceProcessor.java:349)
    at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing
    (ProviderProcessor.java:466)
    at oracle.j2ee.ws.server.WebServiceProcessor.processRequest
    (WebServiceProcessor.java:114)
    at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:96)
    at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:177)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at com.evermind.server.http.ServletRequestDispatcher.invoke
    (ServletRequestDispatcher.java:713)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal
    (ServletRequestDispatcher.java:370)
    at com.evermind.server.http.HttpRequestHandler.doProcessRequest
    (HttpRequestHandler.java:871)
    at com.evermind.server.http.HttpRequestHandler.processRequest
    (HttpRequestHandler.java:453)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:302)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
    at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run
    (ServerSocketReadHandler.java:260)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run
    (ReleasableResourcePooledExecutor.java:303)
    at java.lang.Thread.run(Thread.java:595)
    ]]></SUPPL_DETAIL>
    </PAYLOAD>
    </MESSAGE>
    which is possibly the message that would come back from ESB to BPEL failing?
    Thank you.

  • How to get response from an asynchronous BPEL process in Java

    I'm experimenting with BPEL and doesn't seem to be able to get response from an asynchronous BPEL process. Here's the deal:
    I have a BPEL process that takes a string as input, and gives another string as output. This is a asyncronous process.
    I want to initiate this BPEL process as a web service so I generate a Webservice Proxy in JDeveloper 10g (10.1.3.0.4). The function to call the process is now called "initiate" and takes three arguments: the input string, a "org.xmlsoap.schemas.ws._2003._03.addressing.EndpointReferenceType replyTo" and a
    "org.xmlsoap.schemas.ws._2003._03.addressing.AttributedURI messageID".
    HTTP-Analyzer shows that invoking the BPEL process with initiate("somestring", null, null) results in sending a SOAP message to the BPEL process, which returns a "202 Accepted". How do I get the response from the process? My intuition tells me that I have to use that second argument, that EnpointReferenceType thing. How do I use that?
    Another question: If a asynchronous BPEL process does not exists (so the endpoint does not exist) the Java proxy does not throw an error when runned. It does not even sends a message. It exits with status 0! (This happens for example when deploying a new version of a process and when the "old" version is undeployed). Calling a non-existing synchronous BPEL process, the Java proxy DOES throw an error.

    Clemens,
    That all sounds logical. But somehow it is still a mystery for me ... Somehow I don't see what should be done.
    To call the async BPEL process I have the following procedure:
    initiate(String input, org.xmlsoap.schemas.ws._2003._03.addressing.EndpointReferenceType replyTo, org.xmlsoap.schemas.ws._2003._03.addressing.AttributedURI messageID)
    The first argument is the input for my BPEL process. The second is the address to a webservice that should handle the callback, right? The third is a messageID (makes sense, but why of the type AttributedURI?).
    Here lies my problem. It is not clear to me how these EndpointReferenceType & AttributedURI work. I can't find anything on the net about it. The AXIS examples as where mentioned earlier use other types (namely the "org.xmlsoap.schemas.ws.addressing.MessageID" and "org.xmlsoap.schemas.ws.addressing.ReplyTo") which are completely different.
    What I did so far:
    - I created an webservice proxy that listens on the onResult endpoint of the BPEL process.
    - I created an webservice proxy that calls the BPEL process through the initiate procedure, but it is not completely clear to me how to construct the EndPointreferenceType replyTo, and the MessageID. I did something like this:
    EndpointReferenceType replyTo = new EndpointReferenceType();
    // callback service running on local machine
    // This URI class is the java.net's version
    URI replyToURI = new URI("http://vaccinatie:8988/syncro-callback-context-root/stringconcatCallbackBindingPort");
    // This AttributedURI is the org.xmlsoap.schemas.ws._2003._03.addressing's version
    AttributedURI address = new AttributedURI();
    // the only public methos that made sense to me:
    address.set_value(replyToURI);
    replyTo.setAddress(address);
    // call the BPEL process
    myPort.initiate("test123", replyTo, address);
    But the above doesn't work (largely because I don't know what I'm doing here prob.:-) ) It does send the "test123" message, and the BPEL process does process it, but I don't seem to get the callback right.
    I hope this makes my problems somewhat clearer. I hope someone can help me, because I'm just a beginner in this whole "web service area" and seems to do something terribly wrong here, because it should be very simple. Thx.

Maybe you are looking for

  • Old version of FreeHand 5

    I had a working version of FreeHand 5 on my XP machine, which I have used to do a great deal of work, mostly newsletters. It has a lot of features which seem to be missing in the MX versions. It stopped working when my backup disk failed. I need a ne

  • Why does some images saved on memory card show up as a little icon with lightning bolt through it

    I been saving images on memory card.. well as of lately some images have a icon with a lightening bolt on it..and images are lost

  • Migration Assistant stalls: Solutions and tips

    As a long-time Mac user and fairly competent OS X guru, I was not a happy camper when I found myself floundering through the process of migrating my 2007 MacBook Pro with OS X 10.7 to a brand-new MacBook Pro with OS X 10.8 this weekend.  What was eve

  • Billing partial contract document.

    29.10.07 Hi Gurus, My scenario is as follows : A contract of value 3000/- from 01.11.07 to 30.11.07 against which a sales order is generated for a value of 1400 (10.11.07 to 24.11.07). I will bill the sales order and for the balance 16 days i want to

  • Font issues with CC 9.2

    Hi there. I'm on Maverick (OS 10.9.1) with Suitcase Fusion 5 (latest version) and was having difficulty loading a Postscript font (ITC Garamond family) to use in InDesign (or Illustrator or Photoshop). Have used this font in InDesign for the past few