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|

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

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

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

  • OWSM GATEWAY VIRTUALIZED BPEL PROCESS INVOCATION PROBLEM

    Hi
    This is the error i am getting when i try to invoke the VIRTUALIZED BPEL process from test page of OWSM. i have created a component and added service to it. But this error surfaced when i try to invoke the service. I can see the virtualized WSDL in internet explorer though.
    <env:Envelope
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">null
    <env:Body>
    <env:Fault
    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <faultcode>env:Server</faultcode>
    <faultstring>ORABPEL-08021 Cannot find partner wsdl. parnterLink "OWSM_SYNC_BPEL_PROCESS" is not found in process "OWSM_SYNC_BPEL_PROCESS" (revision "1.0") Please check the deployment descriptor of the process to find the correct partnerLink name. </faultstring>
    null</env:Fault>
    </env:Body>
    </env:Envelope>

    Hi Gurus,
    Any update on the issue???
    Regards,
    Dev

  • Async ESB Process

    Is it possible to invoke an async process as you can in BPEL and wait for a response as in BPEL.
    I have an async process that may run for 30 mins, this is too long for a sync process so i want to call it asynchronously and wait for the response. When I call a async process it has no reply.
    any help appreciated.
    cheers
    James

    Can you please help me understand this better.
    As u said an asynchronous process connected to ESB is being called.
    There would be one Routing Service for the initiate operation.
    How to implement the callback from this process to ESB and then in turn to the calling process.
    to implement this callback we would have to create another SOAP service in ESB project mapping it with the onResult operation and also a routing service of similar nature.
    this has effectively created 2 ESB endpoints but instead of 1 SOAP service there are 2 SOAP services.
    Hence on invocation the calling process never gets the response back
    Is my understanding correct.
    in short i want to understand how can i connect an async BPEL process to my ESB in a way that the calling process can invoke and then get a callback of the result.

  • Extending ASYNC BPEL EXECUTION TIME

    Hi,
    I have a Async BPEL process that is calling same webservice several times and each invocation to that webservice results in wait time of 45 secs. so when i invoke the webservices as a partner link from BPEL, the service works fine till first 6 invocations but in case i increase my number of invocations to more than 6, my service moves in BPEL Message Recovery.
    What changes should i make in BPEL properties in order to make my BPEL process run for more than 6 invocations. I tried to change few properties in Soa Infra>Bpel Properties>More BPEL configurations and changed below properties :
    Sync Max wait Time : initially it was 240, i changed to 500
    Also, under recovery Config but the service is still going in reovery.
    How can i make my Aync BPEL process run for more duration without entering in Recovery Mode.
    Ideally, my service executed well for time duration starting 04:06:16 and ended at 04:10:48. If i add one more execution making it wait for another 45 sec, it moves in recovery.
    Please help.
    Thanks.

    Can you let us know the exact version of Server with patch details?

  • 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

  • Authorization Error  While  Invoking BPEL Process Via RMI

    Hi All,
    I have been trying to invoke BPEL Process via RMI client.
    I use the following piece of code for BPEL Process Invocation...
    public class RMIClient {
    public RMIClient() {
    public static void main(String[] args){
    Hashtable jndi = new Hashtable ();
    jndi.put (Context.PROVIDER_URL, "opmn:ormi://host:6010:oc4j_soa/orabpel");
    jndi.put (Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
    jndi.put (Context.SECURITY_PRINCIPAL,"oc4jadmin"); // username of Bpel Manager
    jndi.put (Context.SECURITY_CREDENTIALS,"welcome1"); //password of BPEL Manager
    Locator locator=null;
    try {
    locator = new Locator("default",jndi);
    } catch (ServerException e) {
    e.printStackTrace();
    IDeliveryService deliveryService =
    (IDeliveryService)locator.lookupService
    (IDeliveryService.SERVICE_NAME );
    // construct the normalized message and send to oracle bpel process
    NormalizedMessage nm = new NormalizedMessage( );
    String xml = "<ns1:MyFirstBPELProjectProcessRequest xmlns:ns1=\"http://xmlns.oracle.com/MyFirstBPELProject\">\n" +
    " <ns1:input></ns1:input>\n" +
    " </ns1:MyFirstBPELProjectProcessRequest>";
    nm.addPart("payload", xml );
    NormalizedMessage res=null;
    try {
    res = deliveryService.request("MyFirstBPELProject", "process", nm);
    } catch (ServerException e) {
    e.printStackTrace();
    } catch (RemoteException e) {
    e.printStackTrace();
    Map payload = res.getPayload();
    When I try to connect to my locally deployed BPEL process Manager and Invoke the same process (MyFirstBPELProjectProcess ) it works fine and creates an Instance on BPEL Process Manager Console.
    When I tried Invoking the same BPEL process (MyFirstBPELProjectProcess ) deployed on a Remote machine ,it doesnt create an Instance.
    I believe my connections settings are all correct ,since it doesnt give me an connection issue on my standalone client.
    I tried looking at the following file default_group~oc4j_soa~default_group~1.log available opmn folder under SOA Suite OAS and there
    are no errors.
    Could some body point the log files that I need to look at.
    I am sort of clueless...
    Regards
    Harish

    CAn you post the error. HAve you made sure that the remote machine has connection on the port 6010. You can test this with the folloing command from the remote machine
    telnet host 6010
    obviously replace host with the fully qualified host name of the SOA machine.
    cheers
    James

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

  • Web service data control for asynchronous bpel process

    I have an async BPEL process that I want to call from a JSP page. I followed the tutorial for creating a data control for web services. When the DC was created, it created an initiate operation that requires the ReplyTo and MessageID. I thought these are internal to the runtime stack, so why are they part of the data control? How do I get around it?
    Thanks,
    Rico

    http://blogs.oracle.com/shay/2010/05/updateinsert_with_adf_web_serv.html

  • E-mail invoking BPEL process

    Hello guys,
    Can I invoke a BPEL process throught a E-mail or a JMS message?
    Thank for answer

    I solved it very siply:
    I prepared a simple Java adapter for RMI BPEL process invocation and for work with TaskManager. As I said the adapter is based on RMI as described in tutorial:
    samples\tutorials\102.InvokingProcesses\rmi\
    this adapter i used in my application.
    Or you can call process as WebService - for example in WebLogic Workshop is very simple to prepare JCX and proxy object based on process WSDL.
    JM

  • Callback activity not getting invoked in Async BPEL

    Hi
    I have an Async BPEL process which uses correlations.I have a receive activity in the middle using the correlation.
    When executed the BPEL gets invoked and waits during the receive activity and proceeds further when the service is hit with the required correlated data also but the problem is the process does not get into completed state.When viewed from the BPEL console it shows all the activites upto Call back client but not the call back activity.The other activities get executed properly without any error.
    One more point i would like to mention here is another Sync BPEL is invoking this process [The Sync BPEL just invokes and proceeds further without waiting for any result from the Async process.]
    Need Urgent help on this plss.
    Vamsi

    Hi Peter,
    Thanx for your reply. Actually i tried putting Java embedding activity [with checkpoint()] before and after the call back activity. When i execute the same it comes upto the java embedding which is before the call back and just hnags there. The status of the bpel is also shown as Active.
    Any more help pls..
    Vamsi

  • How to call a Asynchronous bpel process from a PLSQL procedure?

    How to call a Asynchronous bpel process from a PLSQL procedure?

    Hi,
    You could do something smart and technical very spiffy with soap-stacks in the database and/or dbms_ws/dbms_http. But I allways find AQ with AQ-adapter the simplest. Let Pl/sql enqueue a message on an aq-queue and subscribe an aq-adapter process on it. That can call your async-bpel process. If you want to get answer back in pl/sql, let the aq-adapter process enqueue a response message on another queue or on the same queue with another consumer name. Give it a correlation-id that you provided in the payload of your request message. Your pl/sql process can then do a dequeue on that correlation-id. It will sit and wait until a message with that correlation id is enqueued on the queue.
    Regards,
    Martien

Maybe you are looking for

  • Table where Material De and Open PO Nur can be found.

    Dear All,          May I know what is Material De and Open PO Nur ?Please also state in which table above fields are found. Thanks with regards, S.Suresh

  • How Do I Transfer My Phone # To My New Phone?

    I would really appreciate any feedback, as soon as posible! Here's the gist: My old phone is crap, so I ordered a new one online. The new one is the EXACT same phone as my old one. Model, Verizon powered, etc How do I transfer my phone number to this

  • Unicode error while upgrading from 4.6 to ECC 6.0

    Dear All, I am getting unicode errror while upgrading from 4.6 to ECC 6.0, when iam trying to open downloaded file in excel. In debugging, error occurs while executing statment "CALL METHOD OF obj_ex_sheet " in the code given below: FORM open_downloa

  • ITunes won't recognise my phone

    When i plug my iPhone 4 into my laptop, the laptop recognises it but iTunes doesn't. I've tried different USB ports, uninstalled and reinstalled iTunes, upgraded everything, turned everything off and on again but it just won't show up. What do I do?

  • Off topic Navicat MySQL question

    Does anyone know how to delete all data from a field in Navicat?