Problemas com webservices Axis 2

Boa tarde, a triste história começa da seguinte forma, eu tentei criar um webservice pelo eclipse, ou seja criei um projeto web que utiliza hibernate e método de find, e após gerei o webservice pelo eclipse (axis2), bom o mesmo apresentou alguns erros que pesquisei aqui no guj e encontrei a solução nesse tópico “http://www.guj.com.br/java/197669-web-service-axis” , mas ainda sim ele apresenta um erro que eu não entendo ainda…

Bom aqui a classe que escolhi para publicar no webservice :

package webService;

import java.util.ArrayList;

import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.ParameterStyle;

import dao.MaterialInstrucionalDAO;
import entity.MaterialInstrucional;

public class MaterialInstrucionalWS { 

	private MaterialInstrucionalDAO materialInstrucionalDao = new MaterialInstrucionalDAO();


	

	public ArrayList<MaterialInstrucional> findAll() throws Exception {
		ArrayList<MaterialInstrucional> materialInstrucional = (ArrayList<MaterialInstrucional>) materialInstrucionalDao.findAll();
		return materialInstrucional;
	}


	// ---- Username property ----

	/**
	 * <p>Field to store User username.</p>
	 * <p/>
	 */
	private String username = null;


	/**
	 * <p>Provide User username.</p>
	 *
	 * @return Returns the User username.
	 */
	public String getUsername() {
		return username;
	}

	/**
	 * <p>Store new User username</p>
	 *
	 * @param value The username to set.
	 */
	public void setUsername(String value) {
		username = value;
	}

	// ---- Username property ----

	/**
	 * <p>Field to store User password.</p>
	 * <p/>
	 */
	private String password = null;


	/**
	 * <p>Provide User password.</p>
	 *
	 * @return Returns the User password.
	 */
	public String getPassword() {
		return password;
	}

	/**
	 * <p>Store new User password</p>
	 *
	 * @param value The password to set.
	 */
	public void setPassword(String value) {
		password = value;
	}

	public MaterialInstrucionalDAO getMaterialInstrucionalDao() {
		return materialInstrucionalDao;
	}

	public void setMaterialInstrucionalDao(
			MaterialInstrucionalDAO materialInstrucionalDao) {
		this.materialInstrucionalDao = materialInstrucionalDao;
	}


} 

e o erro:

Mar 4, 2011 3:07:40 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.16
[INFO] Clustering has been disabled
[INFO] Deploying module: addressing-1.5.4 - file:/C:/opt/eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/AgenteProfessorService/WEB-INF/modules/addressing-1.5.4.mar
[INFO] Deploying module: metadataExchange-1.5.4 - file:/C:/opt/eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/AgenteProfessorService/WEB-INF/modules/mex-1.5.4.mar
[INFO] Deploying module: mtompolicy-1.5.4 - file:/C:/opt/eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/AgenteProfessorService/WEB-INF/modules/mtompolicy-1.5.4.mar
[INFO] Deploying module: ping-1.5.4 - file:/C:/opt/eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/AgenteProfessorService/WEB-INF/modules/ping-1.5.4.mar
[INFO] Deploying module: script-1.5.4 - file:/C:/opt/eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/AgenteProfessorService/WEB-INF/modules/scripting-1.5.4.mar
[INFO] Deploying module: soapmonitor-1.5.4 - file:/C:/opt/eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/AgenteProfessorService/WEB-INF/modules/soapmonitor-1.5.4.mar
[INFO] The MaterialInstrucionalWS service, which is not valid, caused java.lang.NoClassDefFoundError: javax/transaction/Synchronization
	at java.lang.Class.getDeclaredMethods0(Native Method)
	at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
	at java.lang.Class.privateGetPublicMethods(Unknown Source)
	at java.lang.Class.getMethods(Unknown Source)
	at java.beans.Introspector.getPublicDeclaredMethods(Unknown Source)
	at java.beans.Introspector.getTargetMethodInfo(Unknown Source)
	at java.beans.Introspector.getBeanInfo(Unknown Source)
	at java.beans.Introspector.getBeanInfo(Unknown Source)
	at java.beans.Introspector.getBeanInfo(Unknown Source)
	at java.beans.Introspector.getBeanInfo(Unknown Source)
	at org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.generateSchema(DefaultSchemaGenerator.java:545)
	at org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.generateSchemaforFieldsandProperties(DefaultSchemaGenerator.java:693)
	at org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.generateSchema(DefaultSchemaGenerator.java:555)
	at org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.generateSchemaforFieldsandProperties(DefaultSchemaGenerator.java:693)
	at org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.generateSchema(DefaultSchemaGenerator.java:555)
	at org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.generateSchemaForType(DefaultSchemaGenerator.java:862)
	at org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.processMethods(DefaultSchemaGenerator.java:334)
	at org.apache.axis2.description.java2wsdl.DefaultSchemaGenerator.generateSchema(DefaultSchemaGenerator.java:252)
	at org.apache.axis2.deployment.util.Utils.fillAxisService(Utils.java:514)
	at org.apache.axis2.deployment.ServiceBuilder.populateService(ServiceBuilder.java:386)
	at org.apache.axis2.deployment.repository.util.ArchiveReader.buildServiceGroup(ArchiveReader.java:101)
	at org.apache.axis2.deployment.repository.util.ArchiveReader.processServiceGroup(ArchiveReader.java:178)
	at org.apache.axis2.deployment.ServiceDeployer.deploy(ServiceDeployer.java:81)
	at org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136)
	at org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:659)
	at org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144)
	at org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:337)
	at org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:241)
	at org.apache.axis2.deployment.DeploymentEngine.loadServices(DeploymentEngine.java:131)
	at org.apache.axis2.deployment.WarBasedAxisConfigurator.loadServices(WarBasedAxisConfigurator.java:284)
	at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:95)
	at org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:559)
	at org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:448)
	at org.apache.axis2.webapp.AxisAdminServlet.init(AxisAdminServlet.java:56)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4364)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.ClassNotFoundException: javax.transaction.Synchronization
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)
	... 51 more

[INFO] org.apache.axis2.deployment.DeploymentException: java.lang.NoClassDefFoundError: javax/transaction/Synchronization
[INFO] Deploying Web service: version.aar - file:/C:/opt/eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/AgenteProfessorService/WEB-INF/services/version.aar
[WARN] No transportReceiver for org.apache.axis2.transport.http.AxisServletListener found. An instance for HTTP will be configured automatically. Please update your axis2.xml file!
Mar 4, 2011 3:07:44 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Mar 4, 2011 3:07:44 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 4373 ms

Se precisarem de mais algum código é só pedir que eu posto…

Agradeço a qualquer ajuda…

[quote][code]Caused by: java.lang.ClassNotFoundException: javax.transaction.Synchronization
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)
… 51 more

[INFO] org.apache.axis2.deployment.DeploymentException: java.lang.NoClassDefFoundError: javax/transaction/Synchronization
[INFO] Deploying Web service: version.aar - file:/C:/opt/eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/AgenteProfessorService/WEB-INF/services/version.aar
[WARN] No transportReceiver for org.apache.axis2.transport.http.AxisServletListener found. An instance for HTTP will be configured automatically. Please update your axis2.xml file![/code][/quote]

Please update your axis2.xml file!

att,

Vc vai encontrar o arquivo axis2.xml dentro da pasta /webapps/axis2/WEB-INF/conf/ do seu tomcat.

Dentro do arquivo vc vai encontrar um parâmetro assim:

<transportReceiver name="http"
                       class="org.apache.axis2.transport.http.SimpleHTTPServer">

No meu tava assim.

O que eu fiz foi trocar para:

<transportReceiver name="http"
                       class="org.apache.axis2.transport.http.AxisServletListener">

e pronto!

Já tá ficando até chato falar isso aqui, mas… quando você tiver quaisquer problemas com Axis2, a melhor solução é: não usar Axis2!

[]'s