axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vishy Kasar <vka...@borland.com>
Subject RE: A problem in Axis Beta2 when the EJB is called
Date Wed, 08 May 2002 23:42:52 GMT
Hi,

I poked further in to why EJB provider stopped working in AXIS Beta 2.
This is due to a fundamental change in AXIS which now requires the
knowledge about the implementation class at config time.

AXIS beta 1 used to delay gathering operations from implementation class
till invocation time. By that time, it had the implementation class.
Beta 2 is doing operation gathering based on implementation class right
at the provider initialization. My guess is: This was done to improve
performance.

IMO, this is a bad direction to go in. It creates a problem for EJB
scenario where you specify home and call create on home to obtain the
actual implementation object at run time. It also creates a problem for
systems which are capable of dynamic invocation. For example, in CORBA I
can call the server object (running somewhere else) with in the provider
with no knowledge about the implementation class using DII. Now if AXIS
ties me to providing a implementation class at config time, the
flexibility that we can provide will be far less.

A solution to the current problem may be to define the className
parameter in the deploy.wsdd for the EJB provider. However that may  not
work in cases where Web Container and EJB container are within the same
VM. Here is an example:

  <service name="Animal" provider="java:EJB">
    <parameter name="beanJndiName" value="Animal"/>
    <parameter name="homeInterfaceName"
value="com.borland.examples.webservices.ejb.AnimalHome"/>
    <parameter name="className"
value="com.borland.examples.webservices.ejb._Animal_Stub"/>
    <parameter name="allowedMethods" value="talk sleep"/>
  </service>



Mime
View raw message