2011-09-22 5 views
0

. Apache Axis를 사용하여 .Net으로 작성된 웹 서비스와 통신합니다.Apache Axis - 0001-01-01T00 : 00 : 00.000Z로 직렬화되는 캘린더 인스턴스

DateTime.MinDate (즉, "0001-01-01")을 만났을 때 WS의 기능 중 하나는 특별한 처리를합니다. 자, WS에이 특별한 값을 보내려고하지만, 자바에서는 DateTime.MinDate과 동등한 가치가없는 것 같습니다.

아마도 Axis는 xsd:dateTimeCalendar 개체로 래핑하므로 new GregorianCalendar(1 ,1 ,1);을 보내려고했지만 트릭을 수행하지 않았습니다. 나는 calendar.setTime(new Date(0)), 나는 더 많은 조합을 시도했지만, 아무것도

내가 필요로하는 것입니다

<endDate xsi:type="xsd:dateTime">0001-01-01T00:00:00.000Z</endDate>

로 직렬화 얻을 것 같다. 누구든지 이것이 어떻게 성취 될 수 있는지 전혀 모른다.

+0

비슷한 질문 : 그 사람이 요청 ... http://stackoverflow.com/questions/4006186/java-equivalent-of-datetime-minvalue-datetime-today –

+0

는 그것을 본,하지만 정말 그 비슷한 아니다 (새로운 GregorianCalendar (1, 1, 1);)을 얻는 방법을 알고있는 Java와 동등하지만, DateTime.MinDate와 같은 방식으로 SOAP xsd : dateTime에 serialize되는 무언가가 필요합니다 (즉, 0001- 01-01T00 : 00 : 00.000Z) 위에서 언급 한 해결책은 그렇지 않습니다. – kaqqao

답변

1

다음은 해당 (DateTime.MinValue)으로 직렬화 할 GregorianCalendar 개체를 만듭니다. 다음

GregorianCalendar gc=new GregorianCalendar(1,0,1); 
gc.setTimeZone(TimeZone.getTimeZone("GMT-0")); 

참고 : 월 매개 변수가 제로 기반

  • 는 1을 기반으로하지.
  • GregorianCalendar의 기본값은 현지 시간대이므로, 수동으로 조정해야하는 시간대는 입니다.
+0

굉장! 무리 감사! 나는 너무 가까이에 있었지만 당신의 도움 없이는 할 수 없었습니다. – kaqqao

관련 문제