JAX-WS(Java™ API
for XML Web Services) 바인딩 중 하나를 사용하여 PDF 파일이나 JPG
이미지와 같은 첨부가 있는 SOAP 메시지를 송수신할 수 있습니다.
또한 SCA 모듈의 중개 플로우 컴포넌트를 사용하여 첨부를 처리할 수
있습니다.
MIME 여러 부분 SOAP 메시지의 파트인
참조되지 않은
첨부를 송수신할 수 있습니다. MIME 여러 부분 SOAP 메시지에서 SOAP
본문은 메시지의 첫 번째 파트이고 첨부는 후속 파트에 있습니다.
첨부에 대한 참조는 SOAP 본문에 포함되어 있지 않습니다.
그림 1. 참조되지 않은 첨부가 있는 SOAP 메시지
웹 서비스 내보내기를 통해 참조되지 않은 첨부가 있는 SOAP 메시지를
웹 서비스 가져오기에 전송할 수 있습니다. 대상 웹 서비스에 전송되는
출력 메시지에는 첨부가 포함되어 있습니다.
그림 2에서는
첨부가 있는 SOAP 메시지가 수정 없이 전달됩니다.
또한 중개 플로우 컴포넌트를 사용하여 SOAP 메시지를 수정할 수
있습니다. 예를 들어, 중개 플로우 컴포넌트를 사용하여 SOAP
메시지에서 데이터(이 경우에는 메시지의 본문에 있는 2진 데이터)를
추출하고 첨부 메시지가 있는 SOAP를 작성할 수 있습니다.
데이터는 SMO(Service Message Object) 첨부 요소의 파트로 처리됩니다.
그림 3. 중개 플로우 컴포넌트에서 처리하는 메시지
반대로 중개 플로우 컴포넌트는 첨부를 추출하고 인코딩한 후 첨부가
없는 메시지를 전송하여 수신 메시지를 변환할 수 있습니다.
SMO의 구조에 대한 세부사항은 "관련 항목"의 정보를 참조하십시오.
수신 SOAP 메시지에서 데이터를 추출하여 첨부 메시지가 있는 SOAP를
작성하는 대신 데이터베이스와 같은 외부 소스에서 첨부 데이터를 얻을 수
있습니다.
그림 4. 데이터베이스에서 얻어 SOAP 메시지에 추가된 첨부
반대로 중개 플로우 컴포넌트는 수신 SOAP 메시지에서 첨부를 추출하고
메시지를 처리할 수 있습니다(예: 데이터베이스에 첨부 저장).
참조되지 않은 첨부는 중개 플로우 컴포넌트를 통해서만
전파할 수 있습니다. 다른 컴포넌트 유형이 첨부에 액세스하거나 첨부를 전파해야
하는 경우 중개 플로우 컴포넌트를 사용하여 해당 컴포넌트가 액세스할 수
있는 위치로 첨부를 이동하십시오.
중요사항: "SMO의 XML 표시"에 설명된 대로 XSL 변환 중개 기본은
XSLT 1.0 변환을 사용하여 메시지를 변환합니다. 변환은 SMO의
XML 일련화에 대해 작동합니다. XSL 변환 중개 기본을 사용하면 직렬화 루트를 지정하고
XML 문서의 루트 요소를 이 루트에 반영할 수 있습니다.
SOAP 메시지를 첨부 파일과 함께 송신할 때 사용자가 선택한 루트 요소는 첨부 파일이 사용되는 방법을 결정합니다.
- "/body"를 XML 맵의 루트로 사용하는 경우 모든 첨부 파일은 기본적으로 맵에 걸쳐 사용됩니다.
- "/"를 맵의 루트로 사용하는 경우 첨부 파일의 사용을 제어할 수 있습니다.