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 컴포넌트 또한 지원된다.

댓글 없음:

댓글 쓰기

시스템 부팅시 도커 컨테이너 자동 실행

Docker 컨테이너를 운용중인 시스템이 Reboot 되버리면 컨테이너가 자동으로 올라오지 않아 불편해서 시스템 리붓시 컨테이너를 자동으로 시작되게 init 데몬에 등록하기로 했습니다. 서버는 Ubuntu 17.10 Docker는 17.0...