createWSGWProxyService command
Use the createWSGWProxyService command to set the gateway to act as a proxy for your service, then use JAX-RPC handlers to set the endpoints for incoming request messages for the service.
You can create a new proxy service configuration by using the wsadmin tool as described in this topic, or by using the administrative console as described in Creating a new proxy service configuration.
To run the command, use the AdminTask object of the wsadmin scripting client.
The wsadmin scripting client is run from Qshell.
- For a list of the available gateway commands, plus a brief description of each
command, enter the following command at the wsadmin prompt:
print AdminTask.help('WSGateway')
- For overview help on a given command, enter the following command at the wsadmin
prompt:
print AdminTask.help('command_name')
After using the command, save your changes to the master configuration by using the following command:
Purpose
This command creates a new ProxyService object with an associated InboundService object, and a TargetService object with an associated OutboundService object.
You then use a service integration bus-enabled web services command to add any InboundPort objects that are associated with the InboundService object. For more information, see the worked example at the end of this topic.
Target object
ObjectName of the gateway instance within which the proxy service is created.
The command creates the proxy request destination and corresponding reply destination. The proxy request destination is configured to update the reply path to add the proxy reply destination. If a destination with the specified or default names already exists, the command fails.
If a gateway service or proxy service with the same name already exists, the command fails.
If you specify the name of the proxy request
destination, the proxy service destination and port destinations are
created with names derived from the proxy request destination name.
Otherwise, the proxy service destination and port destinations are
created with names derived from the proxy service name. The proxy
service destination name is created by adding
to
the proxy request destination or proxy service name. Each proxy port
destination is then named after the proxy service destination, followed
by a colon (ProxyService
), followed by the port name,
followed by :
. If a destination with any
of these names already exists, the command fails.Port
Either specify the node and server, or specify the cluster. If there is no messaging engine defined for the specified node and server or cluster, the command fails.
The command creates an OutboundService object, with the same name as the proxy service. This new outbound service uses the created destinations, the supplied localization, and either the default proxy WSDL location for the gateway instance or (if specified) the location of the proxy WSDL file. The new outbound service is associated with the ProxyService object.
The proxy WSDL must have only a single service element. If there are multiple ports within the single service element, an outbound port object is created for each one.
The proxy WSDL should never come from UDDI, so only a web address is supported for the default and overridden proxy WSDL location.
The command uses the proxy destination to create an InboundService object with the same name as the proxy service, and uses the default or specified proxy WSDL location as the template WSDL location.
Required parameters
- -name
- The proxy service name.
Conditional parameters
- -node
- The node in which the destinations is localized.
- -server
- The server in which the destinations is localized.
- -cluster
- The cluster in which the destinations is localized.
Optional parameters
- -requestDestination
- The name of the proxy request destination.
- -replyDestination
- The name of the proxy reply destination.
- -wsdlLocation
- The location of the proxy WSDL file. This is a web address.
Example
- Create the proxy service, where wsgw is the
gateway instance:
- Using Jython:
proxyService = AdminTask.createWSGWProxyService(wsgw, ["-name", "MyProxyService", "-node", "MyNode", "-server", "server1"])
- Using Jacl:
set proxyService [$AdminTask createWSGWProxyService $wsgw {-name "ProxyService" -node "MyNode" -server "server1"}]
- Using Jython:
- Get the inbound service for the gateway service, where busName is
the name of the service integration bus:
- Using Jython:
inServiceName = AdminConfig.showAttribute(proxyService, "inboundServiceName")
inService = AdminConfig.getid("/ SIBus:"+busName+"/SIBWSInboundService:"+inServiceName+"/")
- Using Jacl:
set inServiceName [$AdminConfig showAttribute $proxyService "inboundServiceName"]
set inService [$AdminConfig getid /SIBus:$busName/SIBWSInboundService:$inServiceName/]
- Using Jython:
- Add a SOAP over HTTP port, where the SOAP over HTTP 1 endpoint
listener is already configured:
- Using Jython:
inPort = AdminTask.addSIBWSInboundPort(inPort, ["-name", "SOAPHTTPPort", "-endpointListener", "soaphttp1", "-node", "MyNode", "-server", "server1"])
- Using Jacl:
set inPort [$AdminTask addSIBWSInboundPort $inPort {-name "SOAPHTTPPort" -endpointListener "soaphttp1" -node "MyNode" -server "server1"}]
- Using Jython:
- Complete the configuration of the inbound and outbound services and ports. For example, apply JAX-RPC handlers or WS-Security.
- For HTTP operation, if the web address of the proxy service is
then requesting clients indicate that they are sending a one-way request by using the following 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
- For JMS operation, if the JMS address of the proxy service is
then requesting clients indicate that they are sending a one-way request by using the following 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