2011년 5월 24일 화요일

Web Service DATA TYPE

내장 XML/Java 타입 매핑

xsd 접두어는 XML namespace URI(http://www.w3.org/2001/XMLSchema)를 나타낸다.
SOAP-EN 접두어는 XML namespace URI(http://schmas.xmlsoap.org/soap/encoding)를 나타낸다.
XML 데이터 타입Java 데이터 타입
xsd:stringjava.lang.String
xsd:booleanBoolean, java.lang.Boolean *
xsd:doubledouble, java.lang.Double *
xsd:floatfloat, java.lang.Float *
xsd:intint, java.lang.Integer
xsd:integerjava.math.BigInteger
xsd:longlong, java.lang.Long *
xsd:shortshort, java.lang.Short *
xsd:bytebyte, java.lang.Byte
xsd:Decimaljava.math.BigDecimal
xsd:base64Bindarybyte[]
xsd:hexBinaryorg.apache.axis.types.HexBinary
xsd:QNamejavax.xml.rpc.namespace.QName
xsd:dateTimejava.util.Calendar
xsd:gYearMonthorg.apache.axis.types.YearMonth
xsd:gYearorg.apache.axis.types.Year
xsd:gMonthDayorg.apache.axis.types.MonthDay
xsd:anyURIorg.apache.axis.types.URI
xsd:durationorg.apache.axis.types.Duration
xsd:nameorg.apache.axis.types.Name
xsd:NCNameorg.apache.axis.types.NCName
xsd:NMTOKENorg.apache.axis.types.NMToken
xsd:nomalizedStringorg.apache.axis.types.NormalizedString
xsd:timeorg.apache.axis.types.Time
xsd:tokenorg.apache.axis.types.Token
xsd:unsignedByteorg.apache.axis.types.UnsignedByte
xsd:unsignedLongorg.apache.axis.types.UnsignedLong
xsd:unsignedIntorg.apache.axis.types.UnsignedInt
xsd:unsignedShortorg.apache.axis.types.UnsignedShort
SOAP-ENC:base64byte[]
SOAP-ENC:stringjava.lang.String
SOAP-ENC:booleanboolean, java.lang.Boolean *
SOAP-ENC:doubledouble, java.lang.Double *
SOAP-ENC:floatfloat, java.lang.Float *
SOAP-ENC:intint, java.lang.Integer *
SOAP-ENC:longlong, java.lang.Long *
SOAP-ENC:shortshort, java.lang.Short *
SOAP-ENC:bytebyte, java.lang.Byte *
SOAP-ENC:intergerjava.math.BigInteger
SOAP-ENC:decimaljava.math.BigDecimal
SOAP-ENC:Arrayarray of built-in data type
SOAP-ENC:Mapjava.util.HashMap
SOAP-ENC:Elementorg.w3.dom.Element
SOAP-ENC:Vectorjava.util.Vector


배열
웹서비스는 JAX-RPC 타입에서 정의한 배열들을 지원한다. 예를 들어 int[]와 String[]나다차원 배열인 java.math.BigDecimal[][] 와 같은 것도 지원한다.
사용자 정의 타입
웹서비스는 어플리케이션을 위해 작성한 모든 사용자 정의 형을 지원한다. JAX-RPC 스펙에는 이러한 클래스들을 ‘Value Type’이라 부른다. JEUS 웹서비스에서 이것을 지원하기 위해서는 사용자 정의 클래스들은 다음 규칙을 따라야 한다.
- 파라미터 없는 public default 생성자를 가져야 한다.
- 직, 간접적으로 java.rmi.Remote 를 구현해서는 안 된다.
- 멤버 필드들의 타입은 JEUS 웹서비스가 지원하는 타입이어야 한다.
클래스는 public, private, 또는 protected 필드들을 포함할 수 있다. 웹서비스 호출 중 전달되는 값을 위해서 필드는 다음 조건을 충족해야 한다.
- public 필드는final나 transient이 될 수 없다.
- public 필드가 아닌 것은 관련된 getter와 setter 메소드를 가져야 한다.
위의 규칙을 따르는JavaBeans 컴포넌트 또한 지원된다.

댓글 없음:

댓글 쓰기

ETL 솔루션 환경

ETL 솔루션 환경 하둡은 대용량 데이터를 값싸고 빠르게 분석할 수 있는 길을 만들어줬다. 통계분석 엔진인 “R”역시 하둡 못지 않게 관심을 받고 있다. 빅데이터 역시 데이터라는 점을 볼때 분산처리와 분석 그 이전에 데이터 품질 등 데이...