You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Dittmann Werner <We...@icn.siemens.de> on 2002/02/01 16:27:12 UTC
Info about test with Jboss and changes needed in axis code
Hi all,
following a short report about some tests done with JBoss-2.4.4 and
xml-axis (snapshot from January, 20 2002). The first goal was to get a
WSDL generated from an EJB interface (the remote EJB interface). The
second goal was to call methods of the remote EJB interface using SOAP
(JAX-RPC) via axis service. I used the following configuration:
- Tomcat 4.0.1
- xml-axis snapshot
- JBoss 2.4.4
- plus the necessary utility jars, notably Xerces 1.4.1
I did not use the integrated JBoss-Tomcat package but both run in own
JVMs, i.e both systems were started separatly.
To test the whole stuff I used the ubiquitous simple Hello EJB found
in some sample EJB libraries.
During the tests of the whole secenario I found the following problems
and fixed them:
- The EJB provider of axis allows to define the JNDI properties to
setup the JNDI initial context. One property was missing:
javax.naming.factory.url.pkgs. The Jboss docs say that this property
has to be set. Here 2 solutions are possible: use a jndi.properties
file and copy it in the classpath of the axis service. The other
solution (that I used): define a new parameter for the EJB
provider. In the latter case all necessary JNDI properties can be
defined on a per service basis in the axis depolyment descriptor.
The modified EJBProvider.java file is contained in the attached ZIP
(sorry, have no diff available, therefore the whole piece)
- Jboss uses a quite nice and elegant technique to generate the EJB
home, EJB remote and client proxies. Due to the mechanism axis uses to
generate the WSDL file _all_ methods of the client EJB proxy are
generated in the WSDL file. Obviously this is not necessary and
leads to some confusion. The cure is simple: just set the
allowedMethod parameter in the service deployment descriptor of the
EJB based service.
So, goal one was resolved because I got a resonable WSDL file for my
EJB based service.
Second goal was achieved too, but only after I fixed the Client code
(copied from userguide/example3) and added the return type to specify
it. Maybe this is just an problem because I use a snapshot where not
every piece of code is in sync.
Regards,
Werner