WSIF - 알려진 제한사항
WSIF를 사용할 때 적용되는 알려진 제한사항은 스레딩, SOAP 헤더 및 참조되지 않는 첨부 및 데이터 유형 맵핑에 대한 제한사항을 포함합니다.
- 스레딩
- WSIF는 스레드 안전 상태가 아닙니다.
- 외부 표준
- WSIF는 다음을 지원합니다.
- SOAP 버전 1.1(1.2 이상이 아님)
- WSDL 버전 1.1(1.2 이상이 아님)
- 전체 스키마 구문 분석
- WSIF는 전체 스키마 구문 분석을 지원하지 않습니다. 예를 들어, 스키마의 복합 유형의 WSDL(Web Services Description Language) 참조는 처리되지 않으며, 속성이 처리되지 않습니다.
- XML 스키마 "redefine" 요소는 처리되지 않으며 무시됩니다.
- SOAP
- WSIF는 다음을 지원하지 않습니다.
- <parts>로 구문 분석되는 SOAP 헤더.
- SOAP 응답의 참조되지 않는 첨부 또는 SOAP 첨부 - 지원되지 않는 시나리오에서 설명하는 시나리오.
- 문서 인코딩 유형 SOAP 메시지. 참고: 이것은 기본적으로 WSIF 제한사항이 아닙니다. WSDL에서 문서 인코딩 유형을 지정할 수 있지만, 일반적으로 올바른 옵션으로 간주되지 않으므로 WS-I(Web Services Interoperability Organization)에서 지원하지 않습니다.
- SOAP 제공자 상호 운용성
- 현재 WSIF 기본 SOAP 제공자(IBM® Web Service SOAP 제공자)는 전자(Apache SOAP) 제공자에서 실행 중인 서비스와 완전히 상호 운용되지 않습니다. 이는 IBM 웹 서비스 SOAP 제공자가 완전히 JAX-RPC 준수 웹 서비스와 상호작용하도록 디자인되기 때문이고 Apache SOAP는 그러한 서비스를 제공할 수 없습니다. 이 제한사항을 극복하는 방법에 대한 정보는 WSIF SOAP 제공자: 기존 애플리케이션과 작업의 내용을 참조하십시오.
- SOAP 결함에 대한 WSIF 지원은 IBM Web Service
SOAP 제공자를 사용하는 웹 서비스에서 시작하는 SOAP 결함으로
제한됩니다. 참고: 이것은 기본적으로 WSIF 제한사항이 아닙니다. 현재 SOAP 결함 스펙은 Java 예외에 맵핑하도록 SOAP 결함을 인코딩하는 방법을 규정하지 않습니다. 결국, 각 웹 서비스 런타임 환경은 현재 그 자신의 SOAP 결함 형식을 선택합니다. IBM Web Service SOAP 제공자는 그 자신의 응답 SOAP 결함을 이해할 수 있지만, 다른 제공자의 SOAP 결함은 이해할 수 없습니다.
- 데이터 유형 맵핑
- 현재 WSIF 기본 SOAP 제공자(IBM Web Service
SOAP 제공자)는 이전(Apache SOAP) 제공자가 작성된 후
완성된 JAX-RPC 유형 맵핑 규칙을 따르고 있습니다.
대다수의 데이터 유형이 두 제공자 모두에 의해 동일한 방식으로 맵핑됩니다.
예외는 xsd:date, xsd:dateTime, xsd:hexBinary 및 xsd:QName입니다.
이들 4개의 데이터 유형 중 하나가 사용되는 경우 클라이언트와 서비스가
둘 다 동일한 맵핑 규칙을 사용해야 합니다. 다음 표는 이들 4개의 데이터 유형에 대한 맵핑 규칙을
상세히 설명합니다.
표 1. Apache SOAP 및 JAX-RPC에 의해 다르게 맵핑되는 4가지 데이터 유형에 대한 맵핑 규칙. 열 1은 XML 데이터 유형을 지정하고, 열 2는 Apache SOAP에 대한 동등한 데이터 유형을 지정하고, 열 3은 JAX-RPC에 대한 동등한 데이터 유형을 지정합니다.
XML 데이터 유형 Apache SOAP Java 맵핑 JAX-RPC Java 맵핑 xsd:date java.util.Date 지원 안됨 xsd:dateTime 지원 안됨 java.util.Calendar xsd:hexBinary 16진 문자열 byte [ ] xsd:QName org.apache.soap.util.xml.QName javax.xml.namespace.QName - 배열 및 복합 유형
- WSIF는 일반적인 복합 유형을 지원하지 않습니다. 단지 Java
Bean에 맵핑하는 복합 유형만 처리합니다. 스키마 복합 유형을 사용하려면
고유한 사용자 정의 시리얼라이저(serializer)를 사용해야 합니다. 웹 서비스의
WSIF 아웃바운드 호출을 위한 특정 복합 유형 및 배열 지원은
다음과 같습니다.
- WSIF는 WSAD-IE(WebSphere® Studio Application Developer - Integration Edition) 메시지 생성기가 생성하는 Java 클래스를 지원합니다(WSDL 파일이 다른 것에서 다운로드되는 일반적 케이스). WSAD-IE 기반 생성은 사용자가 BPEL 편집기나, 엔터프라이즈 서비스 컨텍스트 메뉴에서 사용 가능한 생성 조치 또는 비즈니스 통합 도구 모음을 사용할 때 자동으로 발생합니다.
- WSIF는 기본 WSAD 도구를 포함한 다른 도구가 생성하는 Java Bean을 지원하지 않습니다.
- WSAD-IE 생성 Java Bean의 경우, WSDL에서 정의되는 속성은 작동하지 않습니다. 즉, 이러한 속성은 복합 유형을 표시하기 위해 생성되는 Java Bean에는 표시되어도 WSIF에서 작성되는 SOAP 요청에는 표시되지 않습니다.
- WSIF는 배열이 Java Bean의 필드일 때 배열을 지원하지 않습니다. 즉, WSIF는 이름 지정된 <part>로 전달되는 배열만 지원합니다. 배열이 Java Bean 안에 랩핑되는 경우, 배열은 동일한 방식으로 직렬화되지 않습니다.
- 오브젝트 직렬화
- WSIF는 서로 다른 릴리스에서의 오브젝트 직렬화를 지원하지 않습니다.
- 비동기 호출
- WSIF는 모든 제공자에 대한 동기 호출을 지원합니다. JMS 및 SOAP over JMS 제공자의 경우에도 WSIF는 비동기 호출을 지원합니다. 비동기 조작을 실행하기 전에 supportsAsync() 메소드를 호출해야 합니다.
- EJB 제공자
- WSIF EJB 제공자의 대상 서비스는 원격 홈 인터페이스여야 하며 EJB 로컬 홈 인터페이스는 될 수 없습니다. 또한 EJB 스텁 클래스가 클라이언트 클래스 경로에서 사용 가능해야 합니다.
- WebSphere Application Server 외부에서 실행
- WSIF는 WebSphere Application Server 외부에서 사용을 위해 지원되지 않습니다.