JMS를 통한 SOAP을 사용하여 웹 서비스에 대한 영구 응답 큐 구성

산업 표준 JMS를 통한 SOAP 프로토콜을 사용하는 양방향 서비스 통신을 사용하는 경우 JAX-WS(Java™ API for XML Web Service) 또는 JAX-RPC(Java API for XML-based RPC) 웹 서비스 클라이언트에서 영구 응답 큐를 구성하면 이점을 얻을 수 있습니다. 영구 응답 큐를 사용하면 웹 서비스 요청이 호출될 때마다 클라이언트가 임시 응답 큐를 작성하지 않아도 되기 때문에 성능을 개선할 수 향상시킬 수 있습니다.

이 태스크 정보

영구 응답 큐는 다음 방법 중 하나로 웹 서비스 클라이언트에서 구성됩니다.
  • JMS 엔드포인트 URL에서 선택적 replyToName 특성을 지정하십시오.
  • 응답 큐를 프로그래밍 방식으로 설정하십시오.
    • JAX-WS 웹 서비스 클라이언트의 경우 클라이언트 RequestContext 오브젝트에서 응답 큐의 JNDI 이름을 프로그래밍 방식으로 설정하십시오. RequestContext 오브젝트에서 응답 큐 JNDI 이름을 설정하면 해당 RequestContext 오브젝트를 사용하여 호출되는 모든 후속 요청에 영향을 미칩니다.
    • JAX-RPC 웹 서비스 클라이언트의 경우 스텁 또는 호출 오브젝트에서 응답 큐의 JNDI 이름을 프로그래밍 방식으로 설정하십시오. 스텁 또는 호출 특성으로 응답 큐 JNDI 이름을 설정하면 해당 스텁 또는 호출 오브젝트를 사용하여 호출되는 모든 후속 요청에 영향을 미칩니다.
  • 응답 큐를 JVM(Java Virtual Machine) 시스템 특성으로 설정하십시오. 응답 큐를 JVM 시스템 특성으로 설정하면 특정 JVM에서 실행되고 있는 모든 웹 서비스 클라이언트에 영향을 미칩니다. 다른 응답 큐를 사용해야 하는 여러 클라이언트가 같은 JVM에서 실행되고 있는 경우 이 옵션은 작동하지 않습니다. 대신 다른 두 옵션 중 하나를 사용하십시오.

이러한 옵션 중 하나를 사용하여 영구 응답 큐를 설정하려면 클라이언트 측 구성만 필요합니다. 웹 서비스 제공자에 대해 필요한 구성은 없습니다.

웹 서비스 클라이언트에서 응답 큐를 구성하기 전에 JMS 메시징 제공자의 일반 관리 기능을 사용하여 영구 응답 큐를 작성하십시오.

프로시저

다음 방법 중 하나를 사용하여 영구 응답 큐의 JNDI 이름을 구성하십시오.
  • JMS 엔드포인트 URL에서 선택적 replyToName 특성을 지정하십시오. 예를 들면, 다음과 같습니다.
    jms:jndi:jms/MyRequestQueue&jndiConnectionFactoryName=jms/MyCF&replyToName=jms/MyReplyQueue
  • 클라이언트에서 응답 큐를 프로그래밍 방식으로 설정하십시오.
    이 특성의 값은 String이고 응답 큐의 JNDI 이름을 나타냅니다.
    • JAX-WS 웹 서비스 클라이언트의 경우 클라이언트 JAX-WS RequestContext 오브젝트에서 com.ibm.wsspi.webservices.Constants.JMS_REPLY_QUEUE_JNDI_NAME 특성을 설정하십시오. 예를 들면, 다음과 같습니다.
      ((BindingProvider) port).getRequestContext().put
      (com.ibm.wsspi.webservices.Constants.JMS_REPLY_QUEUE_JNDI_NAME, "jms/MyReplyQueue");
    • JAX-RPC 웹 서비스 클라이언트의 경우 클라이언트 JAX-RPC 스텁 또는 호출 오브젝트에서 com.ibm.wsspi.webservices.Constants.JMS_REPLY_QUEUE_JNDI_NAME 특성을 설정하십시오. 예를 들면, 다음과 같습니다.
      ((javax.xml.rpc.Stub) stub)._setProperty(com.ibm.wsspi.webservices.Constants.JMS_REPLY_QUEUE_JNDI_NAME, 
      "jms/MyReplyQueue"); 
  • 응답 큐의 JNDI 이름을 JVM 시스템 특성으로 설정하십시오.
    • Java 클라이언트 호출의 경우 명령 프롬프트에 다음 코드를 입력하십시오.
      java -Dcom.ibm.websphere.webservices.JMSReplyQueueJndiName=jms/MyReplyQueue
    • 애플리케이션에서 실행되고 있는 JVM의 경우 다음 조치를 수행하십시오.
      • 웹 서비스 클라이언트 애플리케이션을 실행하는 애플리케이션 서버에 대해 관리 콘솔을 사용하여 JVM 시스템 특성을 설정하십시오.

        사용자 정의 특성을 설정하려면 관리 콘솔에 로그온하여 JVM(Java Virtual Machine) 사용자 정의 특성 패널로 이동하십시오.

        1. 서버 > 서버 유형 > WebSphere Application Server > server_name> Java 및 프로세스 관리 > 프로세스 정의 > JVM(Java Virtual Machine) > 사용자 정의 특성> 새로 작성을 클릭하십시오.
        2. Name 특성을 com.ibm.websphere.webservices.JMSReplyQueueJndiName으로 설정하십시오.
        3. Value 특성을 jms/Permanent_Q로 설정하십시오.
        4. 확인을 클릭하여 변경사항을 저장하십시오.
        5. 변경사항을 노드와 동기화를 클릭하고 저장을 클릭하십시오.
        6. Application Server를 다시 시작하십시오.

결과

이제 웹 서비스 클라이언트가 영구 응답 큐로부터 JMS를 통한 SOAP 메시지를 수신할 수 있습니다.


주제 유형을 표시하는 아이콘 태스크 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_jmspermreplystd
파일 이름:twbs_jmspermreplystd.html