Befehl 'createWSGWProxyService'
Verwenden Sie den Befehl createWSGWProxyService, um das Gateway als Proxy für Ihren Service zu definieren. Verwenden Sie anschließend JAX-RPC-Handler, um die Endpunkte für eingehende Anforderungsnachrichten für den Service festzulegen.
Sie können eine neue Proxy-Servicekonfiguration, wie in diesem Artikel beschrieben, mit dem Tool "wsadmin" erstellen, oder Sie können, wie im Artikel Einen neuen Proxy-Service erstellen beschrieben, die Administrationskonsole verwenden.
Verwenden Sie zum Ausführen des Befehls das Objekt AdminTask des Scripting-Clients wsadmin.
Der Scripting-Client wsadmin wird über die Qshell ausgeführt.
Weitere Informationen finden Sie unter Qshell für die Ausführung von WebSphere-Scripts mit wsadmin-Scripting konfigurieren.
- Geben Sie den folgenden Befehl an der wsadmin-Eingabeaufforderung ein, um eine Liste der verfügbaren Befehle für Gateways und eine Kurzbeschreibung jedes einzelnen Befehls
anzuzeigen:
print AdminTask.help('WSGateway')
- Zum Anzeigen einer übersichtlichen Hilfe zu einem bestimmten Befehl geben Sie an der
wsadmin-Eingabeaufforderung den folgenden Befehl ein:
print AdminTask.help('Befehlsname')
AdminConfig.save()
Zweck
Dieser Befehl erstellt ein neues ProxyService-Objekt mit einem zugehörigen InboundService-Objekt und ein TargetService-Objekt mit einem zugehörigen OutboundService-Objekt.
Anschließend verwenden Sie einen Befehl für SIB-fähige Web-Services, um alle InboundService-Objekte hinzuzufügen, die dem InboundService-Objekt zugeordnet sind. Weitere Informationen finden Sie im Beispiel am Ende dieses Artikels.
Zielobjekt
ObjectName der Gatewayinstanz, in der der Proxy-Service erstellt wird.
Der Befehl erstellt das Ziel für Proxy-Anforderungen und das zugehörige Antwortziel. Das Ziel für Proxy-Anforderungen wird konfiguriert, um dem Antwortpfad das Proxy-Antwortziel hinzuzufügen. Wenn bereits ein Ziel mit dem angegebenen Namen oder dem Standardnamen vorhanden ist, schlägt der Befehl fehl.
Wenn bereits ein Gateway-Service oder Proxy-Service mit demselben Namen vorhanden ist, schlägt der Befehl fehl.
Wenn Sie den Namen des Ziels für Proxy-Anforderungen angeben, werden das Proxy-Serviceziel und Portziele mit Namen erstellt, die vom Namen des Proxy-Anforderungsziels abgeleitet sind. Andernfalls werden die Proxy-Service- und -Portziele mit Namen erstellt, die vom Namen des Proxy-Service abgeleitet werden. Der Name des Proxy-Serviceziels wird erstellt, indem dem Namen des Proxy-Anforderungsziels bzw. dem Namen des Proxy-Service der Zusatz "ProxyService" hinzugefügt wird. Der Name jedes Proxy-Portziels wird wie folgt gebildet: Proxy-Serviceziel, Doppelpunkt (":"), Portname, "Port". Wenn bereits ein Ziel mit einem dieser Namen vorhanden ist, schlägt der Befehl fehl.
Geben Sie Knoten und Server oder den Cluster an. Wenn keine Messaging-Engine für den angegebenen Knoten und Server bzw. Cluster definiert ist, schlägt der Befehl fehl.
Der Befehl erstellt ein OutboundService-Objekt, das denselben Namen wie der Proxy-Service hat. Der neue Service für abgehende Daten verwendet die erstellten Ziele, die angegebene Lokalisierung und die Position der Standard-Proxy-WSDL für die Gatewayinstanz oder (sofern angegeben) die Position der Proxy-WSDL-Datei. Der neue Service für abgehende Daten wird dem ProxyService-Objekt zugeordnet.
Die Proxy-WSDL darf nur ein einzelnes Serviceelement enthalten. Wenn das Serviceelement mehrere Ports enthält, wird für jeden Port ein OutboundPort-Objekt erstellt.
Die Proxy-WSDL darf nicht aus UDDI stammen. Deswegen werden nur Webadressen als Position für die Standard-WSDL und die WSDL für Überschreiben unterstützt.
Der Befehl verwendet das Proxy-Ziel, um ein InboundService-Objekt mit dem Namen des Proxy-Service zu erstellen, und die Standard- bzw. angegebene Proxy-WSDL-Position als Position für die WSDL-Schablone.
Erforderliche Parameter
- -name
- Der Name des Proxy-Service.
Vorgegebene Parameter
- -node
- Der Knoten, auf dem sich die Ziele befinden.
- -server
- Der Server, in dem sich die Ziele befinden.
- -cluster
- Der Cluster, in dem sich die Ziele befinden.
Optionale Parameter
- -requestDestination
- Der Name des Proxy-Anforderungsziels.
- -replyDestination
- Der Name des Proxy-Antwortziels.
- -wsdlLocation
- Die Position der WSDL-Datei für den Proxy-Server. Dies ist eine Webadresse.
Beispiel
- Erstellen Sie die Proxy-Instanz. wsgw steht für die Gatewayinstanz:
- Mit Jython:
proxyService = AdminTask.createWSGWProxyService(wsgw, ["-name", "MyProxyService", "-node", "MyNode", "-server", "server1"])
- Mit Jacl:
set proxyService [$AdminTask createWSGWProxyService $wsgw {-name "ProxyService" -node "MyNode" -server "server1"}]
- Mit Jython:
- Rufen Sie den Service für eingehende Daten für den Gateway-Service ab. Busname steht hier für den Namen des
Service Integration Bus:
- Mit Jython:
inServiceName = AdminConfig.showAttribute(proxyService, "inboundServiceName")
inService = AdminConfig.getid("/ SIBus:"+busName+"/SIBWSInboundService:"+inServiceName+"/")
- Mit Jacl:
set inServiceName [$AdminConfig showAttribute $proxyService "inboundServiceName"]
set inService [$AdminConfig getid /SIBus:$busName/SIBWSInboundService:$inServiceName/]
- Mit Jython:
- Fügen Sie einen Port für SOAP over HTTP hinzu (der erste Endpunktlistener für SOAP over HTTP ist bereits konfiguriert):
- Mit Jython:
inPort = AdminTask.addSIBWSInboundPort(inPort, ["-name", "SOAPHTTPPort", "-endpointListener", "soaphttp1", "-node", "MyNode", "-server", "server1"])
- Mit Jacl:
set inPort [$AdminTask addSIBWSInboundPort $inPort {-name "SOAPHTTPPort" -endpointListener "soaphttp1" -node "MyNode" -server "server1"}]
- Mit Jython:
- Schließen Sie die Konfiguration der Services und Ports für eingehende und abgehende Daten ab. Installieren Sie beispielsweise JAX-RPC-Handler oder WS-Security.
- Für HTTP: Die Webadresse des Proxy-Service ist wie folgt:
In diesem Fall geben die anfordernden Clients mit dem folgenden URL an, dass sie eine Einweganforderung senden:http://Hostname:Portnummer/wsgwsoaphttp1/soaphttpengine /IhrBus/ProxyService/ProxyServiceInboundPort
http://Hostname:Portnummer/wsgwsoaphttp1/soaphttpengine /IhrBus/ProxyService/ProxyServiceInboundPort?operationMode=oneway
- Für JMS: Die JMS-Adresse des Proxy-Service ist wie folgt:
In diesem Fall geben die anfordernden Clients mit dem folgenden URL an, dass sie eine Einweganforderung senden:jms:/queue?destination=jndi_queue&connectionFactory= jndi_factory&targetService=IhrBus/ProxyService/ProxyServiceInboundPort
jms:/queue?destination=jndi_queue&connectionFactory= jndi_factory&targetService= IhrBus/ProxyService/ProxyServiceInboundPort&operationMode=oneway