Unable to invoke a EJB from a BPEL process

I am unable to invoke a EJB from a BPEL process. Whenever I try to test it from the oracle EM, I get the below exception. I am using WebLogic 10.3.3, SOA suite 11.1.1.3 and JDev 11.1.1.3 .
This is what I see from the EM....
Non Recoverable System Fault :
javaInterface attribute for the binding is missing or the inteface class is not available.
Below is a part of the stack trace from the soa server log…
Caused By: oracle.classloader.util.AnnotatedClassNotFoundException:
Missing class: com.abc.GreetingEJBBean
Dependent class: oracle.integration.platform.blocks.ejb.SDOEjbReferenceD
elegateImpl
Loader: sun.misc.Launcher$AppClassLoader@20929799
Code-Source: /C:/Oracle_latest/Middleware/home_11gR1/Oracle_SOA1/soa
/modules/oracle.soa.fabric_11.1.1/fabric-runtime.jar
Configuration: /C:/Oracle_latest/Middleware/home_11gR1/Oracle_SOA1/soa
/modules/oracle.soa.fabric_11.1.1/fabric-runtime.jar
Piece of xml from the composite.xml
<reference name="GreetingService"
ui:wsdlLocation="http://123.45.218.140:7001/GreetingEJBBean/GreetingEJBBeanService?wsdl">
<interface.wsdl interface="http://abc.com/#wsdl.interface(GreetingEJBBean)" />
<binding.ejb uri="GreetingEJB-GreetingEJB-GreetingEJB"
javaInterface="com.abc.GreetingEJB"/>
</reference>
Looks like its not able to find the javaInterface mentioned above.
I have a simple EJB with one business method and a very simple BPEL process.
@Stateless(name = "GreetingEJB", mappedName = "GreetingEJB-GreetingEJB-GreetingEJB")
@WebService
public class GreetingEJBBean implements GreetingEJB {
public GreetingEJBBean() {
public String greetUser(String name){
return ("Hello " + name);
Any help would be greatly appreciated.

I haven't tried from a BPEL process, but I have had success (as in Lucas's blogs) of using services and references as EJB Java Interface. This is with EJB java interfaces solely of base types (i.e. String foo(String s)).
At high level here's what I have noted so far:
1. Per Lucas's blog, @javaInterface is not being added to the ejb.binding automatically but it's not clear to me when this is and is not required given that interface.java is specified for the reference or service. Would interface.java and @javaInterface ever be different? I've been adding @javaInterface manually anyways since Lucas is a smart guy and I'd rather avoid errors. :-)
2. Dropping an EJB interface jar in SCA-INF/lib works, but I've had the problem that the JDeveloper SOA Plugin doesn't see those classes until I stop and restart JDeveloper. Until then, I'm confronted with the java->wsdl mapping error. I was sort of primed to figure this one out since I ran into similar issues with SOA SpringBean components.
3. Dropping EJB interface source in SCA-INF/src is more reliable, because then I can build the project (i.e. create SCA-INF/classes) and the JDeveloper SOA Plugin seems to resolve these brand new classes immediately.
4. I've tried to invoke an EJB java-interface reference with a slightly complicated java interface (a class parameter with some fields, one of which is an array of another class). The auto-generated WSDL doesn't look exactly right to me (but I'm new to JAXB). Mediator maps to it just fine and the project compiles and deploys normally but fails at runtime. I have not researched in depth. It's not clear to me from the documentation and release notes whether I should expect for it to work, or whether I should expect to have to create my own JAXB mapping. If the latter, I really need a good example!

Similar Messages

  • Unable to invoke EJB from a BPEL process.

    Hello all
    I am running BPEL process manager over weblogic 8.1 App server. I am trying to invoke a simple stateless session bean from a synchronous BPEL process. I have created a WSDL for this EJB with appropriate binding and service elements.
    I am able to build my BPEL sync process and deploy it. But, when I run the process and invoke the EJB, I am getting the following exception-
    BPEL Fault: {http://schemas.oracle.com/bpel/extension}bindingFaultCould not create instance for home 'ClusterableRemoteRef(-3059145150938040994S:172.26.210.17:[9700,9700,-1,-1,9700,-1,-1,0,0]:myorabpel:orabpelServer [-3059145150938040994S:172.26.210.17:[9700,9700,-1,-1,9700,-1,-1,0,0]:myorabpel:orabpelServer/288])/288'; nested exception is:
    java.lang.NoSuchMethodException: com.carlson.sample.HelloWorldSessionBean_n4vx3i_HomeImpl_812_WLStub.create()
    I have a home interface for the EJB which has a 'create' method and my session bean has a ejbCreate method. I am using weblogic.appc to create the stubs and skeletons for the EJB.
    Has anyone tried this ?? The tutorial in the download 702.bindings/EJBBinding does something similar to this. But, I am having problems with that too.
    Any comments, advice, sample code will be helpful.
    Thanks a bunch
    - Mahesh :)

    I have deployed my Bean Managed Persistance Entity Bean in Weblogic 8.1 App Server. Trying to access the ejb from Synchronous BPEL process. I tried in two ways
    1. By accessing the ejb directly from BPEL process, writing the following code in BPEL process
    <bpelx:exec xmlns:bpelx="http://schemas.oracle.com/bpel/extension" language="java" version="1.4" name="InventoryEJB">
                   <![CDATA[
         // Java code snippet
         try{   
         Hashtable properties = new Hashtable();
              properties.put(InitialContext.INITIAL_CONTEXT_FACTORY,
    "weblogic.jndi.WLInitialContextFactory");
              properties.put(InitialContext.PROVIDER_URL, "t3://PCIIB07447:7001");
              InitialContext context = new InitialContext(properties);
              InventoryHome home = (InventoryHome) context.lookup("Inventory");
              InventoryRemote remote = home.create();
              int status = remote.getInventory("Chevrolet","2-Door Coupes","Chevy Cobalt",5);
              addAuditTrailEntry("Status is: " + status);
    setVariableData("output", "payload",
    "/status", new Integer(status));
    catch(Exception e){}
         ]]>
              </bpelx:exec>
    Also copied the interface files in system\classes directory. I got the expected output but i am not able to view the "Visual Flow". Getting the following error in my BPEL server console
    <Sep 9, 2004 12:46:51 PM IST> <Warning> <RMI> <BEA-080003> <RuntimeException thr
    own by rmi server: weblogic.management.internal.RemoteMBeanServerImpl.invoke(Lja
    vax.management.ObjectName;Ljava.lang.String;[Ljava.lang.Object;[Ljava.lang.Strin
    g;)
    weblogic.management.NoAccessRuntimeException: Access not allowed for subject: p
    rincipals=[], on ResourceType: ServerConfig Action: execute, Target: lookupServe
    rRuntime.
    weblogic.management.NoAccessRuntimeException: Access not allowed for subject: pr
    incipals=[], on ResourceType: ServerConfig Action: execute, Target: lookupServer
    Runtime
    at weblogic.management.internal.SecurityHelper$IsAccessAllowedPrivilegeA
    ction.wlsRun(SecurityHelper.java:564)
    at weblogic.management.internal.SecurityHelper$IsAccessAllowedPrivilegeA
    ction.run(SecurityHelper.java:456)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
    dSubject.java:317)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
    118)
    at weblogic.management.internal.SecurityHelper.isAccessAllowed(SecurityH
    elper.java:350)
    at weblogic.management.internal.RemoteMBeanServerImpl.private_invoke(Rem
    oteMBeanServerImpl.java:946)
    at weblogic.management.internal.RemoteMBeanServerImpl.invoke(RemoteMBean
    ServerImpl.java:908)
    at weblogic.management.internal.RemoteMBeanServerImpl_WLSkel.invoke(Unkn
    own Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:477)
    at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:420)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
    dSubject.java:353)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
    144)
    at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
    a:415)
    at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
    .java:30)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    2. The other way i used WSIF frame work, but i could not resolved.
    Thanks for your help in advance.

  • Invoking ODI Scenario from a BPEL process - Resolved

    I new to Oracle products.
    I am exploring Oracle Data Integrator tool.
    I would like to call ODI scenario from a BPEL process.
    I created a scenario in ODI, I have SOA suite10.1.3.3 installed in my machine.
    In some portal I have read that, we need to deploy apache axis to Oracle App server and then deploy the ODI public web service to axis. This public web service facilitates us to call scenario from partner link.
    Following are my questions:
    1) I guess Oracle App server acts as webservice container too. Why should I use apache axis here?
    2)If axis must be used, please let me know how to deploy it to OAS.
    If axis is not required, please guide me how to deploy public web service to OAS.
    Thanks!!

    Hi:
    I have similar problem, when invoke ODI Scenario from a BPEL Process, the error in ODI Designer is:
    java.lang.NullPointerException
         at com.sunopsis.dwg.dbobj.SnpSession.a(SnpSession.java)
         at com.sunopsis.dwg.dbobj.SnpSession.y(SnpSession.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSessionPreTrt(SnpSession.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandScenario.treatCommand(DwgCommandScenario.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.i(e.java)
         at com.sunopsis.dwg.cmd.h.y(h.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Thread.java:595)
    In the BPEL Console the result is OK and process complete, but in the INVOKE scenario send message:
    <messages><ODI_REQUEST><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="part1"><invokeScenarioRequest xmlns="xmlns.oracle.com/odi/OdiInvoke/">
    *<RepositoryConnection xmlns=""*
    <JdbcDriver>oracle.jdbc.driver.OracleDriver</JdbcDriver>
    <JdbcUrl>jdbc:oracle:thin:@192.168.1.109:1521:ORCL</JdbcUrl>
    <JdbcUser>dimaster</JdbcUser>
    <JdbcPassword>sabr0sa</JdbcPassword>
    <OdiUser>SUPERVISOR</OdiUser>
    <OdiPassword>SUNOPSIS</OdiPassword>
    <WorkRepository>TESTWORKREP1</WorkRepository>
    </RepositoryConnection>
    *<Command xmlns="">*
    <ScenName>P_TRASPASOSOP09</ScenName>
    <ScenVersion>2</ScenVersion>
    <Context>Global</Context>
    <LogLevel>5</LogLevel>
    <SyncMode>0</SyncMode>
    <SessionName/>
    <Keywords/>
    <Variables>
    <Name/>
    <Value xmlns:ns1="http://xmlns.oracle.com/Recepcion">
    <ns1:Escenario>P_TRASPASOSOP09</ns1:Escenario>
    <ns1:Version>2</ns1:Version>
    <ns1:Contexto>Global</ns1:Contexto>
    <ns1:ID>1</ns1:ID>
    <ns1:NivelLogeo>5</ns1:NivelLogeo>
    </Value>
    </Variables>
    </Command>
    *<Agent xmlns="">*
    <Host>192.168.1.109</Host>
    <Port>20910</Port>
    </Agent>
    </invokeScenarioRequest>
    </part></ODI_REQUEST><ODI_RESPONSE><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="part1"><odi:invokeScenarioResponse xmlns:odi="xmlns.oracle.com/odi/OdiInvoke/">
    <odi:CommandResultType>
    <odi:Ok>true</odi:Ok>
    <odi:SessionNumber>445000</odi:SessionNumber>
    </odi:CommandResultType>
    </odi:invokeScenarioResponse>
    </part></ODI_RESPONSE></messages>

  • How to invoke TaskService updateTask from within BPEL Process

    Hi
    I have to call the updateTask method defined within TaskService to update the BPEL payload. I initiate the Task in the same BPEL process but I want to update the payload somewhere down in the same BPEL process. Can someone assist me in finding out how I should do that without writing Java code? I want to know which task values I need to set before using the invoke activity and assigning the updateTask method to it.
    Regards,
    Jayesh
    MCSE, MCSD, SCJP, PMP

    I saw a bug reported for this issue
    here is the metalink
    https://metalink.oracle.com/metalink/plsql/f?p=130:15:4302376104022705627::::p15_database_id,p15_docid,p15_show_header,p15_show_help,p15_black_frame,p15_font:BUG,5751185,1,1,1,helvetica
    Bug No. 5751185
    I have attached the text in metalink for those who do not have access to the metalink
    Bookmark Fixed font Go to End Monitor Bug
    Bug No. 5751185
    Filed 08-JAN-2007 Updated 23-JAN-2007
    Product Oracle(R) BPEL Process Manager Product Version 10.1.3.1
    Platform Microsoft Windows XP Platform Version No Data
    Database Version N/A Affects Platforms Generic
    Severity Severe Loss of Service Status Code Bug (Response/Resolution)
    Base Bug N/A Fixed in Product Version No Data
    Problem statement:
    (LOCAL) USERTASK FAILING WITH JAVAX.NAMING.NAMENOTFOUNDEXCEPTION TASKSERVICEBEAN
    *** 01/08/07 03:24 pm *** When creating a usertask in BPEL 10.1.3.1 - I get 2 possible bindings - one SOAP based and the other one java based. When running locally the JAVA Binding is called - and fails with . < 2007-01-08 12:09:44,061> < ERROR> < oracle.bpel.services.workflow> < ::> java:comp/env/ejb/local/TaskServiceBean not found in ActivityManagerBean javax.naming.NameNotFoundException: java:comp/env/ejb/local/TaskServiceBean not found in ActivityManagerBean at com.evermind.server.ApplicationContext.lookupInJavaContext(ApplicationContext. java:306) at com.evermind.server.ApplicationContext.unprivileged_lookup(ApplicationContext. java:230) at com.evermind.server.ApplicationContext.lookup(ApplicationContext.java:195) at javax.naming.InitialContext.lookup(InitialContext.java:351) at oracle.bpel.services.workflow.task.client.TaskServiceLocalClient.initiateTask( TaskServiceLocalClient.java:48) at oracle.bpel.services.workflow.task.impl.TaskServiceWSIF.initiateTask(TaskServi ceWSIF.java:99) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at *** 01/08/07 03:27 pm *** After looking into the EJB refs of ActivityManagerBean .. exactly this one is missing .. . < session-deployment name="ActivityManagerBean" min-instances="50" location="ejb/collaxa/system/ActivityManagerBean" local-location="ejb_ob_engine_ActivityManagerBeanLocal" persistence-filename="ejb/collaxa/system/ActivityManagerBean.home_default_grou p_1"> < ejb-ref-mapping name="ejb/local/DispatcherLocalBean" /> < ejb-ref-mapping name="ejb/local/ProcessManagerLocalBean" /> < ejb-ref-mapping name="ejb/local/CubeDeliveryLocalBean" /> < ejb-ref-mapping name="ejb/local/MessageLocalBean" /> < ejb-ref-mapping name="ejb/local/ServerLocalBean" /> < resource-ref-mapping name="jms/collaxa/BPELInvokerQueueFactory" location="BPELjms/BPELInvokerQueueFactory" /> < resource-env-ref-mapping name="jms/collaxa/BPELInvokerQueue" location="BPELjms/BPELInvokerQueue" /> < /session-deployment> . and here are the missing entries .. . < ejb-local-ref id="EjbRef_ActivityManager_TaskServiceBean"> < ejb-ref-name>ejb/local/TaskServiceBean< /ejb-ref-name> < ejb-ref-type>Session< /ejb-ref-type> < local-home>oracle.bpel.services.workflow.task.ejb.TaskServiceLocalHome< /local -home> < local>oracle.bpel.services.workflow.task.ejb.TaskServiceLocal< /local> < ejb-link>TaskServiceBean< /ejb-link> < /ejb-local-ref> *** 01/08/07 03:27 pm *** (CHG: FixBy-&gt;10.1.3.3) *** 01/08/07 03:34 pm *** also in the orion-ejb-jar.xml < ejb-ref-mapping name="ejb/local/TaskServiceBean" /> . is missing *** 01/08/07 03:51 pm *** *** 01/18/07 09:22 am *** (CHG: Sta-&gt;16) *** 01/18/07 09:22 am *** *** 01/18/07 10:38 am *** (CHG: Confirmed Flag-&gt;Y) *** 01/18/07 10:38 am *** (CHG: Sta-&gt;11 Asg-&gt;NEW OWNER) *** 01/18/07 10:38 am *** *** 01/18/07 10:39 am *** (CHG: Asg-&gt;NEW OWNER) *** 01/23/07 01:09 pm *** (CHG: FixBy-&gt;10.1.3.4) *** 01/23/07 01:09 pm ***
    .

  • How can one invoke a WebLogic EJB from a BPEL Server hosted on OC4J?

    How can one invoke a WebLogic EJB from a BPEL Server hosted on OC4J?
    Reason I ask is I keep getting this error:
    javax.naming.NoInitialContextException: Cannot instantiate cla
    ss: weblogic.jndi.WLInitialContextFactory [Root exception is java.lang.ClassNotF
    oundException: weblogic.jndi.WLInitialContextFactory]
    Note: I am using <bpelx:exec> as a way to execute some java program.
    Essentially my java client (essentially an EJB client hosted on Oc4J) needs access to wlclient.jar since it needs access to weblogic.jndi.WLInitialContextFactory. I have a EJB client running on BPEL server hosted on Oc4J that needs to access some EJBs hosted on weblogic.
    Where do I place this wlclient.jar so that BPEL PM can start peacefully and at runtime discover the InitialContextFactory classes?
    Placing it in the j2ee/home/applib doesn't solve the problem. The server fails to start up if I do this
    I tried placing it in BPEL-INF\lib directory ...
    I still get the same exception...see below for exception dump
    I verified the BPEL suitcase, and it in fact does contain the jar file wlclient.jar
    integration\orabpel\domains\default\deploy contains the bpel_BPELProcess2_1.0.jar file and snapshot of that is as follows:
    <PRE>
    &#9474; bpel.xml
    &#9474; BPELProcess2.bpel
    &#9474; BPELProcess2.jpr
    &#9474; BPELProcess2.wsdl
    &#9474; bpel_BPELProcess2_1.0.jar
    &#9474; build.xml
    &#9474; buildxml.copy
    &#9474; graphics.xml
    &#9474;
    &#9500;&#9472;&#9472;&#9472;BPEL-INF
    &#9474; &#9492;&#9472;&#9472;&#9472;lib
    &#9474; myEJB.jar
    &#9474; wlclient.jar
    &#9474;
    &#9500;&#9472;&#9472;&#9472;META-INF
    &#9474; MANIFEST.MF
    &#9474;
    &#9492;&#9472;&#9472;&#9472;output
    bpel_BPELProcess2_1.0.jar
    </PRE>
    I tried using the BPEL-INF\jar directory...Is this something the obant automatically detects? or do I have to modify the build.xml? I created this directory and let Jdev deploy to local BPEL server->default domain handle it
    #####################3
    I even tried copying the wlclient.jar to
    integration\orabpel\system\classes but this doesn't help since the BPEL PM fails to start if I explode this jar into this directory.
    In short,where do I place the wlclient.jar so that this exception can be contained.
    I edited the build.xml to point to the jar, that too didn't work, unless I made some mistake in the file
    <bpelc classpath="${basedir}/BPEL-INF/classes;${home}/system/classes;${home}/lib/j2ee_1.3.01.jar;${basedir}/BPEL-INF/jar/wlclient.jar" input="${basedir}/bpel.xml" rev="${rev}" deploy="${deploy}" />
    </target>
    </project>
    DETAILS on ERROR
    I get the following error
    Process "BPELProcess2" (revision "1.0") successfully compiled.
    <2005-12-14 09:17:55,770> <INFO> <default.collaxa.cube.engine.deployment> Proces
    s "BPELProcess2" (revision "1.0") successfully loaded.
    05/12/14 09:18:36 weblogic.jndi.WLInitialContextFactory
    javax.naming.NoInitialContextException: Cannot instantiate cla
    ss: weblogic.jndi.WLInitialContextFactory [Root exception is java.lang.ClassNotF
    oundException: weblogic.jndi.WLInitialContextFactory]
    05/12/14 09:18:36 at javax.naming.spi.NamingManager.getInitialContext(Nami
    ngManager.java:652)
    05/12/14 09:18:36 at javax.naming.InitialContext.getDefaultInitCtx(Initial
    Context.java:243)
    05/12/14 09:18:36 at javax.naming.InitialContext.init(InitialContext.java:
    219)
    05/12/14 09:18:36 at javax.naming.InitialContext.<init>(InitialContext.jav
    a:195)
    05/12/14 09:18:36 at com.ejb.test.MapFinder.getDefaultMapName(Map
    Finder.java:37)
    ##################3
    with the bpelx all I have is two lines of code that creates a java object and calls a method on it.
    The method does this:
        private String initialContextFactory = "weblogic.jndi.WLInitialContextFactory";
        private String providerUrl = "t3://localhost:7001";
        private String urlPkgPrefixes = "";
        private String mapEjbJndiName = "ejb/mycompany/Redlands";
        public String getDefaultMapName() {
          try {
              Hashtable env = new Hashtable();
              env.put(Context.INITIAL_CONTEXT_FACTORY, getInitialContextFactory());
              env.put(Context.PROVIDER_URL, getProviderUrl());
              if (getUrlPkgPrefixes() != null && !getUrlPkgPrefixes().equals(""))
                  env.put(Context.URL_PKG_PREFIXES, getUrlPkgPrefixes());
              System.out.println("    " + getInitialContextFactory());
              System.out.println("    " + getProviderUrl());
              System.out.println("    " + getUrlPkgPrefixes());
              System.out.println("    " + getEjbName());
              // Get a naming context
              context = new InitialContext(env);
               Object ms  = context.lookup(getEjbName());
              MyEJBHome home = (MyEJBHome ) PortableRemoteObject.narrow(ms, MyEJBHome.class);
              myEjb = home.create();
              return myEjb.getDefaultName();
          } catch (RemoteException re){
              System.out.println(re.getCause().getMessage());
          catch (Exception ex) {
              ex.printStackTrace();
          return null; //if unable to resolve the context factory etc...
        }

    I did exactly as you suggested. I edited the application.xml and added this
    <library path="C:\ArcGIS\test\bea\wlclient.jar"/>
    I didn't add weblogic because the needed classes were all in wlclient.jar
    I also edited the BASE_OB_CLASSPATH to include this jar.
    Here is the result when I just start BPEL PM Server. Somehow BPEL PM doesn't like to have wlclient.jar in its classpath during startup.
    Failed to create "worker" bean; exception reported is: "javax.naming.NameNotFoun
    dException: remaining name: env
    at weblogic.j2eeclient.SimpleContext.lookup(SimpleContext.java:49)
    at weblogic.j2eeclient.SimpleContext.lookup(SimpleContext.java:57)
    at weblogic.j2eeclient.SimpleContext.lookup(SimpleContext.java:62)
    at javax.naming.InitialContext.lookup(InitialContext.java:347)
    at com.collaxa.cube.engine.ejb.impl.WorkerBean.ejbCreate(WorkerBean.java
    :49)
    at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
    sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at com.evermind.server.ejb.MessageDrivenHome.getInstance(MessageDrivenHo
    me.java:1235)
    at com.evermind.server.ejb.MessageDrivenHome$2.run(MessageDrivenHome.jav
    a:1150)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(Relea
    sableResourcePooledExecutor.java:186)
    at java.lang.Thread.run(Thread.java:534)
    <2005-12-29 13:39:05,281> <ERROR> <collaxa> <ServerManager::loadAllDomains>
    ORABPEL START-UP ERROR!!!!!!!!
    OraBPEL run-time system failed to start due to exception:
    Could not initialize jms connection pool.
    Could not initialize connection pool for connection factory "java:comp/env/jms/
    ollaxa/BPELInvokerQueueFactory"; the reason is remaining name: env/jms/collaxa/
    PELInvokerQueueFactory.
    Note: So what I did was to removed the entry from application.xml and tried with just obsetenv.bat having the wlclient.jar added to it. This too failed!!
    Here is a snapshot of the error I got.
    Process "BPELProcess2" (revision "1.0") successfully compiled.
    <2005-12-29 13:53:11,207> <INFO> <default.collaxa.cube.engine.deployment> Proces
    s "BPELProcess2" (revision "1.0") successfully loaded.
    05/12/29 13:53:32 Cannot instantiate class: weblogic.jndi.WLInitialContextFactor
    y
    05/12/29 13:53:32 javax.naming.NoInitialContextException: Cannot instantiate cla
    ss: weblogic.jndi.WLInitialContextFactory [Root exception is java.lang.ClassNotF
    oundException: weblogic.jndi.WLInitialContextFactory]
    05/12/29 13:53:32 at javax.naming.spi.NamingManager.getInitialContext(Nami
    ngManager.java:652)
    05/12/29 13:53:32 at javax.naming.InitialContext.getDefaultInitCtx(Initial
    Context.java:243)
    05/12/29 13:53:32 at javax.naming.InitialContext.init(InitialContext.java:
    219)
    05/12/29 13:53:32 at javax.naming.InitialContext.<init>(InitialContext.jav
    a:195)
    05/12/29 13:53:32 at com.esri.adf.ejb.test.MapFinder.getDefaultMapName(Map
    Finder.java:57)
    05/12/29 13:53:32 at bpel.p0.ExecLetBxExe1.execute(ExecLetBxExe1.java:62)
    05/12/29 13:53:32 at com.collaxa.cube.engine.ext.wmp.BPELXExecWMP.__execut
    eStatements(BPELXExecWMP.java:49)
    05/12/29 13:53:32 at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perfo
    rm(BPELActivityWMP.java:185)
    05/12/29 13:53:32 at com.collaxa.cube.engine.CubeEngine.performActivity(Cu
    beEngine.java:3398)
    05/12/29 13:53:32 at com.collaxa.cube.engine.CubeEngine.handleWorkItem(Cub
    eEngine.java:1905)
    05/12/29 13:53:32 at com.collaxa.cube.engine.dispatch.message.instance.Per
    formMessageHandler.handleLocal(PerformMessageHandler.java:75)
    05/12/29 13:53:32 at com.collaxa.cube.engine.dispatch.DispatchHelper.handl
    eLocalMessage(DispatchHelper.java:100)
    05/12/29 13:53:32 at com.collaxa.cube.engine.dispatch.DispatchHelper.sendM

  • Invoking Session EJB (with WSIF binding) from a BPEL process

    Hi,
    I am invoking a stateless session bean from a bpel process. The bpel process is throwing:
    Failed to lookup EJB home using JNDI name 'ejb/visilient/BPELHelper'; nested exception is:
         java.lang.NullPointerException
    I can see the ejb jndi name under 'default' app.
    Any ideas?
    TIA

    It is a lovely sample... However, it doesn't cover Complex Types and Exception handling. It would be nice if each example was thorough. Would be a great help.
    What I was hoping to achieve is this:
    1) Have an EJB deployed
    2) Use WSIF for BPEL Processes.
    3) Use Web Service interface for AJAX calls etc.
    I was hoping that this would be the exact code base and that only a single EJB would be deployed.
    So far, it looks like JDeveloper will only support Java WSIF bindings. No EJB Bindings. It also looks like JAXRPC is the best supported WS interface. With that in mind, it deploys a seperate subset of the EJB. Thus causing two seperate deployments. I am working on trying all this out over the next couple days. See where I get.
    Anyways, do you have any recommendation for accomplishing what I am wanting to do? 1 deployed EJB, with a WS interface and allowing WSIF bindings. Any other references for me to look at? Should I not be thinking about using JDeveloper for any of the WSDL generation and do all this manually for now?
    Thanks,
    BradW

  • How to invoke a custom adapter from a BPEL process

    Hi guys,
    I've implemented a custom outbound adapter and deployed successfully on Weblogic V.10.3.4.
    My current installation also consists of Oracle SOA Suite 11g / JDeveloper 11g (11.1.1.4.0)
    In the Weblogic administrator's console,
    *1.* I navigated to:
    Summary of Deployments -> AdapterName -> Configuration -> Outbound Connection Pools
    *2.* Selected: javax.resource.cci.ConnectionFactory and added new JNDI name for Outbound Connection Instance: "*eis/HelloWorld*"
    My task is to invoke the custom adapter from a BPEL process.
    I altered the customAdapter-config.xml so as to be able to use custom adapter wizard from JDeveloper's "Service Adapters" palette,
    and fullfilled the custom adapter wizard's fields accordingly. The 3rd step of the wizard requires Connection Information.
    I added: "*eis/HelloWorld*" in the "*Connection Factory Location*" field.
    Deployed BPEL process successfully, but testing failed due to binding.jca-12510 error:
    "The JCA Binding Component was unable to establish an outbound JCA CCI connection due to the following issue: BINDING.JCA-12510 JCA Resource Adapter location error. Unable to locate the JCA Resource Adapter via .jca binding file element <connection-factory/> The JCA Binding Component is unable to startup the Resource Adapter specified in the <connection-factory/> element: location='eis/HelloWorld'. The reason for this is most likely that either 1) the Resource Adapters RAR file has not been deployed successfully to the WebLogic Application server or 2) the '<jndi-name>' element in weblogic-ra.xml has not been set to eis/HelloWorld. In the last case you will have to add a new WebLogic JCA connection factory (deploy a RAR). Please correct this and then restart the Application Server "I tried to apply (just for testing) "eis/FileAdapter" in the "Connection Factory Location" field of the custom adapter wizard,
    and BPEL successfully invoked the adapter.
    Any ideas ?
    Thanks,
    George

    George, What deployment do you have this associated with?
    - D.J.

  • How to invoke an OSB service from a BPEL process

    I need help, to figure out how to invoke an OSB proxy service from a BPEL process.
    I found a blog which exactly does that; but I am unable to get it to work. I get the following error on my BPEL console. We are on OSB10gR3 and SOA 10134.
    "com.bea.wli.sb.transports.TransportException: Unknown error while processing message for service ProxyService DWIntegrations/ProxyService/PeopleServiceBus"
    Any help will be greatly appreciated.
    Regards,
    BP

    It really comes down to the proxy service on the OSB. Is it invoked by a WSDL? If so you should be able to take the endpoint defined in the proxy service messaging configuration and use that URL. You also need to use the sb transport type.
    Can you also post the blog you used, then we can put it into context.
    also have a look at this link.
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/bpelpmtransport/transport.html#wp1116011
    cheers
    James

  • Error while invoking ESB process from a BPEL process

    Hi all
    We have a requirement to call an ESB process from a BPEL process. We are using an adapter wth the ESB's WSDL url. After deploying the BPEL process, the registered ESB is getting called for most values while suddenly some values return the followign error
    *"exception on JaxRpc invoke: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Connection reset"*
    The catch here is, if we re-run the process with the same values again, the ESB is called successfully! How is it possible for a process to error out and run normally for the same inputs ?
    What could be the possible fix for this? I am thankful for any inputs on this.
    Vijay

    Hi Vijay,
    This is a bug and you can refer the metalink note:
    "Applying Patch 7445876 Results in Error "java.lang.NullPointerException". [ID 942575.1]" for reference.
    Also you can refer the following link:
    "http://puchaanirudh.blogspot.com/2008/12/exception-on-jaxrpc-invoke-http.html" also.
    Thanks,
    Vishwanath.

  • Invoking JDev bpel process from Eclipse BPEL Process?

    Is it possible to invoke a bpel process (with dbadapter) developed in JDev from a bpel process created in Eclipse (Designer)?

    I was unsuccessful.
    Scenario:
    I was trying to invoke jdev bpel process (that had a database adapter to update the database) from Eclipse bpel process (since we do not have adapters in Eclipse designer).
    The namespace wasn't known by Eclipse( some schema missing?) and therefore we couldn't compile it.

  • Invoking bpel process from another bpel process in same app server

    Hi,
    When I invoke a bpel process from another bpel process in the same oracle AS
    1. Is it a SOAP call or is there any optimization?
    2. If there is some optimization where can I configure this?
    3. Is there any similar optimizations if I invoke a bpel process from a
    java application deployed in the same server? If so can you please provide
    a sample?
    Thanks for your help
    Raj

    By default the BPEL 10.1.2, it will do a local call to the process. It will not execute a SOAP request, no network access is done.
    It can be configured at domain level:
    Parameter: optSoapShortcut (SOAP local optimization)
    Turns on "short-cut" for local SOAP request; local SOAP calls are normally done via an internal call instead of sending a message through the SOAP stack.
    The default behavior for the engine is to optimize all. To disable optimization specify a value other than "true" or "yes".

  • How to obtain response from asyn bpel process invoked through java

    I need to get the response from Asynchronous bpel process which im invoking through java using DeliveryPost method whose return type is void.

    I was able to write java code for the above process
    the code is here
    NormalizedMessage nm = new NormalizedMessage( );
    String uniqueBpelId = com.collaxa.cube.util.GUIDGenerator.generateGUID();
    java.util.Map msgProps = new HashMap();
    // NormalizedMessage res = deliveryService.request("OraFormsService", "initiate", nm);
    //deliveryService.post(null,null,null,null);
    msgProps.put("conversationId",uniqueBpelId);
    nm.setProperty("conversationId",uniqueBpelId);//to set the property for this message
    nm.addPart("payload",xml1);//to add to the payload of this message
    deliveryService.post("OraFormsService", "initiate", nm);
    // System.out.println("con1 "+IDeliveryConstants.STATE_HANDLED);
    StringBuffer buf = new StringBuffer();
    WhereCondition cond;
    cond = new WhereCondition(buf.append(SQLDefs.IM_state).append( " = " ).append(IDeliveryConstants.STATE_UNRESOLVED ).toString() );
    //cond = WhereConditionHelper.whereInstancesOpen();
    IInvokeMetaData imd[] = locator.listInvokeMessages(cond);
    String ids[] = new String[imd.length];
    // print out the partial process information
    // for processes in manual recovery status on invoke
    for (int i = 0; i < imd.length; i++)
    System.out.println("ConversationId=" +
    imd.getConversationId());
    System.out.println("ProcessId=" +
    imd[i].getProcessId());
    System.out.println("State=" + imd[i].getState());
    ids[i] = imd[i].getConversationId();
    Thanks for the Help

  • 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

  • Trying to throw fault from one BPEL process to another

    We are trying to throw a fault from one BPEL process to another and apparently are experiencing a common problem. That is, the invoking process times out and never receives the fault.
    Likely a beginner's mistake is at fault (pun intended).
    Below are samples of a simple "Hello World" process that tries to throw the fault.
    snippet of pbel file....
    <process name="HelloJavaWorldSynchronous"
    targetNamespace="http://xmlns.oracle.com/HelloJavaWorldSynchronous"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:ns1="http://helloworldjavaproject/"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:client="http://xmlns.oracle.com/HelloJavaWorldSynchronous"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
    <faultHandlers>
    <catchAll>
    <sequence name="Sequence_1">
    <assign name="Assign_3">
    <copy>
    <from expression="12345"/>
    <to variable="FaultVar" part="code"/>
    </copy>
    <copy>
    <from expression="'Hello fault summary'"/>
    <to variable="FaultVar" part="summary"/>
    </copy>
    <copy>
    <from expression="'Hello test detail'"/>
    <to variable="FaultVar" part="detail"/>
    </copy>
    </assign>
    <throw name="Throw_2" faultName="client:myFault"
    faultVariable="FaultVar"/>
    </sequence>
    HelloJavaWorldSynchronous.wsdl file
    <definitions
    name="HelloJavaWorldSynchronous"
    targetNamespace="http://xmlns.oracle.com/HelloJavaWorldSynchronous"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:ns1="http://schemas.oracle.com/bpel/extension"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:client="http://xmlns.oracle.com/HelloJavaWorldSynchronous"
    >
    <import namespace="http://schemas.oracle.com/bpel/extension" location="RuntimeFault.wsdl";/>
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://xmlns.oracle.com/HelloJavaWorldSynchronous" schemaLocation="HelloJavaWorldSynchronous.xsd";/>
    </schema>
    </types>
    <message name="HelloJavaWorldSynchronousRequestMessage">
    <part name="payload" element="client:HelloJavaWorldSynchronousProcessRequest"/>
    </message>
    <message name="HelloJavaWorldSynchronousResponseMessage">
    <part name="payload" element="client:HelloJavaWorldSynchronousProcessResponse"/>
    </message>
    <portType name="HelloJavaWorldSynchronous">
    <operation name="process">
    <input message="client:HelloJavaWorldSynchronousRequestMessage"/>
    <output message="client:HelloJavaWorldSynchronousResponseMessage"/>
    <fault name="myFault" message="ns1:RuntimeFaultMessage"/>
    </operation>
    </portType>
    <plnk:partnerLinkType name="HelloJavaWorldSynchronous">
    <plnk:role name="HelloJavaWorldSynchronousProvider">
    <plnk:portType name="client:HelloJavaWorldSynchronous"/>
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>
    The standard RuntimeFault.wsdl file (RuntimeFaultMessage message is defined in here, so I don't need a message in HelloJavaWorldSynchronous.wsdl. Do I?)
    <?xml version="1.0"; encoding="UTF-8"?>
    <definitions name="RuntimeFault"
    targetNamespace="http://schemas.oracle.com/bpel/extension"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.xmlsoap.org/wsdl/">
    <message name="RuntimeFaultMessage">
    <part name="code" type="xsd:string"/>
    <part name="summary" type="xsd:string"/>
    <part name="detail" type="xsd:string"/>
    </message>
    </definitions>
    But when we invoke the process, after the standard 45 seconds timeout, we still get...
    <Faulthttp://schemas.xmlsoap.org/soap/envelope/>
    <faultcode>env:Server</faultcode>
    <faultstring>com.oracle.bpel.client.delivery.ReceiveTimeOutException: Waiting for response has timed out. The conversation id is f290d62d2ad31aa6:-49eb76f4:124eb51622a:-7c91. Please check the process instance for detail.</faultstring>
    </Fault>
    The console audit below might hold a clue. I noticed the mesage BPELFault" has not been caught by a catch block at the end.
    <catchAll>
    <sequence>
    Assign_3
    [2009/11/13 11:18:32] Updated variable "FaultVar" More...
    -<FaultVar>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="code">
    <code xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">12345
    </code>
    </part>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="summary">
    <summary xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    </part>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="detail">
    <detail xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    </part>
    </FaultVar>
    [2009/11/13 11:18:32] Updated variable "FaultVar" More...
    -<FaultVar>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="code">
    <code xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">12345
    </code>
    </part>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="summary">
    <summary xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Hello fault summary
    </summary>
    </part>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="detail">
    <detail xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    </part>
    </FaultVar>
    [2009/11/13 11:18:32] Updated variable "FaultVar" More...
    -<FaultVar>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="code">
    <code xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">12345
    </code>
    </part>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="summary">
    <summary xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Hello fault summary
    </summary>
    </part>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="detail">
    <detail xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Hello test detail
    </detail>
    </part>
    </FaultVar>
    Throw_2 (faulted)
    [2009/11/13 11:18:32] "{http://xmlns.oracle.com/HelloJavaWorldSynchronous}myFault" has been thrown. More...
    -<myFault xmlns="http://xmlns.oracle.com/HelloJavaWorldSynchronous">
    -<part name="code">
    <code xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">12345
    </code>
    </part>
    -<part name="summary">
    <summary xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Hello fault summary
    </summary>
    </part>
    -<part name="detail">
    <detail xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Hello test detail
    </detail>
    </part>
    </myFault>
    </sequence>
    </catchAll>
    [2009/11/13 11:18:32] "BPELFault" has not been caught by a catch block.
    [2009/11/13 11:18:32] BPEL process instance "570162" cancelled

    Thanks very much for this answer. It was right on.
    You wanted to know "how (I) get on". Funny you should ask. Believe it or not, I had figured out the problem on my own just about the time you were posting your reply (of course, this is a bit too convenient. No one will ever believe me).
    But the answer leads to another question. What is the Throw activity for, if not to throw an error to the calling process? Is it only used to throw within scope of the process its self?
    I am probably biased by the Java world I am coming from, but Throw feels like it should terminate the process (without side effects like a big red mark in the console) bubble up the fault to the calling process who can catch it (if so desired). Using the reply we must explicitly Terminate (which includes that unsightly red mark).
    Is there any way to get this behavior from the Throw, or should we just reprogram the "wetware" and learn a new paradigm?
    Is there any way to end a process without marking it with a red flag that suggests something went wrong?

  • How to Get the Parent Process ID from Child BPEL Process

    Hi All,
    We have a requirement to get the Parent BPEL Process ID from Child BPEL Process. One way is we can pass the Parent BPEL process ID from Parent BPEL Process to Child BPEL process. Is there any standard function available to get the Parent BPEL process ID from Child Process?
    P.S: We are using BPEL 10.1.3 Version.
    Please share any info on this.
    Thanks in Advance,
    Saravana

    Hi Saravana,
    The existing methods in 10.1.3x allow a following (a bit of a convoluted way):
    In a BPEL Java embedding activity, you can use the following code to get the parentProcessname:
    String parentInstanceId = getParentId();
    String parentProcessname = getLocator().locator.lookupInstance(parentInstanceId).getProcess().getProcessId().getProcessId();Hope this helps,
    Regards,
    Shanmu
    http://www.prshanmu.com/articles/

Maybe you are looking for

  • How do i get my recordings and pictures back...? help..!!

    previously had sucess with soft start up... but it is done for this time... i plug it in, it shows me the motorola icon, then shows my battery percentage... no matter how long it has charged from a wall charger... it quickly goes to five, ten and str

  • Problem with G 580

    Recently I've bought new Lenovo G 580 but I am having a problem: Every time when I type in any number or letter(mostly no.1) into any window( password,bank account,log in,google translate, etc.), inexplicably starts endless series of dots which I mus

  • Incoming called URI number manipulation in Call manager 10.5

    Dear Experts, can we manipulate the called URI number like we manipulate the digits (e.g Translation pattern) ? can we have manipulate the incoming called number to match a route pattern for eg. the called uri is 955XXXX@CUCM-address route pattern 95

  • Re:"Alarm Clock" message

    hi, I got the similiar problem as mentioned in "Alarm Clock" message. Can anyone be so kind tell me how it comes and how to deal with it? Thanks, char i m writing a program using kstat library for monitoring purpose. when i run the program it runs pe

  • Transport Management: Syntax Pre-Check before Importing

    Hello experts, Today we imported a new transport in the productive system; after import we got syntax errors in the system. The transported report includes a function call; this function module does not yet exist in the productive system; other trans