createWSGWProxyService 명령
createWSGWProxyService 명령을 사용하여 서비스의 프록시로 작동하도록 설정한 다음, JAX-RPC 핸들러를 사용하여 서비스의 수신 요청 메시지에 대한 엔드포인트를 설정할 수 있습니다.
이 주제에 설명된 대로 wsadmin 도구를 사용하거나 새 프록시 서비스 구성 작성에 설명된 대로 관리 콘솔을 사용하여 새 프록시 서비스 구성을 작성할 수 있습니다.
명령을 실행하려면 wsadmin 스크립트 클라이언트의 AdminTask 오브젝트를 사용하십시오.
wsadmin 스크립트 클라이언트는 Qshell에서
실행됩니다. .
자세한 정보는 wsadmin 스크립트를 사용하여 WebSphere 스크립트를 실행하도록 Qshell 구성의 내용을 참조하십시오..
- 사용 가능한 게이트웨이 명령 목록 및 각 명령에 대한 간단한 설명을
보려면 wsadmin 프롬프트에 다음 명령을 입력하십시오.
print AdminTask.help('WSGateway')
- 제공된 명령에 대한 개요 도움말을 보려면 다음 명령을 wsadmin 프롬프트에 입력하십시오.
print AdminTask.help('command_name')
AdminConfig.save()
목적
이 명령은 연관된 InboundService 오브젝트를 갖는 새 ProxyService 오브젝트 및 연관된 OutboundService 오브젝트를 갖는 TargetService 오브젝트를 작성합니다.
그런 다음 서비스 통합 버스 지원 웹 서비스 명령을 사용하여 InboundService 오브젝트와 연관된 모든 InboundPort 오브젝트를 추가합니다. 자세한 정보는 이 주제의 끝에 있는 작업 예를 참조하십시오.
대상 오브젝트
프록시 서비스가 작성되는 게이트웨이 인스턴스의 ObjectName
명령은 프록시 요청 대상 및 해당 응답 대상을 작성합니다. 프록시 요청 대상은 응답 경로를 업데이트하여 프록시 응답 대상을 추가하도록 구성됩니다. 지정된 이름이나 기본 이름을 갖는 대상이 이미 존재하는 경우 명령이 실패합니다.
동일한 이름을 갖는 게이트웨이 서비스 또는 프록시 서비스가 이미 존재하면 명령은 실패합니다.
프록시 요청 대상의 이름을 지정하는 경우 프록시 서비스 대상과 포트 대상이 프록시 요청 대상 이름에서 파생되는 이름을 갖고 작성됩니다. 그렇지 않으면 프록시 서비스 대상과 포트 대상이 프록시 서비스 이름에서 파생된 이름을 갖고 작성됩니다. 프록시 서비스 대상 이름은 프록시 요청 대상이나 프록시 서비스 이름에 "ProxyService"를 추가하여 작성됩니다. 각 프록시 포트 대상은 프록시 서비스 대상 뒤에 이름 지정되고, 그 뒤에 콜론(":"), 포트 이름, "Port"가 차례로 뒤따릅니다. 이들 이름 중 하나를 갖는 대상이 이미 존재하면 명령은 실패합니다.
노드 및 서버를 지정하거나 클러스터를 지정하십시오. 지정된 노드 및 서버 또는 클러스터에 대해 정의된 메시징 엔진이 없는 경우 명령은 실패합니다.
명령은 프록시 서비스와 동일한 이름을 갖는 OutboundService 오브젝트를 작성합니다. 이 새 아웃바운드 서비스는 작성된 대상, 제공되는 로컬화 및 게이트웨이 인스턴스에 대한 기본 프록시 WSDL 위치 또는 프록시 WSDL 파일(지정되는 경우)의 위치 중 하나를 사용합니다. 새 아웃바운드 서비스는 ProxyService 오브젝트와 연관됩니다.
프록시 WSDL은 단일 서비스 요소만을 가져야 합니다. 단일 서비스 요소 안에 복수 포트가 있는 경우 아웃바운드 포트 오브젝트가 각 포트에 대해 작성됩니다.
프록시 WSDL은 절대로 UDDI로부터 오지 않으므로, 기본 및 대체된 프록시 WSDL 위치에 대해 단 하나의 웹 주소가 허용됩니다.
이 명령은 프록시 대상을 사용하여 프록시 서비스와 동일한 이름을 갖는 InboundService 오브젝트를 작성하고 기본 또는 지정된 프록시 WSDL 위치를 템플리트 WSDL 위치로 사용합니다.
필수 매개변수
- -name
- 프록시 서비스 이름
조건부 매개변수
- -node
- 대상이 로컬화되는 노드
- -server
- 대상이 로컬화되는 서버
- -cluster
- 대상이 로컬화되는 클러스터
선택적 매개변수
- -requestDestination
- 프록시 요청 대상의 이름
- -replyDestination
- 프록시 응답 대상의 이름
- -wsdlLocation
- 프록시 WSDL 파일의 위치입니다. 이는 웹 주소입니다.
예제
- 프록시 서비스를 작성합니다. 여기서 wsgw는 게이트웨이
인스턴스입니다.
- Jython 사용:
proxyService = AdminTask.createWSGWProxyService(wsgw, ["-name", "MyProxyService", "-node", "MyNode", "-server", "server1"])
- Jacl 사용:
set proxyService [$AdminTask createWSGWProxyService $wsgw {-name "ProxyService" -node "MyNode" -server "server1"}]
- Jython 사용:
- 게이트웨이 서비스에 대한 인바운드 서비스를 가져옵니다. 여기서 busName은
서비스 통합 버스의 이름입니다.
- Jython 사용:
inServiceName = AdminConfig.showAttribute(proxyService, "inboundServiceName")
inService = AdminConfig.getid("/ SIBus:"+busName+"/SIBWSInboundService:"+inServiceName+"/")
- Jacl 사용:
set inServiceName [$AdminConfig showAttribute $proxyService "inboundServiceName"]
set inService [$AdminConfig getid /SIBus:$busName/SIBWSInboundService:$inServiceName/]
- Jython 사용:
- HTTP에 대한 SOAP 포트를 추가합니다. 여기서 HTTP에 대한 SOAP 1 엔드포인트 리스너가 이미
구성되어 있습니다.
- Jython 사용:
inPort = AdminTask.addSIBWSInboundPort(inPort, ["-name", "SOAPHTTPPort", "-endpointListener", "soaphttp1", "-node", "MyNode", "-server", "server1"])
- Jacl 사용:
set inPort [$AdminTask addSIBWSInboundPort $inPort {-name "SOAPHTTPPort" -endpointListener "soaphttp1" -node "MyNode" -server "server1"}]
- Jython 사용:
- 인바운드 및 아웃바운드 서비스 및 포트의 구성을 완료합니다. 예를 들어, JAX-RPC 핸들러 또는 WS-Security를 적용하십시오.
- HTTP 조작에 대해 프록시 서비스의 웹 주소가 다음과 같은 경우
요청 클라이언트는 다음 URL을 사용하여 단방향 요청을 전송 중임을 표시합니다.http://host_name:port_number/wsgwsoaphttp1/soaphttpengine /your_bus/ProxyService/ProxyServiceInboundPort
http://host_name:port_number/wsgwsoaphttp1/soaphttpengine /your_bus/ProxyService/ProxyServiceInboundPort?operationMode=oneway
- JMS 조작의 경우, 프록시 서비스의 JMS 주소가 다음인 경우
요청 클라이언트는 다음 URL을 사용하여 단방향 요청을 전송 중임을 표시합니다.jms:/queue?destination=jndi_queue&connectionFactory= jndi_factory&targetService=your_bus/ProxyService/ProxyServiceInboundPort
jms:/queue?destination=jndi_queue&connectionFactory= jndi_factory&targetService= your_bus/ProxyService/ProxyServiceInboundPort&operationMode=oneway