createWSNService 명령
createWSNService 명령을 사용하여 WS-Notification 구성의 인프라에서 형성하는 새 WS-Notification 서비스 및 연관된 오브젝트를 작성할 수 있습니다.
이 주제에 설명된 대로 wsadmin 도구를 사용하거나 새 버전 6.1 WS-Notification 서비스 작성 및 새 버전 7.0 WS-Notification 서비스 작성에 설명된 대로 관리 콘솔을 사용하여 새 WS-Notification 서비스를 작성할 수 있습니다.
버전 6.1 WS-Notification 서비스를 작성하는 경우, 먼저 SDO 저장소 설치 및 구성에 설명된 대로 SDO 저장소를 구성했는지 확인해야 합니다. SDO 저장소는 버전 6.1 WS-Notification 서비스를 작성하는 동안 WSDL 문서를 저장하는 데 사용됩니다. 저장소를 구성하지 않으면, 서비스 작성 시 오류 메시지가 표시됩니다.
명령을 실행하려면 wsadmin 스크립트 클라이언트의 AdminTask 오브젝트를 사용하십시오.
wsadmin 스크립트 클라이언트는 Qshell에서
실행됩니다. .
자세한 정보는 wsadmin 스크립트를 사용하여 WebSphere 스크립트를 실행하도록 Qshell 구성의 내용을 참조하십시오..
서비스 통합 버스에 대해 명령행 도움말이 제공됩니다.
- 사용 가능한 WS-Notification 명령 목록 및 각 명령에 대한 간단한
설명을 보려면 wsadmin 프롬프트에 다음 명령을
입력하십시오.
print AdminTask.help('WSNotificationCommands')
- 제공된 명령에 대한 개요 도움말을 보려면 다음 명령을 wsadmin 프롬프트에 입력하십시오.
print AdminTask.help('command_name')
AdminConfig.save()
목적
이 명령은 서비스 통합 버스에서 새 WS-Notification 서비스를 작성합니다. 버전 6.1 WS-Notification 서비스를 작성하는 경우, 명령은 브로커의 세 가지 역할을 표시하는 세 가지 서비스 통합 버스 인바운드 서비스를 작성하며, 이러한 오브젝트와 새 WS-Notification 서비스 사이의 연관도 작성합니다.
대상 오브젝트
기존 서비스 통합 버스(조건부 - bus 매개변수가 제공되지 않을 경우 제공되어야 함).
필수 매개변수
- -name
- 새 WS-Notification 서비스에 제공될 이름입니다.이름은 서비스가 표시되는 엔드포인트 파트를 양식화합니다(즉, 서비스에 정의된 WS-Notification 서비스 위치 액세스에 사용되는 URL).
- 버전 6.1 WS-Notification 서비스에 대해 서비스 이름은 버스 내에서 고유해야 합니다. 버전 7,0 WS-Notification 서비스에 대해 서비스 이름은 셀 내에서 고유하며 정책 세트에 사용되는 관리 모델과 일치하고 따라서 WS-ReliableMessaging을 사용하는 버전 7.0 WS-Notification 서비스 작성을 지원합니다.
조건부 매개변수
- -bus
- WS-Notification 서비스를 호스트하는 서비스 통합 버스의 이름. 이는 기존 버스이거나 명령으로 작성하려는 새 버스의 이름일 수 있습니다. 대상 오브젝트가 제공되지 않은 경우 이 매개변수만 지정해야 합니다.
선택적 매개변수
- -type
- 작성되는 WS-Notification 서비스의 유형. 허용된 값은 V7.0 및 V6.1(기본값)입니다.
- 버전 7.0: 웹 서비스 서비스 품질(QoS)이 포함된 JAX-WS WS-Notification 서비스를 정책 세트를 통해 작성하거나 JAX-WS 핸들러를 WS-Notification 서비스에 적용하려는 경우에 이 유형의 서비스를 사용하십시오. 이는 새 배치에 추천되는 서비스 유형입니다. 이 WS-Notification 옵션은 버전 7.0의 WebSphere Application Server에서 사용할 수 있습니다.
- 버전 6.1: WebSphere Application Server 버전 6.1에서 제공되는 동일한 기능(JAX-RPC 핸들러를 서비스에 적용하는 기술 포함)을 사용하는 JAX-RPC WS-Notification 서비스를 표시하려는 경우 이 서비스 유형을 사용하십시오. 이 WS-Notification 옵션은 버전 6.1의 WebSphere Application Server에서 사용할 수 있습니다.
- 서비스 유형이 버전 6.1인 경우에는 다음 선택적 매개변수만 지정하십시오.
- -jaxrpcHandlerList
- -outboundSecurityConfigName
- -outboundSecurityRequestBindingName
- -outboundSecurityResponseBindingName
참고: 버전 7.0 WS-Notification 서비스의 경우, 버전 6.1 아웃바운드 보안 속성과 동등한 기능이 정책 세트 구성을 통해 제공됩니다.서비스 유형이 버전 7.0인 경우에는 다음 선택적 매개변수만 지정하십시오.- -jaxwsHandlerListName
- -queryWSDL
- -description
- -permitsDynamicTopicNamespace
즉, 이 서비스를 사용하여 동적 토픽 네임스페이스가 런타임에서 작성되는지 여부입니다. 자세한 정보는 동적 토픽 네임스페이스를 참조하십시오. 허용된 값은 TRUE(기본값)와 FALSE입니다.
특정 WS-Notification 서비스에 연결할 때 사용되는(예를 들어, 보안 또는 감사 요구사항의 경우) 토픽 네임스페이스를 엄격하게 제어하려면 이 옵션을 사용하십시오. 이 옵션을 선택 취소하면 WS-Notification 서비스에 연결하고 동적 토픽 네임스페이스의 토픽을 요청하는 애플리케이션이 메시지를 공개하거나 수신하지 못합니다.
동적 토픽 네임스페이스에 공개된 모든 메시지는 기본 메시지 신뢰성 설정(reliable persistent)으로 삽입됩니다. 이 값을 허용할 수 없으면 영구 토픽 네임스페이스를 작성하고 속성을 적절한 값으로 구성하십시오.
참고: 특정 WS-Notification 서비스에서 사용되는 동적 토픽 네임스페이스는 토픽 네임스페이스를 작성할 때 자동으로 작성되는 서비스 통합 버스 토픽 공간으로 백업됩니다. 이 토픽 공간 내에서 사용되는 토픽의 구문은 WS-Notification 서비스 구현에 대해 내부입니다.- -dynamicTopicSpace
- 이는 임시 네임스페이스를 호스트하고 동적 토픽 네임스페이스가 허용되는 경우 이를 호스트하는 데 사용되는 버스 토픽 공간 이름입니다. 지정되지 않으면 이 값의 기본값은 WSN_dynamic_this_service_name입니다.
- -requiresRegistration
- 부울 플래그 허용된 값은 TRUE와 FALSE(기본값)입니다.
- -jaxwsHandlerListName
- 핸들러 목록은 아웃바운드 웹 서비스 호출을 작성하는 경우에(예를 들어, 아웃바운드 이벤트 알림 모니터링(등록 조작에 대한 응답) 및 요구 기반 공개자 제어(등록, 일시정지, 재개)) 적용되는 핸들러를 정의합니다. 핸들러 목록에 대한 자세한 정보는 JAX-WS 핸들러 구성의 내용을 참조하십시오.
- 버전 7.0 WS-Notification 서비스에 대한 매개변수만 지정하십시오.
- -jaxrpcHandlerListName
- 핸들러 목록에 대한 자세한 정보는 JAX-RPC 핸들러 및 클라이언트에 대한 작업의 내용을 참조하십시오.
- 버전 6.1 WS-Notification 서비스에 대한 매개변수만 지정하십시오.
- -outboundSecurityRequestBindingName
- 버전 6.1 WS-Notification 서비스에 대한 매개변수만 지정하십시오.
- -outboundSecurityResponseBindingName
- 버전 6.1 WS-Notification 서비스에 대한 매개변수만 지정하십시오.
- -outboundSecurityConfigName
- 버전 6.1 WS-Notification 서비스에 대한 매개변수만 지정하십시오.
- -queryWSDL
- 부울 플래그 버전 7.0 WS-Notification 서비스가 다른 WS-Notification 웹 서비스의 WSDL과 상호 작용할 때 이를 조회하는지 표시합니다. 허용된 값은 TRUE(기본값) 및 FALSE입니다.
- 이 매개변수를 FALSE로 설정하면, 고비용의 WSDL 조회가 사용되지 않으므로 성능을 향상시킬 수 있습니다. 그렇지만 WSDL 조회가 사용되지 않은 경우 다음과 같은 고려사항도 참고해야 합니다.
- WS-Notification은 다른 방법을 사용하여 바인딩 정보(이는 일반적으로 WSDL을 통해 검색) 검색을 시도합니다. WS-Notification은 등록이 작성되거나(다른 웹 서비스로) 관리 등록이 작성되는(관리자로) WS-Notification 서비스 위치와 연관된 SOAP 버전을 사용합니다.
- WS-Notification이 바인딩 정보를 판별할 수 없는 경우가 있습니다. 연관된 서비스 위치가 삭제되고 구성 정보가 더 이상 사용 가능하지 않은 경우에 등록을 정리할 때 발생할 수 있습니다. 이런 상황에서 WS-Notification은 등록 정리를 사용하기 위해 바인딩 정보에서 "가장 적절한 추측"을 합니다.
- 올바르지 않은 바인딩 정보가 사용되는 하나의 시나리오가 있습니다. 이는 등록자가 다른 SOAP 바인딩을 통한 알림을 예상하는 NotificationConsumer 대신 특정 SOAP 바인딩을 사용하는 경우입니다.
- 버전 7.0 WS-Notification 서비스에 대한 매개변수만 지정하십시오.
예
newService = AdminTask.createWSNService(["-bus", "bus1", "-name",
"NewWSNService", "-type", "V6.1"] )
newService = AdminTask.createWSNService(["-bus", "bus1", "-name",
"NewWSNService", "-type", "V7.0"] )
newService = AdminTask.createWSNService(["-bus", "bus1", "-name",
"NewWSNService", "-type", "V7.0", "-jaxwsHandlerListName", "myHandlerList"] )
newService = AdminTask.createWSNService(["-bus", "bus1", "-name",
"NewWSNService", "-type", "V7.0", "-queryWSDL", "false"] )
- Jython 사용:
propName = ["name", "com.ibm.ws.sib.wsn.strictTopicChecking"] propValue = ["value", "TRUE"] propAttrs = [propName, propValue] AdminConfig.create("Property", newService, propAttrs)
- Jacl 사용:
set propName [list name "com.ibm.ws.sib.wsn.strictTopicChecking"] set propValue [list value "TRUE"] set propAttrs [list $propName $propValue] $AdminConfig create Property $newService $propAttrs