이 규칙은 다음 스키마 유형 중 하나에 대한 참조에 플래그를 지정합니다:
http://www.w3.org/2001/XMLSchema:duration, http://www.w3.org/2001/XMLSchema:dateTime,
http://www.w3.org/2001/XMLSchema:time, http://www.w3.org/2001/XMLSchema:date,
http://www.w3.org/2001/XMLSchema:gYearMonth, http://www.w3.org/2001/XMLSchema:gYear, NAMESPACE:gMonth,
http://www.w3.org/2001/XMLSchema:gDay
이러한 스키마 유형 및 해당 JAX-RPC 관련 Java 유형
java.util.String
및
java.util.Calendar
는 JAX-WS에서 지원되지 않습니다.
JAX-WS 및 JAXB로 마이그레이션하려면 다음이 필요합니다
지원되는 Java 유형과 함께 해당 스키마 유형을 사용해야 합니다
javax.xml.datatype.XMLGregorianCalendar
대신.
JAX-RPC 캘린더 클래스의 예는 다음과 같습니다:
import java.util.Calendar;
import java.rmi.RemoteException;
public Calendar calculateShippingDate(Calendar requestedDate) throws RemoteException; {
날짜를 보낸 날짜로 설정하고 7일을 더합니다.
requestedDate.addjava.util.Calendar.DAY_OF_MONTH, 7);
......// ......// ......// .
반환 requestedDate;
}
JAX-WS XMLGregorianCalendar 클래스의 예는 다음과 같습니다:
import javax.xml.datatype.XMLGregorianCalendar;
' javax.xml.datatype.DatatypeConfigurationException;' 가져오기
public XMLGregorianCalendar calculateShippingDate(
XMLGregorianCalendar requestedDate) {
try {{}
데이터 유형 팩토리를 만듭니다.
DatatypeFactory df = ' DatatypeFactory.newInstance();
날짜를 저희에게 보낸 날짜로 설정하고
7일을 추가합니다.
기간 기간 = df.newDuration("P7D");
requestedDate.추가(기간);
} catchDatatypeConfigurationException e) {
// TODO 자동 생성된 캐치 블록
e.printStackTrace();
}
......// ......// ......// ......// ......// ......// ......// ......// ......// .......
반환 requestedDate;
}
위의 예제에서 볼 수 있듯이 입력 매개 변수는 유형이 변경되었습니다
java.util.Calendar
-
javax.xml.datatype.XMLGregorianCalendar
.
이는 WSDL에서 이러한 매개변수를 유형으로 지정했기 때문입니다,
xsd:dateTime
로 매핑하고, JAX-RPC는 이 데이터 유형을
java.util.Calendar
로 매핑하는 반면, JAX-WS와 JAXB는 이를
javax.xml.datatype.XMLGregorianCalendar
.