The WSEE server programming model allows handlers on Java as well as EJB endpoints, so this is just a matter of including the handler in your session bean configuration.
Once you install the handler, it will do the rest for you. I do not provide an example of this because I do not see much value here. You are not supposed to write the EJB method bodies anyway. The only good use that comes to mind is declarative transaction demarcation. Is that what you are looking for?
For information on EJB endpoints, refer to the JBossWS wiki.
jBPM BPEL depends on JMS to control the delivery of incoming requests to the process. There are three requirements to message delivery:
The process instance arrives at an inbound message activity, but the corresponding message has not arrived yet. The activity must wait for it.
BPEL effectively makes a web service stateful. The runtime must deliver incoming messages to the right service instance (read: process instance). Upon enactment, an inbound message activity specifies the correlation properties an incoming message must match for the activity to accept it.
A message arrives but no activity is waiting for it. The BPEL runtime must store it until an activity becomes available.
JMS fits the previous requirements remarkably well:
The inbound message activity sets up a listener on the queue. JMS delivers the message asynchronously when it comes.
The activity sets a message selector which specifies the properties of the desired message
The endpoint handler puts the message in the queue and lets JMS take care of it.
In sum, it is not possible to have a service without queue.