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
EJBProvider.zip
Description: Zip archive