about webservices

hi ,

I implement the code to update the data using webservices in java.but values are not stored in the database because

i got an error like

javax.persistence.TransactionRequiredException

if any idea

send the reply as early as possible

my email id is:bondada.radhika@gmail.com

[323 byte] By [bondada.radhikaa] at [2007-10-3 10:01:10]
# 1
Google this: " javax.persistence.TransactionRequiredException"
zadoka at 2007-7-15 5:19:52 > top of Java-index,Developer Tools,Debugging and Profiling Tool APIs...
# 2
hi radhika first tell which component ur using servlets or ejb... i want to see code..ok
nivasra at 2007-7-15 5:19:52 > top of Java-index,Developer Tools,Debugging and Profiling Tool APIs...
# 3

hi,

I implemented the webservice then i want to test the webservice.

then client can access this webservice using servlets.

I got the error in testing the webservice .soap request is send but not the response.(i.e response return o)

First i implement the Entity Class(Customer1) and the instance variables id,firstname,lastname.

webservice code is:

package com.iton;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.annotation.Resource;

import javax.jws.WebService;

import javax.jws.WebMethod;

import javax.jws.WebParam;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.naming.NamingException;

import javax.persistence.EntityManager;

import javax.persistence.PersistenceContext;

import javax.persistence.Query;

import javax.transaction.HeuristicMixedException;

import javax.transaction.HeuristicRollbackException;

import javax.transaction.NotSupportedException;

import javax.transaction.RollbackException;

import javax.transaction.SystemException;

import javax.transaction.UserTransaction;

@WebService()

@PersistenceContext(name = "persistence/LogicalName", unitName = "Update5PU")

public class UpdateWS5 {

@Resource

private UserTransaction utx;

EntityManager em;

private int i;

public UpdateWS5() {

try {

Context ctx = (Context) new InitialContext().lookup("java:comp/env");

em = (EntityManager) ctx.lookup("persistence/LogicalName");

} catch (NamingException ex) {

ex.printStackTrace();

}

}

@WebMethod

public int Update(@WebParam(name = "id") int id, @WebParam(name = "firstname") String firstname, @WebParam(name = "lastname") String lastname) {

Query query=em.createQuery("UPDATE Customer1 c SET c.firstname = :firstname , c.lastname = :lastname WHERE c.id = :id");

query.setParameter("firstname","hai");

query.setParameter("lastname","hello");

query.setParameter("id",2);

try {

utx.begin();

} catch (SystemException ex) {

ex.printStackTrace();

} catch (NotSupportedException ex) {

ex.printStackTrace();

}

try{

i=query.executeUpdate();

em.persist(query);

System.out.println("the return value of executeupdate method is"+i);

} catch(Exception e) {

e.printStackTrace();

try {

utx.rollback();

} catch (IllegalStateException ex) {

ex.printStackTrace();

} catch (SecurityException ex) {

ex.printStackTrace();

} catch (SystemException ex) {

ex.printStackTrace();

}

}

try {

utx.commit();

} catch (SecurityException ex) {

ex.printStackTrace();

} catch (IllegalStateException ex) {

ex.printStackTrace();

} catch (RollbackException ex) {

ex.printStackTrace();

} catch (SystemException ex) {

ex.printStackTrace();

} catch (HeuristicRollbackException ex) {

ex.printStackTrace();

} catch (HeuristicMixedException ex) {

ex.printStackTrace();

}

return i;

}

}

I got the error like:

javax.persistence.TransactionRequiredException: Executing an update/delete query

at org.hibernate.ejb.QueryImpl.executeUpdate(QueryImpl.java:40)

at com.iton.UpdateWS5.Update(UpdateWS5.java:69)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at com.sun.xml.ws.server.PeptTie._invoke(PeptTie.java:58)

at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.invokeEndpoint(SOAPMessageDispatcher.java:278)

at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher$SoapInvoker.invoke(SOAPMessageDispatcher.java:586)

at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.receive(SOAPMessageDispatcher.java:145)

at com.sun.xml.ws.server.Tie.handle(Tie.java:88)

at com.sun.enterprise.webservice.JAXWSServlet.doPost(JAXWSServlet.java:191)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:278)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)

at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:179)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)

at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)

at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)

at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:231)

at com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)

at com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)

at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)

at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)

at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)

at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)

at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)

|#]

java.lang.IllegalStateException

at com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:300)

at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:999)

at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:383)

at com.sun.enterprise.distributedtx.UserTransactionImpl.commit(UserTransactionImpl.java:180)

at com.iton.UpdateWS5.Update(UpdateWS5.java:90)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at com.sun.xml.ws.server.PeptTie._invoke(PeptTie.java:58)

at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.invokeEndpoint(SOAPMessageDispatcher.java:278)

at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher$SoapInvoker.invoke(SOAPMessageDispatcher.java:586)

at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.receive(SOAPMessageDispatcher.java:145)

at com.sun.xml.ws.server.Tie.handle(Tie.java:88)

at com.sun.enterprise.webservice.JAXWSServlet.doPost(JAXWSServlet.java:191)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:397)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:278)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)

at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:240)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:179)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)

at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:73)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)

at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)

at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)

at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:231)

at com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)

at com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)

at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)

at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)

at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)

at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)

at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)

|#]

send the reply as early as possible

bondada.radhikaa at 2007-7-15 5:19:52 > top of Java-index,Developer Tools,Debugging and Profiling Tool APIs...
# 4

Hi Radhika,

It seems that nothing is wrong with WS code, rather something is wrong with hibernate, and most probabily u r missing few libraries I think..can u post the list of jar files which you have included in class path..might be then i could help you out...

Surya

--Idea's can change everything

Surya_INDa at 2007-7-15 5:19:52 > top of Java-index,Developer Tools,Debugging and Profiling Tool APIs...