문제

현재 고객에 대한 데이터를 뒤쪽 및 포워드에 전송하는 비즈니스 앱 용 문자 문자 그럴 비누 서비스를 수정하고 있습니다.

스캔 한 문서 이미지를 전송하기위한 새로운 요구 사항이 방금 확인되었습니다. 내가 가진 문제는 내가 사용하는 독점 언어가 비누 첨부 파일을 지원하지 않는다는 것입니다.

전송되는 이미지는 최대 32KB 일 수 있습니다.

내가 생각할 수있는 유일한 해결책은 Base64가 이미지를 인코딩하여 XML 문서의 요소로 전달하는 것입니다.

이것은 정말 나쁜 생각처럼 느껴지지만 더 나은 것을 생각할 수는 없습니다.

어떤 아이디어?

편집 : 이미지가 파일 시스템에서 원격으로 유지되지 않는다고 언급하는 것을 잊어 버렸습니다. 직접 연결할 수없는 Oracle 데이터베이스에 저장되어 있습니다.

도움이 되었습니까?

해결책

XML을 데이터 전송 메커니즘으로 사용하는 경우 이미지를 어떤 식 으로든 인코딩해야합니다. 그 이유는 XML이 텍스트 형식이고 XML 프로세서는 텍스트처럼 바이너리 데이터를 디코딩하려고합니다 (보다 구체적으로는 다른 인코딩을 지정하지 않는 한 UTF-8 인 것처럼). 또한 XML은 여러 문자 (XML 1.0에 대한 대부분의 ASCII 비 인쇄물, XML 1.1의 경우 u0000)를 명시 적으로 비활성화하므로 이미지 데이터를 CDATA 섹션으로 덤프하면 데이터가 손상 될 수 있습니다.

편집 : XML 스키마는 a를 정의합니다 "Base64Binary" 유형이 있으므로 WSDL을 적절하게 정의 할 수 있어야합니다 (자동 마샬러를 사용하고 있다고 가정). 적어도, 당신은 an을 사용해야합니다 "XSI : 타입" 인코딩 된 컨텐츠가 포함 된 요소의 속성.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top