swaref를 사용하여 첨부 찾기
이 태스크를 사용하여 메시지 URI를 검색하고 검색된 값의 시작 위치에서 cid:를 제거하여 메시지 첨부를 찾습니다.
이 태스크 정보
Web Services-Interoperability (WS-I) Attachments Profile Version 1.0 메시지는 첨부 참조(swaref)와 함께 SOAP를 사용하여 첨부를 참조합니다. swaref는 바인드되었거나 바인드되지 않은 첨부를 참조할 수 있습니다. 또한 swaref는 단일 첨부를 여러 번 참조할 수 있습니다. 올바른 첨부를 찾을 수 있도록 서비스 통합 기술은 메시지 본문의 SDO 데이터 그래프 내 메시지에 인코드된 URI의 값을 저장합니다.
데이터 그래프에서 swaref 유형의 요소 또는 속성 값을 저장하는 경우 서비스 통합 기술은 메시지 인스턴스의 전체 URI를 저장합니다. 따라서 URI를 검색할 때 검색된 값의 시작 위치에서 cid:를 제거하여 참조된 첨부의 컨텐츠 ID를 찾습니다.
예
다음 예제는 swaref 요소의 값을 사용하여 올바른 첨부를 찾는 방법을 표시합니다. 이 예제에서는 Web Services-Interoperability (WS-I) Attachments Profile Version 1.0의 4.4절에서 나오는 RPC/Literal WSDL 및 SOAP 메시지를 사용합니다.
DataObject infoNode = graph.getRootObject().getDataObject("info");
String contentId = infoNode.getString("body/ClaimDetail/ClaimForm");
// Cut off the "cid:" part of the string
contentId = contentId.substring(4);
// Locate the value of the attachment
DataObject attachmentEntry =
infoNode.getDataObject("attachments[contentId=" + contentId + "]");
byte[] data = attachmentEntry.getBytes("data");