본문 바로가기

TIL/Java4

GSON Type 정의 관련 정리 JAVA에서 GSON으로 리스트 형태의 데이터를 변환하는 경우 아래와 같이 Type 인스턴스를 생성해서 적용해줘야 컴파일 에러가 나지 않습니다. Type type = new TypeToken() {}.getType();gson.toJson(mappingInfoList, type));gson.fromJson(jsonString, type); 또한, Generic Type을 사용하는 클래스를 GSON을 사용해서 JSON으로 변환하고, 클래스로 다시 변환하는 경우아래와 같은 Exception이 발생하는 경우가 있는데요. "com.google.gson.internal.LinkedHashTreeMap cannot be cast to my object" 이건 Generic Type을 사용해서 발생하는 문제이고 Ty.. 2017. 11. 21.
Marshalling and Unmarshalling by the JAXB JAXB로 마샬링과 언마샬링 하려면 JAXB 클래스가 있어야 함JAXB 클래스는 .xsd라고 XML 스키마가 정의된 파일을 xjc 툴로 자동 생성함(.xsd 파일은 어디선가 받겠죠~!).xsd가 있는 경로에서 "xjc -d . *"를 실행하면 JAXB 클래스가 생성됨, 좀더 디테일한 설정은 Help 참조(xjc -d . * -p com.company.sub)마샤링과 언마샬링은 아래 소스 코드 참고 public class JaxbConvertor {private static JaxbConvertor mSingleton = null;private JAXBContext mJAXBContext = null; private JaxbConvertor()throws JAXBException {mJAXBContext .. 2016. 11. 15.
injecting XML(Document) into SOAP body(SOAPBody) XML 데이터를 SOAP Body에 넣기 public static SOAPMessage makeSoapRequest(Document document)throws Exception {MessageFactory messageFactory = MessageFactory.newInstance(SOAPConstants.DEFAULT_SOAP_PROTOCOL);SOAPMessage soapMessage = messageFactory.createMessage();SOAPPart soapPart = soapMessage.getSOAPPart(); SOAPEnvelope envelope = soapPart.getEnvelope();SOAPBody soapBody = envelope.getBody();soapBody.ad.. 2016. 11. 15.
Convert date(String) to XMLGregorianCalendar String형의 일시를 XMLGregorianCalendar의 인스턴스로 변환 /** * * @param strDate Date(Date format: yyyy-MM-dd hh:mm:ss(e.g. 2016-11-15 09:30:01)) * @return instance of the XMLGregorianCalendar(Saved date: 2016-11-15T09:30:01) * @throws ParseException * @throws DatatypeConfigurationException */public static XMLGregorianCalendar strDateToXMLGregorianCalendar(String strDate)throws ParseException, DatatypeConfigu.. 2016. 11. 15.