# 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>