2014-09-23 5 views
0

dateTime 문자열을 갖는 요청 XML이 '2014-09-23T00 : 00 : 00.000+ 01:00 '그리고 나는 이것을 Mule 3.5 datamapper를 사용하여 xs : dateTime 타입의 요소에 매핑하고 있습니다. Datamapper는 str2Calendar (Str, Str) 함수 또는 매핑을 내부적으로 적용합니다. 은 그래서 같이 스크립트를 편집 :Mule datamapper DateTime 변환은 'yyyy-MM-dd'T'HH : mm : ss.SSSZ'문자열에 대해 해석 할 수없는 날짜를 제공합니다.

output.dateAndTimeString = str2calendar(input.dateAndTime, "yyyy-MM-dd'T'HH:mm:ss.SSSZ"); 

로그의 오류는 다음과 같습니다

java.text.ParseException: Unparseable date "2014-09-23T00:00:00.000+01:00" 

은 뮬 데이터 매퍼 또는 내 변환 기술 뭐 잘못인가?

답변

1

'Z'를 삭제하고 오버로드 된 str2calendar를 사용하여 기본 시간대를 설정할 수 있습니다. 이 예에서는 MEL 표현식을 사용하여 서버 시간대를 가져옵니다.

output.dateAndTimeString = str2calendar (input.dateAndTime, "yyyy-MM-dd'T'HH : mm : ss.SSS", server.timeZone);

+0

그러나 매핑 후 결과는 타사 웹 서비스에서 유효한 dateTime으로 더 이상 인식되지 않는 +01 : 00 대신 Z가 있습니다. – shrinathM

+0

오버로드 된 시간대 매개 변수를 추가 했습니까? –

+0

TimeZone.getTimezone ('UTC')처럼 시도했지만 오류는 인식 할 수없는 구성 요소 시간대와 같았습니다. – shrinathM