13.3. WSDL 확장


13.3.1. 개요

WSDL 확장 요소를 바인딩 범위, 서비스 범위 또는 포트 범위에서 계약에 삽입하여 JMS 전송의 기본 구성을 지정할 수 있습니다. WSDL 확장을 사용하면 JNDI InitialContext 를 부트 스트랩하기 위한 속성을 지정할 수 있으며, 이를 사용하여 JMS 대상을 조회할 수 있습니다. JMS 전송 계층의 동작에 영향을 주는 일부 속성을 설정할 수도 있습니다.

13.3.2. Cryostat/JMS 네임스페이스

Cryostat/JMS WSDL 확장은 http://www.w3.org/2010/soapjms/ 네임스페이스에 정의됩니다. WSDL 계약에서 사용하려면 wsdl:definitions 요소에 다음 설정을 추가합니다.

<wsdl:definitions ...
    xmlns:soapjms="http://www.w3.org/2010/soapjms/"
  ... >

13.3.3. WSDL 확장 요소

표 13.4. “Cryostat/JMS WSDL 확장 요소” JMS 전송을 구성하는 데 사용할 수 있는 모든 WSDL 확장 요소를 표시합니다.

표 13.4. Cryostat/JMS WSDL 확장 요소
element기본설명

soapjms:jndiInitialContextFactory

 

JNDI 공급자의 정규화된 Java 클래스 이름을 지정합니다. java.naming.factory.initial Java 시스템 속성을 설정하는 것과 동일합니다.

soapjms:jndiURL

 

JNDI 공급자를 초기화하는 URL을 지정합니다. java.naming.provider.url Java 시스템 속성을 설정하는 것과 동일합니다.

soapjms:jndiContextParameter

 

JNDI InitialContext 를 생성하기 위한 추가 속성을 지정합니다. namevalue 속성을 사용하여 속성을 지정합니다.

soapjms:jndiConnectionFactoryName

 

JMS 연결 팩토리의 JNDI 이름을 지정합니다.

soapjms:deliveryMode

PERSISTENT

JMS PERSISTENT 또는 NON_PERSISTENT 메시지 의미 체계 사용 여부를 지정합니다. PERSISTENT 전달 모드의 경우 JMS 브로커는 메시지를 승인하기 전에 영구 스토리지에 저장합니다. 반면 NON_PERSISTENT 메시지는 메모리에만 유지됩니다.

soapjms:replyToName

 

[optional] 큐 메시지의 응답 대상을 지정합니다. reply 대상은 JMSReplyTo 헤더에 표시됩니다. 이 속성을 설정하면 JMS 공급자가 지정되지 않은 경우 임시 응답 큐를 할당하므로 요청별 의미 체계가 있는 애플리케이션에 권장됩니다.

이 속성의 값은 JMS URI에 지정된 변형에 따라 해석됩니다.

  • JNDI 변형 - JNDI로 확인되는 대상 큐의 이름입니다.
  • 변형 - JMS를 사용하여 확인된 대상 큐의 이름입니다.

soapjms:priority

4

0(가장 낮음)에서 9(가장 높음)까지의 JMS 메시지 우선 순위를 지정합니다.

soapjms:timeToLive

0

JMS 공급자가 메시지를 삭제할 시간(밀리초)입니다. 값 0은 무한 수명입니다.A value of 0 represents an infinite lifetime.

13.3.4. 구성 범위

WSDL 계약에 배치된 WSDL 요소는 구성 범위가 계약에 정의된 끝점에 변경되는 영향을 미칩니다. Cryostat/JMS WSDL 요소는 wsdl:binding 요소, wsdl:service 요소 또는 wsdl:port 요소의 하위 요소로 배치할 수 있습니다. Cryostat/JMS 요소의 상위는 다음 범위 중 구성에 배치되는 범위를 결정합니다.

바인딩 범위
wsdl: binding 요소 내에 확장 요소를 배치하여 바인딩 범위에서 JMS 전송을 구성할 수 있습니다. 이 범위의 요소는 이 바인딩을 사용하는 모든 끝점에 대한 기본 구성을 정의합니다. 바인딩 범위의 모든 설정은 서비스 범위 또는 포트 범위에서 재정의할 수 있습니다.
서비스 범위
wsdl: service 요소 내에 확장 요소를 배치하여 서비스 범위에서 JMS 전송을 구성할 수 있습니다. 이 범위의 요소는 이 서비스의 모든 끝점에 대한 기본 구성을 정의합니다. 서비스 범위의 모든 설정은 포트 범위에서 재정의할 수 있습니다.
포트 범위
wsdl: port 요소 내에 확장 요소를 배치하여 포트 범위에서 JMS 전송을 구성할 수 있습니다. 포트 범위의 요소는 이 포트에 대한 구성을 정의합니다. 서비스 범위 또는 바인딩 범위에서 정의된 동일한 확장 요소의 기본값을 재정의합니다.

13.3.5. 예

예 13.9. “Cryostat/JMS 구성과의 WSDL 계약” 에는 Cryostat/JMS 서비스에 대한 WSDL 계약이 표시됩니다. 바인딩 범위, 서비스 범위에서 메시지 전달 세부 정보, 포트 범위에서 응답 대상을 구성합니다.

예 13.9. Cryostat/JMS 구성과의 WSDL 계약

<wsdl:definitions ...
    xmlns:soapjms="http://www.w3.org/2010/soapjms/"
  ... >
  ...
  <wsdl:binding name="JMSGreeterPortBinding" type="tns:JMSGreeterPortType">
    ...
    <soapjms:jndiInitialContextFactory>
      org.apache.activemq.jndi.ActiveMQInitialContextFactory
    </soapjms:jndiInitialContextFactory>
    <soapjms:jndiURL>tcp://localhost:61616</soapjms:jndiURL>
    <soapjms:jndiConnectionFactoryName>
      ConnectionFactory
    </soapjms:jndiConnectionFactoryName>
    ...
  </wsdl:binding>
  ...
  <wsdl:service name="JMSGreeterService">
    ...
    <soapjms:deliveryMode>NON_PERSISTENT</soapjms:deliveryMode>
    <soapjms:timeToLive>60000</soapjms:timeToLive>
    ...
    <wsdl:port binding="tns:JMSGreeterPortBinding" name="GreeterPort">
      <soap:address location="jms:jndi:dynamicQueues/test.cxf.jmstransport.queue" />
      <soapjms:replyToName>
        dynamicQueues/greeterReply.queue
      </soapjms:replyToName>
      ...
    </wsdl:port>
    ...
  </wsdl:service>
  ...
</wsdl:definitions>

예 13.9. “Cryostat/JMS 구성과의 WSDL 계약” 의 WSDL은 다음을 수행합니다.

Cryostat/JMS 확장에 대한 네임스페이스를 선언합니다.

바인딩 범위에서 JNDI 연결을 구성합니다.

JMS 전달 스타일을 비영구적으로 설정하고 각 메시지는 1분 동안 활성화되도록 설정합니다.

대상 대상을 지정합니다.

응답 메시지가 >&# erReply.queue 큐에 전달되도록 JMS 전송을 구성합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.