JAX-WS 웹 서비스 |
|
|
![]() |
|
실행 | 구성 | Technotes | Javadoc | Ant로 빌드 |
시작하기 |
소스 코드 찾기 |
코딩 참고사항 검토 |
이 샘플은 JAX-WS 웹 서비스를 사용하여 2진 파일을 전송하는 SOAP MTOM(Message Transmission Optimization Mechanism)의 사용에 대해 설명합니다.
MTOM 서비스 샘플은 파일의 2진 컨텐츠를 클라이언트에 리턴하는 웹 서비스를 구현합니다. 샘플에는 Servlet 클라이언트 org.apache.axis2.jaxws.sample.servlet.SampleServlet 및 MTOM 서비스 Thin 클라이언트 응용프로그램 org.apache.axis2.jaxws.sample.mtom.SampleMTOMTests가 포함됩니다. 서비스 클라이언트 Servlet과 Thin 클라이언트 응용프로그램은 SampleMTOMTests.java 소스 파일에 있는 디스패치 및 프록시 기반 클라이언트를 사용하여 서비스에 대해 작업하는 공통 코드를 사용합니다.
주석이 달린 MTOM 서비스 샘플 클라이언트 Servlet 및 Thin 클라이언트 응용프로그램의 Java 코드는 profile_root/samples/src/JaxWSServicesSamples/SampleMTOMClient/src 디렉토리에 있습니다.
MTOM 서비스 응용프로그램의 Java 코드는 profile_root/samples/src/JaxWSServicesSamples/SampleMTOMService/src 디렉토리에 있습니다.
z/OS 운영 체제: 샘플 응용프로그램이 z/OS 운영 체제에서 빌드되지 않으므로 이러한 JAX-WS 샘플에 대한 소스 코드 트리는 z/OS 운영 체제에 제공되지 않습니다.
MTOM 서비스 샘플은 서비스를 정의하는 두 개의 WSDL(Web Services Description Language) 파일에서 Rational Application Developer 도구를 사용하여 생성되었습니다. 제공된 서비스 엔드포인트 중 하나는 SOAP 1.1을 사용하고 다른 하나는 SOAP 1.2를 사용합니다. 서버는 컨텐츠 유형에 따라 수신 MTOM 최적화 메시지를 자동으로 식별하고 그에 따라 메시지를 역직렬화합니다. 따라서 MTOM 서비스 샘플에는 서비스에서 MTOM을 처리하기 위한 명시적 코드가 없습니다.
그러나 클라이언트 측에서는 서비스 트랜잭션 전에 MTOM을 사용 가능으로 설정해야 합니다. MTOM 서비스 Thin 클라이언트 응용프로그램인 org.apache.axis2.jaxws.sample.mtom.SampleMTOMTests.java 내의 testMtomWithDispatch 및 testMtomWithProxy 메소드 둘 다에서 바인딩 시 setMTOMEnabled 메소드를 호출합니다. 이 메소드가 호출된 후 송신 메시지는 직렬화되어 MTOM 최적화 메시지로 전송됩니다. setMTOMEnabled 메소드가 바인딩 시 설정되지 않으면 2진 컨텐츠 노드의 모든 2진 데이터는 Base64 인코드 문자열로 직렬화됩니다.
클라이언트 Servlet인 org.apache.axis2.jaxws.sample.servlet.SampleServlet.java에는 서비스 특정 코드가 없으며 이 Servlet은 SampleMTOMTests.java 파일에 제공된 메소드를 호출합니다.
이 샘플에 제공된 클라이언트는 디스패치 및 프록시 프로그래밍 모델을 둘 다 사용하여 MTOM 서비스를 호출합니다. 클라이언트는 디스패치 및 프록시 메소드 둘 다에 액세스하는 방법에 대해 설명합니다.
JAX-WS 웹 서비스에 대해 MTOM 사용 가능에 대한 자세한 정보는 WebSphere Application Server Information Center 라이브러리를 참조하십시오.