createWSGWGatewayService 명령
createWSGWGatewayService 명령을 사용하여 새 게이트웨이 서비스 구성을 작성할 수 있습니다.
이 주제에 설명된 대로 wsadmin 도구를 사용하거나 새 게이트웨이 서비스 구성 작성에 설명된 대로 관리 콘솔을 사용하여 새 게이트웨이 서비스 구성을 작성할 수 있습니다.
명령을 실행하려면 wsadmin 스크립트 클라이언트의 AdminTask 오브젝트를 사용하십시오.
wsadmin 스크립트 클라이언트는 Qshell에서
실행됩니다. .
자세한 정보는 wsadmin 스크립트를 사용하여 WebSphere 스크립트를 실행하도록 Qshell 구성의 내용을 참조하십시오..
- 사용 가능한 게이트웨이 명령 목록 및 각 명령에 대한 간단한 설명을
보려면 wsadmin 프롬프트에 다음 명령을 입력하십시오.
print AdminTask.help('WSGateway')
- 제공된 명령에 대한 개요 도움말을 보려면 다음 명령을 wsadmin 프롬프트에 입력하십시오.
print AdminTask.help('command_name')
AdminConfig.save()
이 명령을 사용하기 전에 서비스 통합 버스 지원 웹 서비스 명령을 사용하여 새 아웃바운드 서비스를 작성하고 아웃바운드 포트를 추가할 수 있습니다. 자세한 정보는 이 주제의 끝에 있는 작업 예를 참조하십시오.
목적
이 명령은 연관된 InboundService 및 TargetService 오브젝트를 갖는 새 GatewayService를 작성합니다.
대상 오브젝트
게이트웨이 서비스가 작성되는 게이트웨이 인스턴스의 ObjectName
명령은 게이트웨이 요청 대상 및 해당 응답 대상을 작성합니다. 게이트웨이 요청 대상은 응답 경로를 업데이트하여 응답 대상을 추가하도록 구성됩니다. 지정된 이름이나 기본 이름을 갖는 대상이 이미 존재하는 경우 명령이 실패합니다.
동일한 이름을 갖는 게이트웨이 서비스 또는 프록시 서비스가 이미 존재하면 명령은 실패합니다.
명령은 항상 게이트웨이 서비스와 동일한 이름을 갖는 InboundService 오브젝트를 작성합니다. 해당 이름을 갖는 인바운드 서비스가 이미 존재하는 경우 명령은 실패합니다.
OutboundService 오브젝트에 있거나 명령에 지정된 WSDL 위치가 인바운드 서비스에 대한 템플리트 WSDL 위치로 사용됩니다. WSDL이 프록시를 통해 검색되어야 하는 경우 명령이 실행 중인 서버에 올바르게 설정된 프록시 서버를 식별하는 시스템 특성이 있어야 합니다. 프록시가 인증을 요구하는 경우 명령에 사용자 ID와 비밀번호를 매개변수로 설정할 수 있습니다.
이 명령으로 작성되는 TargetService 오브젝트가 게이트웨이 서비스에 대한 기본값으로 설정되고 게이트웨이 대상의 기본 전달 라우팅 경로가 대상의 위치로 설정됩니다. 게이트웨이 대상 com.ibm.websphere.wsgw.targets 특성은 대상 또는 아웃바운드 서비스와 연관된 대상을 포함하도록 설정됩니다. 게이트웨이 대상의 com.ibm.websphere.wsgw.gatewayService 및 com.ibm.websphere.wsgw.gatewayInstance 특성은 적절히 설정됩니다.
필수 매개변수
- -name
- 게이트웨이 서비스 이름
조건부 매개변수
- -wsdlLocation
- 템플리트 WSDL 파일의 위치입니다.
이는 웹 주소 또는 UDDI 서비스 키의 서비스 특정 파트입니다. UDDI 참조를 지정하는 경우, WSDL 위치는 UDDI 서비스 키로 간주됩니다.
다음은 전체 UDDI 서비스 키의 예입니다.
이 키의 서비스 특정 파트는 최종 파트입니다.uddi:blade108node01cell:blade108node01:server1:default:6e3d106e-5394-44e3-be17-aca728ac1791
6e3d106e-5394-44e3-be17-aca728ac1791
- 이 매개변수가 지정되지 않은 경우 OutboundService 오브젝트의 WSDL 위치가 템플리트 WSDL 위치로 사용됩니다.
- -wsdlServiceName
- WSDL 내의 서비스 이름입니다. 템플리트 WSDL이 둘 이상의 서비스를 포함하거나 UDDI 레지스트리를 통해 WSDL을 찾는 경우에만 필요합니다.
- -wsdlServiceNamespace
- WSDL 내의 서비스의 네임스페이스입니다. 템플리트 WSDL이 둘 이상의 서비스를 포함하거나, UDDI 레지스트리를 통해 WSDL을 찾거나 서비스가 WSDL 문서에 대한 기본 네임스페이스에 있지 않은 경우에만 필수입니다.
- -targetDestination
- 게이트웨이 대상과 동일한 서비스 통합 버스 내에 있거나 다른 버스(이 경우 -targetBus도 지정해야 함)에 있을 수 있는 대상의 이름입니다.
- -targetDestination 또는 -targetService 매개변수를 지정하십시오.
- -targetBus
- 대상을 호스트하는 서비스 통합 버스의 이름
- -targetDestination 매개변수가 지정되었으나 게이트웨이 대상과 동일한 서비스 통합 버스 내에 대상이 없는 경우 이 매개변수를 지정합니다.
- -targetService
- 대상 아웃바운드 서비스의 이름
- -targetDestination 또는 -targetService 매개변수를 지정하십시오.
선택적 매개변수
- -requestDestination
- 게이트웨이 요청 대상의 이름
- -replyDestination
- 게이트웨이 응답 대상의 이름
- -uddiReference
- UDDI 서비스 키를 WSDL 위치로 지정한 경우 대상 UDDI 레지스트리에 대한 UDDI 참조를 제공하십시오.
- -userId
- WSDL을 검색하는 데 사용하는 사용자 ID
- -password
- WSDL을 검색하는 데 사용하는 비밀번호
예제
- Jython 사용:
gwService = AdminTask.createWSGWGatewayService(wsgw, ["-name", "MyGatewayService", "-targetService", "MyService"])
- Jacl 사용:
set gwService [$AdminTask createWSGWGatewayService $wsgw {-name "MyGatewayService" -targetService "MyService"}]
- 서비스 제공자를 표시하는 아웃바운드 서비스를 작성합니다. 여기서 bus는
서비스 통합 버스입니다.
- Jython 사용:
outService = AdminTask.createSIBWSOutboundService(bus, ["-name", "StockQuoteService", "-wsdlLocation", "http://myserver.com/wsdl/StockQuoteService.wsdl"])
- Jacl 사용:
set outService [$AdminTask createSIBWSOutboundService $bus {-name "StockQuoteService" -wsdlLocation "http://myserver.com/wsdl/StockQuoteService.wsdl"}]
- Jython 사용:
- 서비스 제공자 WSDL에 정의된 대로 HTTP에 대한 SOAP 포트를 추가합니다.
- Jython 사용:
outPort = AdminTask.addSIBWSOutboundPort(outService, ["-name", "SOAPHTTPPort", "-node", "MyNode", "-server", "server1"])
- Jacl 사용:
set outPort [$AdminTask addSIBWSOutboundPort $outService {-name "SOAPHTTPPort" -node "MyNode" -server "server1"}]
- Jython 사용:
- 게이트웨이 서비스를 작성합니다. 여기서 wsgw는 게이트웨이
인스턴스입니다.
- Jython 사용:
gwService = AdminTask.createWSGWGatewayService(wsgw, ["-name", "StockQuoteGatewayService", "-targetService", "StockQuoteService"])
- Jacl 사용:
set gwService [$AdminTask createWSGWGatewayService $wsgw {-name "StockQuoteGatewayService" -targetService "StockQuoteService"}]
- Jython 사용:
- 게이트웨이 서비스에 대한 인바운드 서비스를 가져옵니다. 여기서 busName은
서비스 통합 버스의 이름입니다.
- Jython 사용:
inServiceName = AdminConfig.showAttribute(gwService, "inboundServiceName")
inService = AdminConfig.getid( "/SIBus:"+busName+"/SIBWSInboundService:"+inServiceName+"/" )
- Jacl 사용:
set inServiceName [$AdminConfig showAttribute $gwService "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를 적용하십시오.