嘿,有人可以帮我解决这个错误。我使用安静的服务在我的Android手机和笔记本电脑之间建立了联系。通信成功建立,我可以从我的服务中获得json与“Autori”表中的所有信息,但是当从手机发送对象时,服务不知道如何反序列化json。请根据给出的错误判断我的代码,而不是在主UI线程上运行的事实。 附:我提到服务器端的所有代码都使用“来自数据库的实体类”和“来自实体类的REstfull Web服务”来生成购买Netbeans。
Restfull服务方
Autori(是服务器端的bean类)
@Entity
@Table(name = "autori")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "Autori.findAll", query = "SELECT a FROM Autori a"),
@NamedQuery(name = "Autori.findById", query = "SELECT a FROM Autori a WHERE a.id = :id"),
@NamedQuery(name = "Autori.findByNume", query = "SELECT a FROM Autori a WHERE a.nume = :nume"),
@NamedQuery(name = "Autori.findByPrenume", query = "SELECT a FROM Autori a WHERE a.prenume = :prenume")})
public class Autori implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "ID")
private Integer id;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 255)
@Column(name = "Nume")
private String nume;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 255)
@Column(name = "Prenume")
private String prenume;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "iDAutori")
private List<CarteAutori> carteAutoriList;
@JoinColumn(name = "idUser", referencedColumnName = "ID")
@ManyToOne
private User idUser;
public Autori() {
}
public Autori(Integer id) {
this.id = id;
}
public Autori(Integer id, String nume, String prenume) {
this.id = id;
this.nume = nume;
this.prenume = prenume;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getNume() {
return nume;
}
public void setNume(String nume) {
this.nume = nume;
}
public String getPrenume() {
return prenume;
}
public void setPrenume(String prenume) {
this.prenume = prenume;
}
@XmlTransient
public List<CarteAutori> getCarteAutoriList() {
return carteAutoriList;
}
public void setCarteAutoriList(List<CarteAutori> carteAutoriList) {
this.carteAutoriList = carteAutoriList;
}
public User getIdUser() {
return idUser;
}
public void setIdUser(User idUser) {
this.idUser = idUser;
}
@Override
public int hashCode() {
int hash = 0;
hash += (id != null ? id.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof Autori)) {
return false;
}
Autori other = (Autori) object;
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
return false;
}
return true;
}
@Override
public String toString() {
return "qwe.Autori[ id=" + id + " ]";
}
}
用户(另一个bean)
@Entity
@Table(name = "user")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "User.findAll", query = "SELECT u FROM User u"),
@NamedQuery(name = "User.findById", query = "SELECT u FROM User u WHERE u.id = :id"),
@NamedQuery(name = "User.findByUserName", query = "SELECT u FROM User u WHERE u.userName = :userName"),
@NamedQuery(name = "User.findByParola", query = "SELECT u FROM User u WHERE u.parola = :parola"),
@NamedQuery(name = "User.findByNume", query = "SELECT u FROM User u WHERE u.nume = :nume"),
@NamedQuery(name = "User.findByPrenume", query = "SELECT u FROM User u WHERE u.prenume = :prenume"),
@NamedQuery(name = "User.findByEmail", query = "SELECT u FROM User u WHERE u.email = :email")})
public class User implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "ID")
private Integer id;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 255)
@Column(name = "userName")
private String userName;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 255)
@Column(name = "parola")
private String parola;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 255)
@Column(name = "Nume")
private String nume;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 255)
@Column(name = "Prenume")
private String prenume;
// @Pattern(regexp="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?", message="Invalid email")//if the field contains email address consider using this annotation to enforce field validation
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 255)
@Column(name = "email")
private String email;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "iDUser")
private List<UserRoluri> userRoluriList;
@OneToMany(mappedBy = "idUser")
private List<Autori> autoriList;
@OneToMany(mappedBy = "iDUser")
private List<History> historyList;
public User() {
}
public User(Integer id) {
this.id = id;
}
public User(Integer id, String userName, String parola, String nume, String prenume, String email) {
this.id = id;
this.userName = userName;
this.parola = parola;
this.nume = nume;
this.prenume = prenume;
this.email = email;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getParola() {
return parola;
}
public void setParola(String parola) {
this.parola = parola;
}
public String getNume() {
return nume;
}
public void setNume(String nume) {
this.nume = nume;
}
public String getPrenume() {
return prenume;
}
public void setPrenume(String prenume) {
this.prenume = prenume;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@XmlTransient
public List<UserRoluri> getUserRoluriList() {
return userRoluriList;
}
public void setUserRoluriList(List<UserRoluri> userRoluriList) {
this.userRoluriList = userRoluriList;
}
@XmlTransient
public List<Autori> getAutoriList() {
return autoriList;
}
public void setAutoriList(List<Autori> autoriList) {
this.autoriList = autoriList;
}
@XmlTransient
public List<History> getHistoryList() {
return historyList;
}
public void setHistoryList(List<History> historyList) {
this.historyList = historyList;
}
@Override
public int hashCode() {
int hash = 0;
hash += (id != null ? id.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof User)) {
return false;
}
User other = (User) object;
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
return false;
}
return true;
}
@Override
public String toString() {
return "qwe.User[ id=" + id + " ]";
}
}
历史(另一个豆)
@Entity
@Table(name = "history")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "History.findAll", query = "SELECT h FROM History h"),
@NamedQuery(name = "History.findById", query = "SELECT h FROM History h WHERE h.id = :id"),
@NamedQuery(name = "History.findByDataactiune", query = "SELECT h FROM History h WHERE h.dataactiune = :dataactiune"),
@NamedQuery(name = "History.findByIdResursa", query = "SELECT h FROM History h WHERE h.idResursa = :idResursa"),
@NamedQuery(name = "History.findByNumeactiune", query = "SELECT h FROM History h WHERE h.numeactiune = :numeactiune"),
@NamedQuery(name = "History.findByStatus", query = "SELECT h FROM History h WHERE h.status = :status")})
public class History implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "ID")
private Integer id;
@Column(name = "DATAACTIUNE")
@Temporal(TemporalType.DATE)
private Date dataactiune;
@Column(name = "id_resursa")
private Integer idResursa;
@Size(max = 255)
@Column(name = "NUMEACTIUNE")
private String numeactiune;
@Size(max = 255)
@Column(name = "STATUS")
private String status;
@JoinColumn(name = "ID_User", referencedColumnName = "ID")
@ManyToOne
private User iDUser;
public History() {
}
public History(Integer id) {
this.id = id;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Date getDataactiune() {
return dataactiune;
}
public void setDataactiune(Date dataactiune) {
this.dataactiune = dataactiune;
}
public Integer getIdResursa() {
return idResursa;
}
public void setIdResursa(Integer idResursa) {
this.idResursa = idResursa;
}
public String getNumeactiune() {
return numeactiune;
}
public void setNumeactiune(String numeactiune) {
this.numeactiune = numeactiune;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public User getIDUser() {
return iDUser;
}
public void setIDUser(User iDUser) {
this.iDUser = iDUser;
}
@Override
public int hashCode() {
int hash = 0;
hash += (id != null ? id.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof History)) {
return false;
}
History other = (History) object;
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
return false;
}
return true;
}
@Override
public String toString() {
return "qwe.History[ id=" + id + " ]";
}
}
AbstractFacade
public abstract class AbstractFacade<T> {
private Class<T> entityClass;
public AbstractFacade(Class<T> entityClass) {
this.entityClass = entityClass;
}
protected abstract EntityManager getEntityManager();
public void create(T entity) {
getEntityManager().persist(entity);
}
public void edit(T entity) {
getEntityManager().merge(entity);
}
public void remove(T entity) {
getEntityManager().remove(getEntityManager().merge(entity));
}
public T find(Object id) {
return getEntityManager().find(entityClass, id);
}
public List<T> findAll() {
javax.persistence.criteria.CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
cq.select(cq.from(entityClass));
return getEntityManager().createQuery(cq).getResultList();
}
public List<T> findRange(int[] range) {
javax.persistence.criteria.CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
cq.select(cq.from(entityClass));
javax.persistence.Query q = getEntityManager().createQuery(cq);
q.setMaxResults(range[1] - range[0] + 1);
q.setFirstResult(range[0]);
return q.getResultList();
}
public int count() {
javax.persistence.criteria.CriteriaQuery cq = getEntityManager().getCriteriaBuilder().createQuery();
javax.persistence.criteria.Root<T> rt = cq.from(entityClass);
cq.select(getEntityManager().getCriteriaBuilder().count(rt));
javax.persistence.Query q = getEntityManager().createQuery(cq);
return ((Long) q.getSingleResult()).intValue();
}
}
应用程序配置
@javax.ws.rs.ApplicationPath("webresources")
public class ApplicationConfig extends Application {
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> resources = new java.util.HashSet<>();
addRestResourceClasses(resources);
return resources;
}
/**
* Do not modify addRestResourceClasses() method.
* It is automatically populated with
* all resources defined in the project.
* If required, comment out calling this method in getClasses().
*/
private void addRestResourceClasses(Set<Class<?>> resources) {
resources.add(servicedfg.AutoriFacadeREST.class);
resources.add(servicedfg.CarteAutoriFacadeREST.class);
resources.add(servicedfg.CarteFacadeREST.class);
resources.add(servicedfg.DrepturiFacadeREST.class);
resources.add(servicedfg.EditorFacadeREST.class);
resources.add(servicedfg.HistoryFacadeREST.class);
resources.add(servicedfg.RoluriDrepturiFacadeREST.class);
resources.add(servicedfg.RoluriFacadeREST.class);
resources.add(servicedfg.UserFacadeREST.class);
resources.add(servicedfg.UserRoluriFacadeREST.class);
}
}
AutoriFacadeREST
@Stateless
@Path("qwe.autori")
public class AutoriFacadeREST extends AbstractFacade<Autori> {
@PersistenceContext(unitName = "WebApplication8PU")
private EntityManager em;
public AutoriFacadeREST() {
super(Autori.class);
}
@POST
@Override
@Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
public void create(Autori entity) {
super.create(entity);
}
@PUT
@Path("{id}")
@Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
public void edit(@PathParam("id") Integer id, Autori entity) {
super.edit(entity);
}
@DELETE
@Path("{id}")
public void remove(@PathParam("id") Integer id) {
super.remove(super.find(id));
}
@GET
@Path("{id}")
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
public Autori find(@PathParam("id") Integer id) {
return super.find(id);
}
@GET
@Override
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
public List<Autori> findAll() {
return super.findAll();
}
@GET
@Path("{from}/{to}")
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
public List<Autori> findRange(@PathParam("from") Integer from, @PathParam("to") Integer to) {
return super.findRange(new int[]{from, to});
}
@GET
@Path("count")
@Produces(MediaType.TEXT_PLAIN)
public String countREST() {
return String.valueOf(super.count());
}
@Override
protected EntityManager getEntityManager() {
return em;
}
}
输出: Output of the running Restfull service
客户端
public class MainActivity extends AppCompatActivity {
private static final String TAG=MainActivity.class.getSimpleName();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RequestQueue requestQueue= Volley.newRequestQueue(getApplicationContext());
Gson gson=new Gson();
Autori autori=new Autori();
autori.setNume("Anonim1");
autori.setPrenume("Anonim1");
//The ID in the DataBase is AutoIncrementing for my Autori table
User user=new User();
user.setParola("anonim1");
user.setPrenume("anonim1");
user.setNume("anonim1");
user.setEmail("anonim1");
autori.setIdUser(user);
//The ID in the DataBase is AutoIncrementing for my User table
JsonObjectRequest jsonObjectRequest= null;
try {
jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, "http://192.168.5.150:8080/WebApplication8/webresources/qwe.autori", new JSONObject(gson.toJson(autori, Autori.class)),
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject jsonObject) {
if(null!=jsonObject)
{
Log.i(TAG, "Received form server a JSON that is not null");
}
else
{
Log.i(TAG,"Received form server a JSON that is NULL");
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
Log.e(TAG,"Error: "+volleyError.getMessage());
}
});
} catch (JSONException e) {
e.printStackTrace();
}
Log.d(TAG, "Entire String: " + jsonObjectRequest.toString());
requestQueue.add(jsonObjectRequest);
}
}
错误:
服务器端
Warning: StandardWrapperValve[servicedfg.ApplicationConfig]: Servlet.service() for servlet servicedfg.ApplicationConfig threw exception
java.lang.NoClassDefFoundError: Could not initialize class org.eclipse.persistence.jaxb.BeanValidationHelper
at org.eclipse.persistence.jaxb.JAXBBeanValidator.isConstrainedObject(JAXBBeanValidator.java:257)
at org.eclipse.persistence.jaxb.JAXBBeanValidator.shouldValidate(JAXBBeanValidator.java:208)
at org.eclipse.persistence.jaxb.JAXBUnmarshaller.validateAndBuildJAXBElement(JAXBUnmarshaller.java:235)
at org.eclipse.persistence.jaxb.JAXBUnmarshaller.unmarshal(JAXBUnmarshaller.java:339)
at org.eclipse.persistence.jaxb.rs.MOXyJsonProvider.readFrom(MOXyJsonProvider.java:660)
at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.invokeReadFrom(ReaderInterceptorExecutor.java:256)
at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.aroundReadFrom(ReaderInterceptorExecutor.java:235)
at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor.proceed(ReaderInterceptorExecutor.java:155)
at org.glassfish.jersey.server.internal.MappableExceptionWrapperInterceptor.aroundReadFrom(MappableExceptionWrapperInterceptor.java:74)
at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor.proceed(ReaderInterceptorExecutor.java:155)
at org.glassfish.jersey.message.internal.MessageBodyFactory.readFrom(MessageBodyFactory.java:1085)
at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:852)
at org.glassfish.jersey.server.ContainerRequest.readEntity(ContainerRequest.java:270)
at org.glassfish.jersey.server.internal.inject.EntityParamValueFactoryProvider$EntityValueFactory.provide(EntityParamValueFactoryProvider.java:96)
at org.glassfish.jersey.server.spi.internal.ParamValueFactoryWithSource.provide(ParamValueFactoryWithSource.java:71)
at org.glassfish.jersey.server.spi.internal.ParameterValueHelper.getParameterValues(ParameterValueHelper.java:93)
at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$AbstractMethodParamInvoker.getParamValues(JavaResourceMethodDispatcherProvider.java:127)
at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$VoidOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:143)
at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:309)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:292)
at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1139)
at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:460)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:386)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:334)
at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:221)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:416)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:283)
at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571)
at java.lang.Thread.run(Thread.java:745)
客户端
04-11 12:14:04.102 12065-12065/? I/art: Late-enabling -Xcheck:jni
04-11 12:14:04.102 12065-12065/? I/art: VMHOOK: rlim_cur : 0 pid:12065
04-11 12:14:04.182 12065-12065/project.vasile.emanuel.gresanu.pos_tema_try1 W/System: ClassLoader referenced unknown path: /data/app/project.vasile.emanuel.gresanu.pos_tema_try1-2/lib/arm64
04-11 12:14:04.343 12065-12065/project.vasile.emanuel.gresanu.pos_tema_try1 I/MainActivity: Entire String: [ ] http://192.168.5.150:8080/WebApplication8/webresources/qwe.autori 0x85f46c74 NORMAL null
04-11 12:14:04.433 12065-12106/project.vasile.emanuel.gresanu.pos_tema_try1 I/Adreno: QUALCOMM build : 03b6da7, I49f5588d88
Build Date : 11/26/15
OpenGL ES Shader Compiler Version: XE031.06.00.02
Local Branch :
Remote Branch : refs/tags/AU_LINUX_ANDROID_LA.BF64.1.2.2_RB4.06.00.00.180.010
Remote Branch : NONE
Reconstruct Branch : NOTHING
04-11 12:14:04.759 12065-12096/project.vasile.emanuel.gresanu.pos_tema_try1 E/Volley: [89822] BasicNetwork.performRequest: Unexpected response code 500 for http://192.168.5.150:8080/WebApplication8/webresources/qwe.autori
04-11 12:14:04.773 12065-12065/project.vasile.emanuel.gresanu.pos_tema_try1 E/MainActivity: Error: null
04-11 12:14:09.749 12065-12071/project.vasile.emanuel.gresanu.pos_tema_try1 I/art: System.exit called, status: 1