You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Alain Drolet <ad...@nortel.com> on 2009/04/01 23:35:11 UTC
Needs help with ServiceLifeCycle
Hi Everyone
I work in a team that is creating a new web service using jax-ws.
Our SOAP interface is defined using a wsdl file.
We generate code from our wsdl using wsimport under maven.
Initial attempt failed at using the aar archive format, so we got
success packaging our web service as a jar file.
This file is deployed in the WEB-INF/servicejars directory of axis2.
Axis2 1.4.1, runs inside tomcat 5.5. We are using Java 1.5.
These versions are dictated by the deployment environment.
The deployment under servicejars does not require a services.xml.
I did some searching and found out I could get initialization code
called by specifying
a class that implement ServiceLifeCycle in the services.xml file.
(The LifeCycle interface does not seem adequate for our need)
Something like:
<service name="MyService" class="x.y.MyInitializer">...
Initial testing seems to indicate that the services.xml is ignored if
the service is deployed in servicejars directory.
The entry class for our service is properly annotated with @WebService...
Question1:
Is there a way to get x.y.MyInitializer called at deployment time, for a
web service deployed in servicejars?
- - - - - -
Alternatively I'm currently trying to use the aar format and deploy
under WEB-INF/services
I found a few things.
- The wsdl file that we specify in our service class implementation using:
@WebService(...wsdlLocation = "META-INF/wsdl/myWSDL.wsdl"
is ignored. I suspect that the wsdlLocation attribute is not used when
deployed as a aar file.
- I renamed my wsdl file service.wsdl and moved it to META-INF/service.wsdl
Now axis2 is reading it.
I was surprised to see that the wsdl name was hard-coded, but a page
found on the web indicated this constraint.
- My next fight is defining the messageReceivers in the services.xml
I'm only starting to explore this area, I need to do more homework.
What I know although is that when I made a small web service prototype
and used axis2 wsdl2java,
I ended up with files like xxxServiceMessageReceiverInOut that could be
used as messageReceivers.
wsimport does not generate these files.
Question 2:
Is there some predefined messageReceivers that I should use when
deploying a jaxws-based web service?
Thank you for your help
Alain
-----------------------------------------------------------------
Alain Drolet
email: adrolet@nortel.com