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