EJB Mediator

The EJB mediator calls an external Enterprise JavaBean(EJB) and stores the result in the message payload or in a message context property. Currently, this mediator supports EJB3 Stateless Session Beans and state-full Session Beans

<ejb beanstalk="string" class="string" [sessionId="string"] [remove="true | false"] 
  [method="string"] [target="string | {xpath}"] [jndiName="string"] /> 
    <args> 
      <arg (value="string | {xpath}")/>* 
    </args> 
</ejb>

UI Configuration

EJB specific options

EJB mediator field descriptions,

Field name Description
Beanstalk ID Reference to the application server specific connection source information, which is defined at the synapse.properties
Class This required the remote interface definition provided in the EJB 3.0 (EJB service invocation remote/home interface)
Session ID When the invoke ejb context in the form state-full bean then the related ejb session status specif id will be stored in here. Expression/Value .
Remove Once invoke state-full/stateless session user can force and ask the Enterprise entity manager to remove the ejb context related parameters
Target if a particular EJB method returns then the return object can be saved against the the name provided in the target at the synapse property context Expression/Value.
JNDI Name The Java Naming and Directory Interface (JNDI) is an application programming interface (API) for accessing different kinds of naming and directory services. JNDI is not specific to a particular naming or directory service, it can be used to access many different kinds of systems including file systems; distributed objects systems like CORBA, Java RMI, and EJB; and directory services like LDAP, Novell NetWare, and NIS+
Method Arguments Can be used to define the arguments which is required for the particular ejb method to be invoked Expression/Value.

Example

<ejb beanstalk="jack" class="org.ejb.wso2.test.StoreRegister" method="getStoreById" target="store" jndiName="ejb:/EJBDemo/StoreRegsiterBean!org.ejb.wso2.test.StoreRegister">
   <args>
     <arg xmlns:ns="http://org.apache.synapse/xsd" xmlns:ns3="http://org.apache.synapse/xsd" value="{get-property('loc_id')}"/>
   </args>
</ejb>