enableTransactionalOneWay 특성을 사용하여
산업 표준 JMS를 통한 SOAP 전송을 사용하는 단방향 및 양방향 비동기 웹 서비스 요청이
대상 큐 또는 주제에 트랜잭션 방식으로 전송되도록 할 수 있습니다.
이 태스크 정보
JAX-WS(Java™ API
for XML Web Services) 또는 JAX-RPC(Java API
for XML-based RPC) 웹 서비스 요청에 JMS를 사용하는 경우 기본 동작은
SOAP 메시지가 대상 큐 또는 주제에 비트랜잭션 방식으로 추가되거나 클라이언트 애플리케이션의 트랜잭션 외부에 추가되는 것입니다.
SOAP 메시지를 대상 큐 또는 주제에 추가하는 것은 양방향 동기 웹 서비스 요청에서 발생할 수 있는 동기화 문제점을 피하기 위해
트랜잭션 외부에서 수행됩니다. 그러나 트랜잭션의 일부로 단방향 및 양방향 요청이 처리될 수 있게 하도록
선택할 수 있습니다. enableTransactionalOneWay 특성을 사용하여
JMS 전송을 사용하는 단방향 및 양방향 비동기 웹 서비스 요청이
대상 큐 또는 주제에 트랜잭션 방식으로 전송되도록 할 수 있습니다. 클라이언트 애플리케이션이 웹 서비스 요청을 호출하면
결과 SOAP 요청 메시지가 클라이언트 애플리케이션 트랜잭션의 일부로 대상 큐 또는 주제에 추가됩니다.
다음 방법 중 하나를 사용하여 enableTransactionalOneWay 특성을 사용으로 설정하십시오.
프로시저
- enableTransactionalOneWay 특성을 프로그래밍 방식으로 설정하십시오. 이 특성의 값은 Boolean입니다.
- JAX-WS 클라이언트의 경우 클라이언트 JAX-WS RequestContext 오브젝트에서 이 특성을 설정하십시오.
예를 들어, 다음과 같습니다.
((BindingProvider) port).getRequestContext().put
(com.ibm.websphere.webservices.Constants.ENABLE_TRAN_ONEWAY,
new Boolean(true));
- JAX-RPC 클라이언트의 경우 클라이언트 JAX-RPC
스텁 또는 호출 오브젝트에서 이 특성을 설정하십시오. 예를 들어, 다음과 같습니다.
stub._setProperty(com.ibm.websphere.webservices.Constants.ENABLE_TRAN_ONEWAY,
new Boolean(true));
- JAX-RPC 클라이언트의 경우 wsadmin 명령을 사용하여 ibm-webservicesclient-bnd.xmi 배치 디스크립터 파일에서 enableTransactionalOneWay 특성을 사용자 정의 특성으로 설정하십시오.
wsadmin 도구 옵션에 대한 자세한 정보는 AdminApp object install, installInteractive, edit,
editInteractive, update 및 updateInteractive 명령에 대한 옵션 정보를 참조하십시오.
$AdminApp 오브젝트를 -WebServicesClientCustomProperty 옵션과 함께 사용하여
클라이언트 바인딩 파일인 ibm-webservicesclient-bnd.xmi 내 특성 값을 설정하십시오.
사용자 정의 특성 enableTransactionalOneWay의 값은 true 또는 false입니다.
- Jacl 사용:
$AdminApp edit MyApplication {-WebServicesClientCustomProperty
{{MyEJBJar.jar MyEJB service/MyServiceRef MyPort enableTransactionalOneWay
true}}}
- Jython 사용:
AdminApp.edit('MyApplication', ['-WebServicesClientCustomProperty',
[['MyEJBJar.jar', 'MyEJB', 'service/MyServiceRef ', 'MyPort', 'enableTransactionalOneWay',
'true']]])
결과
JMS 전송을 사용할 때 단방향 및 양방향 비동기 요청을 트랜잭션 방식으로 호출하도록 구성되는 웹 서비스 클라이언트 애플리케이션이 있습니다.
다음에 수행할 작업
enableTransactionalOneWay 특성을 사용으로 설정한 후에는 클라이언트 애플리케이션을 실행하십시오.