createWSGWGatewayService コマンド
createWSGWGatewayService コマンドを使用して、新規のゲートウェイ・サービス構成を作成します。
このトピックで説明されているように wsadmin ツールを使用するか、新規ゲートウェイ・サービス構成の作成で説明されているように管理コンソールを使用して、 新しいゲートウェイ・サービス構成を作成することができます。
コマンドを実行するには、wsadmin スクリプト・クライアントの AdminTask オブジェクトを使用します。
wsadmin スクリプト・クライアントは Qshell から実行されます。.
詳しくは、wsadmin スクリプトを使用した WebSphere スクリプトを実行するための Qshell の構成.
- 使用可能なゲートウェイ・コマンドのリストと、各コマンドの簡単な説明を見るには、wsadmin プロンプトで以下のコマンドを入力します。
print AdminTask.help('WSGateway')
- 特定のコマンドの概要ヘルプの場合は、wsadmin プロンプトで以下のコマンドを入力します。
print AdminTask.help('command_name')
AdminConfig.save()
このコマンドを使用する前に、 サービス統合バス対応 Web サービス ・コマンドを使用して、新しいアウトバウンド・サービスを作成し、アウトバウンド・ポートを追加する ことをお勧めします。詳しい情報については、このトピックの終わりにある 処理例を参照してください。
目的
このコマンドは、関連した 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 ファイルのロケーション。
これは Web アドレスまたは 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 1 エンドポイント・リスナー上の SOAP が既に構成されている HTTP ポート上の SOAP を追加する。
- 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 handlers または WS-Security を適用してください。