Project structure is typical for maven.
src/main/java – java code. I have here classe with business logic implementation.
src/main/resources – contains service descriptor (services.xml), wsdl (service.wsdl) and schema (schema.xsd)
src/gen – all generated classes and xml is here
gen-unused – I moved here generated skeleton class during build process. On first run I copy from here generated skeleton class and move to src/main/java and implement business logic. This prevents replace of skeleton during build run. If changes touche the skeleton I rather update it manually.
During project build jar file created. It contains all web service classes. Deployment descriptor file service.xml comes to WEB-INF\services\service\META_INF catalog inside war file together with wsdl, and schema. service.jar is in WEB_INF\lib.
web.xml contains axis servlet
<!-- Axis2 webservice servlet --> <servlet> <servlet-name>AxisServlet</servlet-name> <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping>