İpucu

response output Error on request mapping:Unparseable date Hatası

Apache AXIS kütüphanesi ile bir web servisi çağırdığınızda , Date tipinde bir alanı set ediyorsanız servisten aşağıdaki gibi bir hata gelebilir :


response output:Error on request mapping:Unparseable date: '2014-06-16'


Bu hatanın sebebi, sunucun beklediği date formatı ile sizin gönderdiğiniz date formatının farklı olmasıdır. AXIS kütüphanesi Date sınıfı org.apache.axis.encoding.ser paketindeki, aşağıdaki sınıf ile serileştirir :


public class DateSerializer implements SimpleValueSerializer {

private static SimpleDateFormat zulu = new SimpleDateFormat("yyyy-MM-dd");
private static Calendar calendar = Calendar.getInstance();
public void serialize(QName name, Attributes attributes, Object value, SerializationContext context) throws IOException { context.startElement(name, attributes); context.writeString(getValueAsString(value, context)); context.endElement(); }
public String getValueAsString(Object value, SerializationContext context) { StringBuffer buf = new StringBuffer(); synchronized (calendar) { if(value instanceof Calendar) { value = ((Calendar)value).getTime(); } if (calendar.get(Calendar.ERA) == GregorianCalendar.BC) { buf.append("-"); calendar.setTime((Date)value); calendar.set(Calendar.ERA, GregorianCalendar.AD); value = calendar.getTime(); } buf.append(zulu.format((Date)value)); } return buf.toString(); }
public String getMechanismType() { return Constants.AXIS_SAX; }
public Element writeSchema(Class javaType, Types types) throws Exception { return null; } }


DateSerializer içinde görüldüğü gibi tarih yyyy-MM-dd formatına dönüştürülmektedir. Bu formatı değiştirip, sınıfı tekrar derleyip , axis jar'ını güncellerseniz sizin istediğiniz formatta date üretilecek ve yukarıdaki hata oluşmayacaktır.
zafer.teker , 27.09.2014

Bu Sayfayı Paylaş:

Fibiler Üyelerinin Yorumları


Tüm üyeler içeriklere yorum ekleyerek katkıda bulunabilir : Yorum Gir

Misafir Yorumları




Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir