View Full Version : Rest In spring MVC
ali-baba
چهارشنبه 09 اردیبهشت 1394, 11:43 صبح
سلام و خسته نباشید
می خواستم ببینم کسی می تونه با ذکر یه مثال بگه که چطور باید وب سرویس rest رو تویه اسپرینگ ایجاد کنم؟
راستش اگه میشه یکم توضیح بدید ممنون میشم...
مثلا اینکه چطور عملیات CRUD رو تویه اسپرینگ هندل کنم. یعنی در قسمت لایه بیزینس و لایه کنترل چی باید بنویسم که همدیگه رو ببینند.
این رو بگم که کلا می دونم رست چی هست.
ولی نمی دونم چطور باید سمت لایه سرویس و کنترل پیاده سازی اش کنم.
باتشکر
ahmad.mo74
چهارشنبه 09 اردیبهشت 1394, 11:59 صبح
سلام. تو لایه مدلتون از چی استفاده میکنید؟ هایبرنت؟ JPA؟ ...؟
ali-baba
چهارشنبه 09 اردیبهشت 1394, 12:03 عصر
سلام. تو لایه مدلتون از چی استفاده میکنید؟ هایبرنت؟ JPA؟ ...؟
سلام
از هایبرنیت استفاده می کنم.
فرقشون چیه مگه؟
باتشکر
ali-baba
چهارشنبه 09 اردیبهشت 1394, 12:11 عصر
البته منظورم تویه وب سرویس هستش.
وگرنه خودم با هردو کار کردم.
بازم ممنون...
ali-baba
چهارشنبه 09 اردیبهشت 1394, 12:16 عصر
بازم سلام
من این سایت (http://www.journaldev.com/2552/spring-restful-web-service-example-with-json-jackson-and-client-program) رو دیدم
ولی نمی دونم چطور باید سمت لایه بیزینس هم این عملیات رو هندل کرد.
باتشکر
ahmad.mo74
چهارشنبه 09 اردیبهشت 1394, 13:29 عصر
من یک مثال کامل میزنم براتون (با فرض اینکه از هایبرنت استفاده میکنید) تا با ساختار کلیش آشنا بشید. قبلش اینجارم (http://barnamenevis.org/showthread.php?493446-%D8%A7%DB%8C%D9%86-%D9%81%D8%A7%DB%8C%D9%84-JSON-%DA%A9%D9%87-%D8%A8%D8%A7-%D8%A7%D8%B3%D9%BE%D8%B1%DB%8C%D9%86%DA%AF-%D9%88-%DA%A9%D8%AA%D8%A7%D8%A8%D8%AE%D9%88%D9%86%D9%87-%D9%87%D8%A7%DB%8C-%D9%85%D8%B1%D8%A8%D9%88%D8%B7-%D8%A8%D9%87-REST-%D9%85%DB%8C%D8%B4%D9%87-%D8%AA%D9%88%D9%84%DB%8C%D8%AF%D8%B4-%DA%A9%D8%B1%D8%AF%D8%8C-%DA%A9%D8%AC%D8%A7-%D9%85%DB%8C%D8%B1%D9%87%D8%9F) ببینید.
البته نمیشه توی یک مثال همه چیزو توضیح داد. من فرض میکنم که شما با هایبرنت و spring transaction و در کل با ساختار spring آشنا هستید. درغیر اینصورت این مثال شاید بیشتر باعث سردرگمیتون بشه.
فرض کنیم میخوایم سایتی بنویسیم که مثلا لیست محصولات یک کارخونه رو باهاش مدیریت کنیم (CRUD).
یک کلاس Product میشه تعریف کرد به این شکل :
package test.model.entity;
import javax.persistence.*;
import java.util.Date;
@Table
@Entity
public class Product extends BaseEntity {
@Transient
private static final long serialVersionUID = 2445074974681854243L;
private String name;
private Date productionDate;
private float price;
public Product() {
}
public Product(String name, Date productionDate, float price) {
this.name = name;
this.productionDate = productionDate;
this.price = price;
}
@Column(nullable = false, unique = true)
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Temporal(TemporalType.TIMESTAMP)
@Column(nullable = false)
public Date getProductionDate() {
return productionDate;
}
public void setProductionDate(Date productionDate) {
this.productionDate = productionDate;
}
@Column(nullable = false)
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
}
و این هم BaseEntity :
package test.model.entity;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Objects;
@MappedSuperclass
public class BaseEntity implements Serializable {
@Transient
private static final long serialVersionUID = -3904432509090573372L;
private long id;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(unique = true, nullable = false)
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
@Override
public int hashCode() {
return Objects.hashCode(id);
}
@Override
public boolean equals(Object obj) {
return this == obj || obj != null && obj instanceof BaseEntity && Objects.equals(id, ((BaseEntity) obj).getId());
}
}
تا اینجا entity هارو مشخص کردیم. در ضمن میشد BaseEntity رو نسازیم و همه چیو میبردیم تو خود Product، اما زمانی که تعداد entity ها بره بالا اینجوری کار راحتتر میشه برامون.
حالا باید بریم سراغ نوشتن CRUD برای entity مون، که من repository pattern رو برای اینکار انتخاب کردم (شما میتونید DAO بنویسید).
اینترفس IRepository :
package test.model.repository;
import test.model.entity.BaseEntity;
import java.io.Serializable;
import java.util.Collection;
public interface IRepository<T extends BaseEntity> {
Serializable save(T entity);
void update(T entity);
T get(long id);
Collection<T> loadAll();
void delete(T entity);
}
برای Product هم یک repository تعریف میکنیم و متدهای دلخواه دیگه ای هم توش تعریف میکنیم، مثلا :
package test.model.repository;
import test.model.entity.Product;
public interface IProductRepository extends IRepository<Product> {
boolean productExistsByName(String name);
Product findByName(String name);
}
بسته به انتیتی فریم ورکی که استفاده میکنیم (اینجا هایبرنت) پیاده سازی برای IRepository رو انجام میدیم. کلاسی به اسم HibernateRepository تعریف میکنیم که اعمال CRUD رو به صورت generic پیاده سازی کنه :
package test.model.repository;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autow ired;
import org.springframework.orm.hibernate4.support.Hiberna teDaoSupport;
import org.springframework.stereotype.Repository;
import test.model.entity.BaseEntity;
import java.io.Serializable;
import java.util.Collection;
@Repository("hibernateRepository")
public class HibernateRepository<T extends BaseEntity> extends HibernateDaoSupport implements IRepository<T> {
private Class<T> entityClass;
@Autowired
public HibernateRepository(SessionFactory sessionFactory) {
super.setSessionFactory(sessionFactory);
}
public Class<T> getEntityClass() {
return entityClass;
}
public void setEntityClass(Class<T> entityClass) {
this.entityClass = entityClass;
}
@Override
public Serializable save(T entity) {
return getHibernateTemplate().save(entity);
}
@Override
public void update(T entity) {
getHibernateTemplate().update(entity);
}
@Override
public T get(long id) {
return getHibernateTemplate().get(entityClass, id);
}
@Override
public Collection<T> loadAll() {
return getHibernateTemplate().loadAll(entityClass);
}
@Override
public void delete(T entity) {
getHibernateTemplate().delete(entity);
}
}
اینجا میشد مثلا از JPA یا JdcbTemplate و ... استفاده کرد.
نوبت به پیاده سازی IProductRepository میرسه که متدهای اضافه ای هم بهش اضافه کرده بودیم.
قبلش این named query ها رو به بالای کلاس Product اضافه میکنیم تا برای پیاده سازی IProductRepository ازشون استفاده کنیم :
package test.model.entity;
import javax.persistence.*;
import java.util.Date;
@Table
@Entity
@NamedQueries({
@NamedQuery(name = "product_countByName", query = "select count(*) from Product p where p.name = (:name)"),
@NamedQuery(name = "product_findByName", query = "select p from Product p where p.name = (:name)")
})
public class Product extends BaseEntity {
//...
ProductRepository :
package test.model.repository;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autow ired;
import org.springframework.stereotype.Repository;
import test.model.entity.Product;
@Repository(value = "productRepository")
public class ProductRepository extends HibernateRepository<Product> implements IProductRepository {
@Autowired
public ProductRepository(SessionFactory sessionFactory) {
super(sessionFactory);
setEntityClass(Product.class);
}
@Override
public boolean productExistsByName(String name) {
Object o = getHibernateTemplate().getSessionFactory().getCurr entSession()
.getNamedQuery("product_countByName")
.setParameter("name", name)
.uniqueResult();
return o != null && (int) o > 0;
}
@Override
public Product findByName(String name) {
Object o = getHibernateTemplate().getSessionFactory().getCurr entSession()
.getNamedQuery("product_findByName")
.setParameter("name", name)
.uniqueResult();
return o == null ? null : (Product) o;
}
}
انوتیشین Autowired بالای کانستراکتور برای اینه که به اسپرینگ بگیم موقع new کردن این آبجکت یک SessionFactory بهش inject کنه.
هنوز کار تموم نشده و باید نحوه استفاده از transaction روی دیتابیس رو بررسی کنیم. معمولا روشی که ازش استفاده میکنن اینه که یک لایه دیگه ای بالا repository تعریف میکنن (Service) و از طریق اون transaction رو مدیریت میکنن. در واقع این لایه میشه واسط بین لایه مدل و کنترلر.
IProductService :
package test.model.service;
import test.model.entity.Product;
import java.util.Date;
public interface IProductService {
boolean addProduct(String name, Date productionDate, float price);
Product findByName(String name);
boolean deleteProduct(String name);
//...
}
و پیاده سازیش :
package test.model.service;
import org.springframework.beans.factory.annotation.Autow ired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transac tional;
import test.model.entity.Product;
import test.model.repository.IProductRepository;
import java.util.Date;
@Service(value = "productService")
@Transactional
public class ProductService implements IProductService {
@Autowired
private IProductRepository productRepository;
@Override
public boolean addProduct(String name, Date productionDate, float price) {
if (productRepository.productExistsByName(name)) {
return false;
}
Product product = new Product(name, productionDate, price);
productRepository.save(product);
return true;
}
@Override
public Product findByName(String name) {
return productRepository.findByName(name);
}
@Override
public boolean deleteProduct(String name) {
Product product = productRepository.findByName(name);
if (product == null) {
return false;
}
productRepository.delete(product);
return true;
}
}
انوتیشن Transactional باعث میشه که اسپرینگ هر وقت متدی از این کلاس صدا زده شد یک Transaction باز کنه و در آخر اونو ببنده (البته به این سادگیا هم نیست، یه سری بهینه سازی های دیگه هم انجام میده) . تنظیمات دیگه ای هم میشه براش انجام داد... (مثلا این که متد findByName نیازی به transaction نداره و readOnly هم باشه براش مشکلی پیش نمیاد).
تا اینجا کار لایه مدل تموم شد و باید بریم سراغ کنترلر. دیگه کار برای این لایه آسون تر میشه.
IProductController :
package test.controller;
import test.model.entity.Product;
public interface IProductController {
String addProduct(String name, float price);
Product findProduct(String name);
}
و ProductController :
package test.controller;
import org.springframework.beans.factory.annotation.Autow ired;
import org.springframework.web.bind.annotation.RequestMap ping;
import org.springframework.web.bind.annotation.RequestPar am;
import org.springframework.web.bind.annotation.RestContro ller;
import test.model.entity.Product;
import test.model.service.IProductService;
import java.util.Date;
@RestController(value = "productController")
@RequestMapping(value = "/products")
public class ProductController implements IProductController {
@Autowired
private IProductService productService;
@Override
@RequestMapping(value = "/add")
public String addProduct(@RequestParam(value = "name") String name, @RequestParam(value = "price") float price) {
return productService.addProduct(name, new Date(), price)
? "Successfully added new product."
: "Product name already exists!";
}
@Override
@RequestMapping(value = "/find")
public Product findProduct(@RequestParam(value = "name") String name) {
return productService.findByName(name);
}
}
اگر دقت کنی توی هر لایه از annotation های خاصی استفاده کردیم. مثلا توی لایه مدل از Repository و Service و توی لایه کنترلر از Controller.
با این کار این bean هارو به اسپرینگ میشناسونیم و از طریق Autowired به هم تزریقشون میکنیم.
ali-baba
دوشنبه 14 اردیبهشت 1394, 13:07 عصر
سلام و واقعا دست گلت درد نکنه...
حالا یه سوالی...
اگه بخوایم لایه سرور و کلاینت رو از هم جدا کنیم کار به چه صورتی میشه؟؟؟
باتشکر...
ali-baba
دوشنبه 14 اردیبهشت 1394, 13:11 عصر
بازم سلام...
من این (http://www.developer.com/java/creating-restful-web-services-with-jax-rs.html)رو پیدا کردم... که البته باید یکم تغییرش داد برای اسپرینگ....
حالا یه سوال برام پیش میاد.
من خیلی جاها دیدم که تویه فایل تنظیمات xml مربوط به اسپرینگ یه چندتا چیز رو اضافه کردند...
حالا سوالم اینه...اونها اصلا احتیاج نیست؟؟؟
یا اینکه کل کارها به صورت anotation انجام میشه تویه اسپرینگ؟؟؟
درضمن...
من یکم سر وب سرویس ها گیج شدم...
نمی دونم که وب سرویس سمت سرور و کلاینت چطوری با هم ارتباط برقرار می کنند...
باتشکر...
ali-baba
دوشنبه 14 اردیبهشت 1394, 13:19 عصر
بازم سلام...
این اون پروژه هایی هست که من می خوام بنویسم.... (https://www.dropbox.com/sh/utgwt26cez1mziz/AABmNfHZb4AB-wQ7K9DXr-Kea?dl=0)
ببینید درست نوشتم یا خیر، راستش اولین باری هست که دارم اسپرینگ کار می کنم...اگه ایرادی دیدید خوشحال میشم بگید بهم.
باتشکر
ahmad.mo74
دوشنبه 14 اردیبهشت 1394, 21:07 عصر
سلام، ممنون. سوالا زیاد شد :))
حالا یه سوالی...
اگه بخوایم لایه سرور و کلاینت رو از هم جدا کنیم کار به چه صورتی میشه؟؟؟
متوجه نمیشم! مگه الان سرور و کلاینت جدا نیستن از هم؟
حالا یه سوال برام پیش میاد.
من خیلی جاها دیدم که تویه فایل تنظیمات xml مربوط به اسپرینگ یه چندتا چیز رو اضافه کردند...
حالا سوالم اینه...اونها اصلا احتیاج نیست؟؟؟
یا اینکه کل کارها به صورت anotation انجام میشه تویه اسپرینگ؟؟؟
درسته. هم میشه تو xml کانفیگ کرد هم اینکه کلا با annotation.
من خودم بیشتر ترجیح میدم یه سری کانفیگ هارو تو xml قرار بدم و یه سری هاشم با annotation انجام بدم.
پیشنهاد میکنم با آموزش های خوبی که تو سایت mkyong (http://www.mkyong.com/tutorials/spring-mvc-tutorials/) هست پیش بری، مطمئنا خیلی از مسائل برات روشن میشه و جواب اکثر سوالاتت رو میگیری.
ali-baba
سه شنبه 15 اردیبهشت 1394, 09:46 صبح
سلام...
اوکی... مرسی...
پس بی زحمت روی این دوتا تابع تویه کنترلر برام یه توضیح بده که داره چیکار می کنه...
ممنون...
باتشکر...
ahmad.mo74
چهارشنبه 16 اردیبهشت 1394, 17:58 عصر
سلام. یه پروژه کامل به همراه کانفیگهای spring برات آماده کردم (لایبرری های مورد نیازم توش گذاشتم).
لینک دانلود (http://bit.ly/1GZdDED)
این پروژه رو ببین و اگر سوال یا مشکلی بود بپرس.
در مورد توضیح دوتا متد توی کنترلر، انوتیشن RequestMapping مشخص کننده url pattern ایه که وقتی درخواستی با اون url pattern به اپلیکیشن سرورمون رسید و سرولت spring اونو دریافت کرد، متد مربوط به اون رو صدا بزنه. یعنی اون متد رو به url pattern ای که مشخص کردیم map میکنه.
اگر بخوای به آبجکت های HttpServletRequest/Response هم دسترسی داشته باشی کافیه توی امضای تابع اضافشون کنی و spring اون آبجکت هارو در اختیارت میذاره.
RequestParam هم مشخص کننده پارامترهای درخواستیمون هست و url parameter هایی با همون نامی که براش مشخص کردیم بهمون برمیگردونه.
در مورد خروجی توابع هم چون از RestController استفاده کردیم، spring خروجی این متدهارو به عنوان response برمیگردونه و اگر خروجی به صورت آبجکت باشه خودش به json تبدیل میکنه.
ali-baba
شنبه 19 اردیبهشت 1394, 12:31 عصر
سلام و خسته نباشید
بازم منم مزاحم همیشگی :لبخند:
این پروژه من هستش که براتون آپلود کردم... حمش هم زیاد نیست... در حد 20 کیلو... البته بدون لایبرری هاش... ولی خوب تویه فایلServer.iml نوشته که چی ها رو اضافه کردم...
Server.rar - 19 KB (http://uplod.ir/ojsu106ntlhn/Server.rar.htm)
ولی من از اجرای این پروزه روی آپاچی 4 و گلس فیش4 این ارور رو می گیرم...
D:\Server\apache-tomcat-8.0.21\bin\catalina.bat run
[2015-05-09 01:03:56,214] Artifact Server:Web exploded: Server is not connected. Deploy is not available.
Using CATALINA_BASE: "C:\Users\surena4\.IntelliJIdea14\system\tomcat\Unn amed_Server_4"
Using CATALINA_HOME: "D:\Server\apache-tomcat-8.0.21"
Using CATALINA_TMPDIR: "D:\Server\apache-tomcat-8.0.21\temp"
Using JRE_HOME: "C:\Program Files\Java\jdk1.7.0_51"
Using CLASSPATH: "D:\Server\apache-tomcat-8.0.21\bin\bootstrap.jar;D:\Server\apache-tomcat-8.0.21\bin\tomcat-juli.jar"
09-May-2015 13:03:56.899 INFO [main] org.apache.catalina.startup.VersionLoggerListener. log Server version: Apache Tomcat/8.0.21
09-May-2015 13:03:56.900 INFO [main] org.apache.catalina.startup.VersionLoggerListener. log Server built: Mar 23 2015 14:11:21 UTC
09-May-2015 13:03:56.900 INFO [main] org.apache.catalina.startup.VersionLoggerListener. log Server number: 8.0.21.0
09-May-2015 13:03:56.900 INFO [main] org.apache.catalina.startup.VersionLoggerListener. log OS Name: Windows 8
09-May-2015 13:03:56.900 INFO [main] org.apache.catalina.startup.VersionLoggerListener. log OS Version: 6.2
09-May-2015 13:03:56.901 INFO [main] org.apache.catalina.startup.VersionLoggerListener. log Architecture: amd64
09-May-2015 13:03:56.901 INFO [main] org.apache.catalina.startup.VersionLoggerListener. log Java Home: C:\Program Files\Java\jdk1.7.0_51\jre
09-May-2015 13:03:56.901 INFO [main] org.apache.catalina.startup.VersionLoggerListener. log JVM Version: 1.7.0_51-b13
09-May-2015 13:03:56.901 INFO [main] org.apache.catalina.startup.VersionLoggerListener. log JVM Vendor: Oracle Corporation
09-May-2015 13:03:56.901 INFO [main] org.apache.catalina.startup.VersionLoggerListener. log CATALINA_BASE: C:\Users\surena4\.IntelliJIdea14\system\tomcat\Unn amed_Server_4
09-May-2015 13:03:56.901 INFO [main] org.apache.catalina.startup.VersionLoggerListener. log CATALINA_HOME: D:\Server\apache-tomcat-8.0.21
09-May-2015 13:03:56.901 INFO [main] org.apache.catalina.startup.VersionLoggerListener. log Command line argument: -Dcom.sun.management.jmxremote=
09-May-2015 13:03:56.901 INFO [main] org.apache.catalina.startup.VersionLoggerListener. log Command line argument: -Dcom.sun.management.jmxremote.port=1099
09-May-2015 13:03:56.901 INFO [main] org.apache.catalina.startup.VersionLoggerListener. log Command line argument: -Dcom.sun.management.jmxremote.ssl=false
09-May-2015 13:03:56.901 INFO [main] org.apache.catalina.startup.VersionLoggerListener. log Command line argument: -Dcom.sun.management.jmxremote.authenticate=false
09-May-2015 13:03:56.901 INFO [main] org.apache.catalina.startup.VersionLoggerListener. log Command line argument: -Djava.rmi.server.hostname=127.0.0.1
09-May-2015 13:03:56.901 INFO [main] org.apache.catalina.startup.VersionLoggerListener. log Command line argument: -Djava.util.logging.config.file=C:\Users\surena4\.I ntelliJIdea14\system\tomcat\Unnamed_Server_4\conf\ logging.properties
09-May-2015 13:03:56.901 INFO [main] org.apache.catalina.startup.VersionLoggerListener. log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLo aderLogManager
09-May-2015 13:03:56.902 INFO [main] org.apache.catalina.startup.VersionLoggerListener. log Command line argument: -Djava.endorsed.dirs=D:\Server\apache-tomcat-8.0.21\endorsed
09-May-2015 13:03:56.902 INFO [main] org.apache.catalina.startup.VersionLoggerListener. log Command line argument: -Dcatalina.base=C:\Users\surena4\.IntelliJIdea14\sy stem\tomcat\Unnamed_Server_4
09-May-2015 13:03:56.902 INFO [main] org.apache.catalina.startup.VersionLoggerListener. log Command line argument: -Dcatalina.home=D:\Server\apache-tomcat-8.0.21
09-May-2015 13:03:56.902 INFO [main] org.apache.catalina.startup.VersionLoggerListener. log Command line argument: -Djava.io.tmpdir=D:\Server\apache-tomcat-8.0.21\temp
09-May-2015 13:03:56.902 INFO [main] org.apache.catalina.core.AprLifecycleListener.life cycleEvent Loaded APR based Apache Tomcat Native library 1.1.33 using APR version 1.5.1.
09-May-2015 13:03:56.902 INFO [main] org.apache.catalina.core.AprLifecycleListener.life cycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
09-May-2015 13:03:57.734 INFO [main] org.apache.catalina.core.AprLifecycleListener.init ializeSSL OpenSSL successfully initialized (OpenSSL 1.0.1m 19 Mar 2015)
09-May-2015 13:03:57.816 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-apr-8080"]
09-May-2015 13:03:57.824 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-apr-8009"]
09-May-2015 13:03:57.825 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 1271 ms
09-May-2015 13:03:57.846 INFO [main] org.apache.catalina.core.StandardService.startInte rnal Starting service Catalina
09-May-2015 13:03:57.847 INFO [main] org.apache.catalina.core.StandardEngine.startInter nal Starting Servlet Engine: Apache Tomcat/8.0.21
09-May-2015 13:03:57.856 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-apr-8080"]
09-May-2015 13:03:57.862 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-apr-8009"]
09-May-2015 13:03:57.862 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 36 ms
Connected to server
[2015-05-09 01:03:58,309] Artifact Server:Web exploded: Artifact is being deployed, please wait...
09-May-2015 13:04:01.243 INFO [RMI TCP Connection(3)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
09-May-2015 13:04:01.276 SEVERE [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.ContainerBase.addChildInt ernal ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
at org.apache.catalina.util.LifecycleBase.start(Lifec ycleBase.java:154)
at org.apache.catalina.core.ContainerBase.addChildInt ernal(ContainerBase.java:725)
at org.apache.catalina.core.ContainerBase.addChild(Co ntainerBase.java:701)
at org.apache.catalina.core.StandardHost.addChild(Sta ndardHost.java:717)
at org.apache.catalina.startup.HostConfig.manageApp(H ostConfig.java:1618)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.tomcat.util.modeler.BaseModelMBean.invo ke(BaseModelMBean.java:300)
at com.sun.jmx.interceptor.DefaultMBeanServerIntercep tor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxM BeanServer.java:801)
at org.apache.catalina.mbeans.MBeanFactory.createStan dardContext(MBeanFactory.java:463)
at org.apache.catalina.mbeans.MBeanFactory.createStan dardContext(MBeanFactory.java:413)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.tomcat.util.modeler.BaseModelMBean.invo ke(BaseModelMBean.java:300)
at com.sun.jmx.interceptor.DefaultMBeanServerIntercep tor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxM BeanServer.java:801)
at javax.management.remote.rmi.RMIConnectionImpl.doOp eration(RMIConnectionImpl.java:1487)
at javax.management.remote.rmi.RMIConnectionImpl.acce ss$300(RMIConnectionImpl.java:97)
at javax.management.remote.rmi.RMIConnectionImpl$Priv ilegedOperation.run(RMIConnectionImpl.java:1328)
at javax.management.remote.rmi.RMIConnectionImpl.doPr ivilegedOperation(RMIConnectionImpl.java:1420)
at javax.management.remote.rmi.RMIConnectionImpl.invo ke(RMIConnectionImpl.java:848)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastSe rverRef.java:322)
at sun.rmi.transport.Transport$1.run(Transport.java:1 77)
at sun.rmi.transport.Transport$1.run(Transport.java:1 74)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport. java:173)
at sun.rmi.transport.tcp.TCPTransport.handleMessages( TCPTransport.java:556)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandl er.run0(TCPTransport.java:811)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandl er.run(TCPTransport.java:670)
at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.NoClassDefFoundError: org/glassfish/jersey/servlet/internal/ServletContainerProviderFactory
at org.glassfish.jersey.servlet.init.JerseyServletCon tainerInitializer.onStartup(JerseyServletContainer Initializer.java:134)
at org.apache.catalina.core.StandardContext.startInte rnal(StandardContext.java:5155)
at org.apache.catalina.util.LifecycleBase.start(Lifec ycleBase.java:150)
... 40 more
Caused by: java.lang.ClassNotFoundException: org.glassfish.jersey.servlet.internal.ServletConta inerProviderFactory
at org.apache.catalina.loader.WebappClassLoaderBase.l oadClass(WebappClassLoaderBase.java:1305)
at org.apache.catalina.loader.WebappClassLoaderBase.l oadClass(WebappClassLoaderBase.java:1157)
... 43 more
09-May-2015 13:04:01.281 SEVERE [RMI TCP Connection(3)-127.0.0.1] org.apache.tomcat.util.modeler.BaseModelMBean.invo ke Exception invoking method manageApp
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
at org.apache.catalina.core.ContainerBase.addChildInt ernal(ContainerBase.java:728)
at org.apache.catalina.core.ContainerBase.addChild(Co ntainerBase.java:701)
at org.apache.catalina.core.StandardHost.addChild(Sta ndardHost.java:717)
at org.apache.catalina.startup.HostConfig.manageApp(H ostConfig.java:1618)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.tomcat.util.modeler.BaseModelMBean.invo ke(BaseModelMBean.java:300)
at com.sun.jmx.interceptor.DefaultMBeanServerIntercep tor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxM BeanServer.java:801)
at org.apache.catalina.mbeans.MBeanFactory.createStan dardContext(MBeanFactory.java:463)
at org.apache.catalina.mbeans.MBeanFactory.createStan dardContext(MBeanFactory.java:413)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.tomcat.util.modeler.BaseModelMBean.invo ke(BaseModelMBean.java:300)
at com.sun.jmx.interceptor.DefaultMBeanServerIntercep tor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxM BeanServer.java:801)
at javax.management.remote.rmi.RMIConnectionImpl.doOp eration(RMIConnectionImpl.java:1487)
at javax.management.remote.rmi.RMIConnectionImpl.acce ss$300(RMIConnectionImpl.java:97)
at javax.management.remote.rmi.RMIConnectionImpl$Priv ilegedOperation.run(RMIConnectionImpl.java:1328)
at javax.management.remote.rmi.RMIConnectionImpl.doPr ivilegedOperation(RMIConnectionImpl.java:1420)
at javax.management.remote.rmi.RMIConnectionImpl.invo ke(RMIConnectionImpl.java:848)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastSe rverRef.java:322)
at sun.rmi.transport.Transport$1.run(Transport.java:1 77)
at sun.rmi.transport.Transport$1.run(Transport.java:1 74)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport. java:173)
at sun.rmi.transport.tcp.TCPTransport.handleMessages( TCPTransport.java:556)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandl er.run0(TCPTransport.java:811)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandl er.run(TCPTransport.java:670)
at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
09-May-2015 13:04:01.281 SEVERE [RMI TCP Connection(3)-127.0.0.1] org.apache.tomcat.util.modeler.BaseModelMBean.invo ke Exception invoking method createStandardContext
javax.management.RuntimeOperationsException: Exception invoking method manageApp
at org.apache.tomcat.util.modeler.BaseModelMBean.invo ke(BaseModelMBean.java:308)
at com.sun.jmx.interceptor.DefaultMBeanServerIntercep tor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxM BeanServer.java:801)
at org.apache.catalina.mbeans.MBeanFactory.createStan dardContext(MBeanFactory.java:463)
at org.apache.catalina.mbeans.MBeanFactory.createStan dardContext(MBeanFactory.java:413)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.tomcat.util.modeler.BaseModelMBean.invo ke(BaseModelMBean.java:300)
at com.sun.jmx.interceptor.DefaultMBeanServerIntercep tor.invoke(DefaultMBeanServerInterceptor.java:819)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxM BeanServer.java:801)
at javax.management.remote.rmi.RMIConnectionImpl.doOp eration(RMIConnectionImpl.java:1487)
at javax.management.remote.rmi.RMIConnectionImpl.acce ss$300(RMIConnectionImpl.java:97)
at javax.management.remote.rmi.RMIConnectionImpl$Priv ilegedOperation.run(RMIConnectionImpl.java:1328)
at javax.management.remote.rmi.RMIConnectionImpl.doPr ivilegedOperation(RMIConnectionImpl.java:1420)
at javax.management.remote.rmi.RMIConnectionImpl.invo ke(RMIConnectionImpl.java:848)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastSe rverRef.java:322)
at sun.rmi.transport.Transport$1.run(Transport.java:1 77)
at sun.rmi.transport.Transport$1.run(Transport.java:1 74)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport. java:173)
at sun.rmi.transport.tcp.TCPTransport.handleMessages( TCPTransport.java:556)
[2015-05-09 01:04:01,292] Artifact Server:Web exploded: Error during artifact deployment. See server log for details.
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandl er.run0(TCPTransport.java:811)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandl er.run(TCPTransport.java:670)
at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
at org.apache.catalina.core.ContainerBase.addChildInt ernal(ContainerBase.java:728)
at org.apache.catalina.core.ContainerBase.addChild(Co ntainerBase.java:701)
at org.apache.catalina.core.StandardHost.addChild(Sta ndardHost.java:717)
at org.apache.catalina.startup.HostConfig.manageApp(H ostConfig.java:1618)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.tomcat.util.modeler.BaseModelMBean.invo ke(BaseModelMBean.java:300)
... 31 more
09-May-2015 13:04:07.857 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirec tory Deploying web application directory D:\Server\apache-tomcat-8.0.21\webapps\manager
09-May-2015 13:04:07.902 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirec tory Deployment of web application directory D:\Server\apache-tomcat-8.0.21\webapps\manager has finished in 44 ms
D:\Server\apache-tomcat-8.0.21\bin\catalina.bat stop
Using CATALINA_BASE: "C:\Users\surena4\.IntelliJIdea14\system\tomcat\Unn amed_Server_4"
Using CATALINA_HOME: "D:\Server\apache-tomcat-8.0.21"
Using CATALINA_TMPDIR: "D:\Server\apache-tomcat-8.0.21\temp"
Using JRE_HOME: "C:\Program Files\Java\jdk1.7.0_51"
Using CLASSPATH: "D:\Server\apache-tomcat-8.0.21\bin\bootstrap.jar;D:\Server\apache-tomcat-8.0.21\bin\tomcat-juli.jar"
09-May-2015 13:04:20.851 INFO [main] org.apache.catalina.core.StandardServer.await A valid shutdown command was received via the shutdown port. Stopping the Server instance.
09-May-2015 13:04:20.851 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-apr-8080"]
09-May-2015 13:04:20.903 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["ajp-apr-8009"]
09-May-2015 13:04:20.953 INFO [main] org.apache.catalina.core.StandardService.stopInter nal Stopping service Catalina
09-May-2015 13:04:20.961 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-apr-8080"]
09-May-2015 13:04:21.012 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["ajp-apr-8009"]
09-May-2015 13:04:21.062 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-apr-8080"]
09-May-2015 13:04:21.063 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["ajp-apr-8009"]
Disconnected from server
اگه بتونید راهنمایی خاصی بکنید ممنون میشم...
پروژه شما رو هم دیدم... ولی دیدم دارم گیج میشم.. گفتم اول این پروزه رو ختم به خیر کنم...
بعدا سر فرصت اون رو هم ببینم...البته واقعا دستتون درد نکنه که اون رو نوشتید... یکی از دوستان من که قرار بود بنویسه برام یه نمونه من رو پیچوند.. ولی شما که آشناییت خاصی با من ندارید این کار رو کردید...خیلی ممنون...
داشت یادم می رفت...
البته وقتی تویه مرورگر این آدرس رو میزنم.... http://localhost:8080/rest/userS/AllUser
این ارور رو بهم میده...
HTTP Status 500 - Servlet execution threw an exceptiontype Exception report
message Servlet execution threw an exception
description The server encountered an internal error that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Servlet execution threw an exception
org.apache.tomcat.websocket.server.WsFilter.doFilt er(WsFilter.java:52)
root cause
java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder;
javax.ws.rs.core.UriBuilder.fromUri(UriBuilder.jav a:119)
com.sun.jersey.spi.container.servlet.ServletContai ner.service(ServletContainer.java:669)
javax.servlet.http.HttpServlet.service(HttpServlet .java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilt er(WsFilter.java:52)
note The full stack trace of the root cause is available in the Apache Tomcat/8.0.21 logs.
Apache Tomcat/8.0.21
باتشکر...
ali-baba
شنبه 19 اردیبهشت 1394, 12:51 عصر
سلام...
اون لایبرری هایی که تویه پروژه شما بود رو با توجه به اینکه بعضی هاش رو نداشتم چپوندم تویه پروژه... ولی بازم جواب نداد...
باتشکر...
java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder; at javax.ws.rs.core.UriBuilder.fromUri(UriBuilder.jav a:119)
at com.sun.jersey.spi.container.servlet.ServletContai ner.service(ServletContainer.java:669)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:729)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilt er(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBas e.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve. invoke(AbstractAccessLogValve.java:610)
at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:518)
at org.apache.coyote.http11.AbstractHttp11Processor.p rocess(AbstractHttp11Processor.java:1091)
at org.apache.coyote.AbstractProtocol$AbstractConnect ionHandler.process(AbstractProtocol.java:668)
at org.apache.coyote.http11.Http11AprProtocol$Http11C onnectionHandler.process(Http11AprProtocol.java:28 3)
at org.apache.tomcat.util.net.AprEndpoint$SocketProce ssor.doRun(AprEndpoint.java:2463)
at org.apache.tomcat.util.net.AprEndpoint$SocketProce ssor.run(AprEndpoint.java:2452)
at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$Wrapping Runnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:744)
ali-baba
شنبه 19 اردیبهشت 1394, 12:58 عصر
سلام...
بالاخره کار کرد...
ولی فقط روی گلس فیش 4 کار کرد...
یعنی روی آپاچی تامکت که اجراش می کنم ارور بالا رو میده...
دلیلش چیه؟؟؟
البته سمت کلاینت که این کد باشه هنوز مشکل دارم و نمی تونه وصل بشه...
package main.java.com.restSpring;
import main.java.com.modeling.Userlogin;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import javax.ws.rs.client.*;
import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.util.List;
@Service
public class UserRestClient {
@PostConstruct
public static void main(String[] args) {
Userlogin myUser = new Userlogin();
System.out.println("Start");
myUser.setRole("Admin");
myUser.setUsername("Ali");
myUser.setPassword("Hosseini");
System.out.println(myUser);
addNewUserLogin(myUser);
getUserlogins();
}
public static void addNewUserLogin(Userlogin userlogin) {
try {
System.out.println("****Invoking the All Books Service****");
Client client = ClientBuilder.newClient();
WebTarget webTarget = client.target("http://localhost:8080/rest/userS/addUser");
Response response = webTarget.request().buildPost(Entity.entity(userlo gin, MediaType.APPLICATION_JSON)).invoke();
System.out.println(response.getLocation().getPath( ));
} catch (Exception e) {
System.out.println("Error dari haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaa");
e.printStackTrace();
System.out.println("Khaste Nabashiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii iiiiiiiiiiiiiiii");
}
}
public static List<Userlogin> getUserlogins() {
try {
Client client = ClientBuilder.newClient();
WebTarget webTarget = client.target("http://localhost:8080/rest/userS/AllUser");
Invocation invocation = webTarget.request().buildGet();
Response response = invocation.invoke();
List<Userlogin> userList = response.readEntity(new GenericType<List<Userlogin>>() {
});
return userList;
}catch (Exception e)
{
System.out.println("Che Error dari haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaa");
e.printStackTrace();
System.out.println("Che Khaste Nabashiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii iiiiiiiiiiiiiiii");
return null;
}
}
}
اینم ارور
Startmain.java.com.modeling.Userlogin@970c1717
****Invoking the All Books Service****
java.lang.NullPointerException
at main.java.com.restSpring.UserRestClient.addNewUser Login(UserRestClient.java:35)
at main.java.com.restSpring.UserRestClient.main(UserR estClient.java:25)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main (AppMain.java:140)
Error dari haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaa
Khaste Nabashiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii iiiiiiiiiiiiiiii
javax.ws.rs.WebApplicationException: HTTP 500 Internal Server Error
Che Error dari haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaa
at com.owlike.genson.ext.jaxrs.GensonJsonConverter.re adFrom(GensonJsonConverter.java:124)
at org.glassfish.jersey.message.internal.ReaderInterc eptorExecutor$TerminalReaderInterceptor.invokeRead From(ReaderInterceptorExecutor.java:266)
at org.glassfish.jersey.message.internal.ReaderInterc eptorExecutor$TerminalReaderInterceptor.aroundRead From(ReaderInterceptorExecutor.java:236)
at org.glassfish.jersey.message.internal.ReaderInterc eptorExecutor.proceed(ReaderInterceptorExecutor.ja va:156)
at org.glassfish.jersey.message.internal.MessageBodyF actory.readFrom(MessageBodyFactory.java:1085)
at org.glassfish.jersey.message.internal.InboundMessa geContext.readEntity(InboundMessageContext.java:85 3)
at org.glassfish.jersey.message.internal.InboundMessa geContext.readEntity(InboundMessageContext.java:81 2)
at org.glassfish.jersey.client.ClientResponse.readEnt ity(ClientResponse.java:368)
at org.glassfish.jersey.client.InboundJaxrsResponse$2 .call(InboundJaxrsResponse.java:122)
at org.glassfish.jersey.internal.Errors.process(Error s.java:315)
at org.glassfish.jersey.internal.Errors.process(Error s.java:297)
at org.glassfish.jersey.internal.Errors.process(Error s.java:228)
at org.glassfish.jersey.process.internal.RequestScope .runInScope(RequestScope.java:419)
at org.glassfish.jersey.client.InboundJaxrsResponse.r eadEntity(InboundJaxrsResponse.java:119)
at main.java.com.restSpring.UserRestClient.getUserlog ins(UserRestClient.java:49)
at main.java.com.restSpring.UserRestClient.main(UserR estClient.java:26)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main (AppMain.java:140)
Caused by: com.owlike.genson.JsonBindingException: Could not deserialize to type interface java.util.List
at com.owlike.genson.Genson.deserialize(Genson.java:3 91)
at com.owlike.genson.ext.jaxrs.GensonJsonConverter.re adFrom(GensonJsonConverter.java:122)
... 20 more
Caused by: com.owlike.genson.stream.JsonStreamException: Illegal character at row 0 and column 0 expected [ but read '{' !
at com.owlike.genson.stream.JsonReader.newWrongTokenE xception(JsonReader.java:951)
at com.owlike.genson.stream.JsonReader.begin(JsonRead er.java:427)
at com.owlike.genson.stream.JsonReader.beginArray(Jso nReader.java:151)
at com.owlike.genson.convert.DefaultConverters$Collec tionConverter.deserialize(DefaultConverters.java:1 71)
at com.owlike.genson.convert.DefaultConverters$Collec tionConverter.deserialize(DefaultConverters.java:1 58)
at com.owlike.genson.convert.NullConverter$NullConver terWrapper.deserialize(NullConverter.java:56)
at com.owlike.genson.Genson.deserialize(Genson.java:3 89)
... 21 more
Che Khaste Nabashiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii iiiiiiiiiiiiiiii
Process finished with exit code 0
باتشکر....
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.