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 追加オブジェクトに、サービス統合バス対応 Web サービス・コマンドを使用します。詳しい情報については、このトピックの終わりにある 処理例を参照してください。
ターゲット・オブジェクト
プロキシー・サービスが作成されたゲートウェイ・インスタンスの ObjectName。
このコマンドは、プロキシー要求宛先および対応する応答宛先を作成します。プロキシー要求宛先は、プロキシー応答宛先を追加するために 応答パスを更新するために構成されます。 指定されたまたはデフォルトの名前の宛先が既に存在する場合、コマンドは失敗します。
同じ名前のゲートウェイ・サービスまたはプロキシー・サービスが 既に存在する場合、コマンドは失敗します。
プロキシー要求宛先の名前を指定する場合は、 プロキシー・サービス宛先およびポート宛先はプロキシー要求宛先名から派生した名前で作成されます。 そうしなければ、プロキシー・サービス宛先およびポート宛先は、プロキシー・サービス名から派生した名前で 作成されます。 プロキシー・サービス宛先名は、"ProxyService" を プロキシー要求宛先またはサービス名に追加することで作成されます。 各プロキシー・ポート宛先はその結果、プロキシー・サービス宛先にちなんで名前が付けられ、 後に、コロン (":")、ポート名、"ポート"が続きます。これらの名前のいずれかが宛先が既に存在する場合、コマンドは失敗します。
ノードおよびサーバーを指定するか、またはクラスターを指定します。指定したノードおよびサーバーまたはクラスターでメッセージング・エンジンが定義されていない場合、コマンドは失敗します。
コマンドは、プロキシー・サービスと同一の名前で OutboundService オブジェクトを作成します。 この新規アウトバウンド・サービスは、作成済み宛先、提供されたローカリゼーション、および ゲートウェイ・インスタンスのデフォルト・プロキシー WSDL ロケーションまたはプロキシー WSDL ファイル のロケーション (指定された場合) のいずれかを使用します。 新規アウトバウンド・サービスは、ProxyService オブジェクトと関連しています。
プロキシー WSDL は、単一のサービス・エレメントのみを持っていなければなりません。 単一のサービス・エレメントに複数のポートがあった場合、アウトバウンド・ポート・オブジェクトは それぞれに作成されます。
プロキシー WSDL は UDDI から来ることは決してないので、 Web アドレスだけがデフォルトおよび指定変更されたプロキシー WSDL ロケーションのために サポートされます。
コマンドは、InboundService オブジェクトをプロキシー・サービスと同一の名前で作成するためにプロキシー宛先を使用し、テンプレート WSDL ロケーションとしてデフォルトまたは指定されたプロキシー WSDL ロケーション使用します。
必須パラメーター
- -name
- プロキシー・サービス名。
条件付きパラメーター
- -node
- 宛先がローカライズされるノード。
- -server
- 宛先がローカライズされるサーバー。
- -cluster
- 宛先がローカライズされるクラスター。
オプション・パラメーター
- -requestDestination
- プロキシー要求宛先の名前。
- -replyDestination
- プロキシー応答宛先の名前
- -wsdlLocation
- プロキシー WSDL ファイルのロケーションこれは Web アドレスです。
例
- 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 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 を適用してください。
- HTTP の操作で、プロキシー・サービスの Web アドレスが以下の場合
要求側クライアントは、以下の 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