Stefan...you are almost there ;-)
In j2ee-deployer-plan.xml and j2ee-runtime-deployerplan.xml, there is a
Gbean called EJBBuilder.
In this, you will see an attribute defined as follows:
<attribute
name="listener">geronimo.server:J2EEApplication=null,J2EEModule=org/apache/g
eronimo/Server,J2EEServer=geronimo,j2eeType=GBean,name=JettyWebContainer</at
tribute>
Please change the JettyWebContainer to TomcatWebContainer....and the line
should look as follows:
<attribute
name="listener">geronimo.server:J2EEApplication=null,J2EEModule=org/apache/g
eronimo/Server,J2EEServer=geronimo,j2eeType=GBean,name=TomcatWebContainer</a
ttribute>
Then Tomcat should take control of the EJB webservices deployment.
Jeff
-----Original Message-----
From: Stefan Schmidt [mailto:[EMAIL PROTECTED] Sent: Thursday,
June 16, 2005 9:27 PM
To: [email protected]
Subject: Re: Webservices for Tomcat now integrated
Jeff,
I did check out your latest code with svn and build the assembly
again. I have now created two Geronimo folders such as d:/web/Geronimo
and
d:/web/Geronimo-Tomcat. Then started d:/web/Geronimo-Tomcat (not
d:/web/Geronimo!) and it appears like Tomcat is up and running:
INFO [JkMain] Jk running ID=0 time=0/40 config=null INFO
[Http11Protocol]
Initializing Coyote HTTP/1.1 on http-8090 INFO [Http11Protocol] Starting
Coyote HTTP/1.1 on http-8090
I changed my port numbers in the wsdl document where necessary and
deployed
my ear to Geronimo:
INFO [/dW_PetStore] JSR154 unwrappedDispatchSupported=true INFO
[JettyWebAppContext] JettyWebAppContext started INFO [Container] Started
WebApplicationContext[/dW_PetStore,file:/D:/web/Geronimo-Tomcat/config-store
/21/dW_PetStore.war/]
INFO
[GenericEJBContainer]GenericEJBContainer'geronimo.server:EJBModule=dW_PetSto
re-cmp-ejb.jar,J2EEApplication=dW_PetStore,J2EEServer=geronimo,j2eeType=Enti
tyBean,name=ProductBean'started
INFO [GenericEJBContainer] GenericEJBContainer
'geronimo.server:EJBModule=dW_PetStore-ejb.jar,J2EEApplication=dW_PetStore,J
2EEServer=geronimo,j2ee
Type=StatelessSessionBean,name=PetShopEJB' started
So this looks good as well.
However from here on I am lost: I try to browse my wsdl on
http://localhost:8090/dW_PetStore/WS?wsdl but get an 404 file not
found from
Tomcat (obviously it is listening on 8090). However, I accidently went to
http://localhost:8080/dW_PetStore/WS?wsdl and the wsdl appears. Now, I
expected Tomcat to run on 8090 but not Jetty on 8080. Then I looked
into the Geronimo-Tomcat/config-store/21/dW_PetStore and my ear is nicely
sitting there.
What gets me even more confused is that the wsdl found at
http://localhost:8080/dW_PetStore/WS?wsdl is not my latest wsdl where I
inserted a comment for testing purposes...
My questions:
Is it correct that Jetty is running as well?
Where does Jetty find the old dW_PetStore application which is not
deployed
on Geronimo-Tomcat, but on Geronimo?
How do I deploy to Tomcat?
Is it just me who lost it here :-)?
Regards,
Stefan
Jeff Genender wrote:
Stefan,
Try and svn update the Tomcat module...I set the necessary
classloader on the context in one of the objects (which I didn't do
before). I don't know if this will fix this...but its worth a try
(before I try your code myself).
Jeff
Stefan Schmidt wrote:
Hi Jeff,
I posted the interesting parts into JIRA. The application itself
uses a db as well so maybe it is a bit too much overhead for testing
a web service. I think I will create some simple test cases over the
weekend, so you guys can use them for testing etc.
Regards,
Stefan
Jeff Genender wrote:
First...thanks for trying Tomcat...I need more people like yourself
exercising the module.
Can you open a JIRA issue on this under Tomcat and attach a zip
file with all of your code, deployment descripters, etc, to the
JIRA issue? I can then work on it and find the problem.
Thanks,
Jeff
-----Original Message-----
From: Stefan Schmidt [mailto:[EMAIL PROTECTED] Sent: Thursday,
June 16, 2005 4:09 AM
To: [email protected]
Subject: Re: Webservices for Tomcat now integrated
Hi Jeff,
I compiled Geronimo with Tomcat and started the server without any
problems.
Then I deployed my ear containing some jsp's, a servlet, a session
bean, two entity beans and a Web service (which passes an array of
complexTypes).
The ear deploys and runs on Jetty apart from a SOAP response
problem (see JIRA GERONIMO-678
<http://issues.apache.org/jira/browse/GERONIMO-678> that I filed
today). However deploying the same ear (after changing ports in the
wsdl) I get heaps of errors:
DEBUG [BaseDeserializerFactory] Exception:
java.lang.NoSuchMethodException:
org.apache.axis.encoding.ser.ArrayDeserializerFactory.<init>(java.la
ng.Class
,
javax.xml.namespace.QName)
at java.lang.Class.getConstructor0(Unknown Source)
at java.lang.Class.getConstructor(Unknown Source)
at
org.apache.axis.encoding.ser.BaseDeserializerFactory.createFactory(B
aseDeser
ializerFactory.java:246)
at
org.apache.geronimo.axis.client.TypeInfo.register(TypeInfo.java:93)
at
org.apache.geronimo.axis.client.TypeInfo.register(TypeInfo.java:47)
The same error is thrown several more times in different line
numbers of the BaseDeserializerFactory class.
Am I compiling the Geronimo/Tomcat server with an obsolete Axis
distribution?
Also, I would really appreciate if you could have a look into
GERONIMO-678 <http://issues.apache.org/jira/browse/GERONIMO-678>
since you
seem to be quite into the WS stuff and David is too busy to look
into this before JavaOne. I will also have a look into it over the
weekend (but I might not be experienced enough to find the cause of
the problem, what makes it worse is that there is actually no error
msg).
Regards,
Stefan
Jeff Genender wrote:
Hi Stefan,
To set up Tomcat...look here:
http://wiki.apache.org/geronimo/Tomcat
Basically its just a lot of commenting and uncommenting in the
plans, then rebuilding assembly again (we will be making this
simpler in the near future). Deploying your webservices should be
nearly identical to
Jetty.
As for GERONIMO-672...after looking at that...is it possible you
have your configuration messed up slightly? I looked at the stack
trace and I saw
this:
Caused by: java.lang.IllegalStateException: No wsdl or schema
known at location: ETA-INF/wsdl/HelloService.wsdl
Notice...ETA-INF/wsdl/HelloService.wsdl. Looks like the "M" was
missing and thus could be the cause of the error. What does your
open-ejb deployment plan and webservices.xml look like?
What are your issues with complexTypes etc? Have you opened a
JIRA ticket in this area?
Jeff
-----Original Message-----
From: Stefan Schmidt [mailto:[EMAIL PROTECTED]
Sent: Wednesday, June 15, 2005 6:17 PM
To: [email protected]
Subject: Re: Webservices for Tomcat now integrated
Hi Jeff,
Since I am currently working on a Servlet and EJB-based WS example
on Geronimo I am very interested in testing it. For now I have
only run some tests on Jetty, but if you could provide some
information on Tomcat I would be more than happy to test this.
Could you provide your detailed setup information?
Also, I encountered some issues for the EJB endpoint and opened
JIRA issue
GERONIMO-762 so I am not sure if that has been fixed. Furthermore,
have you looked into complexTypes (and the mappings)? I have
encountered some more problems there recently.
Regards,
Stefan Schmidt
Dain Sundstrom wrote:
Very cool!
-dain
On Jun 15, 2005, at 10:12 AM, Jeff Genender wrote:
Just announcing that webservices for Tomcat has been integrated.
The only caveat is for the EJB side. Currently all webservices
will go to the default Host (which for 99% of the applications
is fine)...as there needs to be some slight modifications to
OpenEJB to handle virtual hosts. JIRA issue GERONIMO-666 was
opened on this.
However, it does appear to work with my setup. I can use some
help with testing this piece with both EJB and Servlet based web
services with different types of applications. So any users who
want to give it a roll, it would be appreciated ;-)
Jeff