반응형

asp.net 와 자바등의 이기종간 데이터를 교환하는 방법은
XML에 기반한 soap통신을 통해서 가능하다.
DIME등의 방식이 있지만 개인적으로 테스트에 성공하지 못했고
인터넷에서 DIME보다 MTOM방식을 권장하고 있으므로
MTOM방식으로 구현해 보았다.

1)iis 상에 .net으로 바이너리 데이터를 반환하는 웹서비스를 구축한다.

byte[] response;
response = File.ReadAllBytes(filePath);
return response;

2)솔루션탐색기에서 WSE setting 3.0을 실행한다.

①General 탭
      Enable this project for Web Services Enhancements 체크
      Enable Microsoft Web Services Enhancement Soap Protocol Factory 체크
②Messaging 탭
      Server Mode 선택(optional,always중 택일이지만 always로 선택)
③Policy 탭(※ 세팅하지 않아도 된다.)
      Enable Policy 체크
      Policy 추가한다.(설정법은 각 별개)

3)컴파일 하여 웹(iis)에 게시한다.
--↑여기까지 서버세팅--------------------------------------------------------------------
4)클라이언트 프로그램에 WSE setting 3.0을 실행한다.

①General 탭은 서버와 동일

②Messaging탭
      Client Mode(On)선택
      Server Mode 동작시키지 않음(서버로 활용하지 않을 것이므로)
③Policy 탭
      웹서비스 서버에 Policy가 설정되어 있다면 동일하게 세팅한다.

5)웹서비스를 웹참조 한다.
6)웹서비스로 부터 데이터를 수신&저장을 구현

localhost.BinaryDataMTOMServiceWse response;
response = new localhost.BinaryDataMTOMServiceWse();
byte[] data = response.GetFile(fileName);
File.WriteAllBytes(savePath, data);
※ localhost : 웹참조된 MTOM서비스 명


 

+ Recent posts