createWSGWProxyService 命令

使用 createWSGWProxyService 命令设置网关以使其充当服务代理,并使用 JAX-RPC 处理程序来设置服务的入局请求消息的端点。

可按本主题中所述使用 wsadmin 工具创建新的代理服务配置,或按创建新的代理服务配置中所述使用管理控制台进行创建。

要运行该命令,请使用 wsadmin 脚本编制客户机AdminTask 对象

[IBM i][IBM i]wsadmin 脚本编制客户机通过 Qshell 运行. [IBM i]有关更多信息,请参阅 使用 wsadmin 脚本编制配置 Qshell 以运行 WebSphere 脚本.

已经为服务集成总线命令提供了命令行帮助:
  • 要获取可用的网关命令列表以及每个命令的简要描述,请在 wsadmin 提示符处输入以下命令:

    print AdminTask.help('WSGateway')

  • 要获取有关给定命令的总体帮助,请在 wsadmin 提示符处输入以下命令:

    print AdminTask.help('command_name')

使用此命令后,请使用以下命令将更改保存到主配置中:

AdminConfig.save()

用途

该命令创建新的 ProxyService 对象和关联的 InboundService 对象以及 TargetService 对象和关联的 OutboundService 对象。

然后您可使用支持服务集成总线的 Web Service 命令添加任何 InboundPort 对象,这些对象与 InboundService 对象关联。有关更多信息,请参阅本主题末尾的有效示例。

目标对象

创建代理服务的网关实例的 ObjectName

此命令创建代理请求目标及相应的应答目标。配置代理请求目标以更新应答路径来添加代理应答目标。如果带有指定名称或缺省名称的目标已存在,那么该命令失败。

如果同名的网关服务或代理服务已存在,那么该命令失败。

如果指定代理请求目标的名称,那么使用该名称创建代理服务目标和端口目标。否则,使用源自代理服务名称的名称创建代理服务目标和端口目标。通过将“ProxyService”添加至代理请求目标或代理服务名称来创建代理服务目标名称。在代理服务目标之后指定每个代理端口目标,后跟冒号 (":"),然后是端口名,最后是 "Port"。如果带有任何这些名称的目标已存在,那么该命令失败。

指定节点和服务器,或者指定集群。如果不存在为指定节点以及服务器或集群定义的消息传递引擎,那么该命令将失败。

该命令创建与代理服务同名的 OutboundService 对象。该新的出站服务使用已创建的目标、已提供的位置以及网关实例的缺省代理 WSDL 位置或(如果指定的话)代理 WSDL 文件的位置。新的出站服务与 ProxyService 对象关联。

代理 WSDL 必须只有一个服务元素。如果在单个服务元素内存在多个端口,那么为每个端口创建出站端口对象。

代理 WSDL 从不应该来自 UDDI,所以,对于缺省代理 WSDL 位置和被覆盖的代理 WSDL 位置,仅支持 Web 地址。

该命令使用代理目标创建与代理服务同名的 InboundService 对象,并将缺省或指定的代理 WSDL 位置用作模板 WSDL 位置。

必需参数

-name
代理服务名称。

条件参数

-node
目标所在的节点。
-server
目标所在的服务器。
-cluster
目标所在的集群。

可选参数

-requestDestination
代理请求目标的名称。
-replyDestination
代理应答目标的名称。
-wsdlLocation
代理 WSDL 文件的位置。这是 Web 地址。

示例

下列内容是一组命令序列的最小示例,该组命令通过入站和出站 SOAP over HTTP 协议连接创建全功能代理服务:
  1. 创建代理服务,其中,wsgw 是网关实例:
    • 使用 Jython:
      proxyService = AdminTask.createWSGWProxyService(wsgw, ["-name",
       "MyProxyService", "-node", "MyNode", "-server", "server1"])
    • 使用 Jacl:
      set proxyService [$AdminTask createWSGWProxyService $wsgw {-name
       "ProxyService" -node "MyNode" -server "server1"}]
  2. 获取网关服务的入站服务,其中,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/]
  3. 添加 SOAP over HTTP 端口,其中,已配置 SOAP over HTTP 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"}]
  4. 完成入站服务和出站服务以及端口的配置。例如,应用 JAX-RPC处理程序WS-Security
注:
确保所有服务请求者都将 operationMode 查询字符串参数追加到代理服务的地址中。此参数的值是 onewayrequestResponse,缺省值是 requestResponse。例如:
  • 对于 HTTP 操作,如果代理服务的 Web 地址为
    http://host_name:port_number/wsgwsoaphttp1/soaphttpengine
    /your_bus/ProxyService/ProxyServiceInboundPort
    则发出请求的客户机指示他们正在使用以下 URL 来发送单向请求:
    http://host_name:port_number/wsgwsoaphttp1/soaphttpengine
    /your_bus/ProxyService/ProxyServiceInboundPort?operationMode=oneway
  • 对于 JMS 操作,如果代理服务的 JMS 地址为
    jms:/queue?destination=jndi_queue&connectionFactory=
    jndi_factory&targetService=your_bus/ProxyService/ProxyServiceInboundPort
    则发出请求的客户机指示他们正在使用以下 URL 来发送单向请求:
    jms:/queue?destination=jndi_queue&connectionFactory=
    jndi_factory&targetService=
    your_bus/ProxyService/ProxyServiceInboundPort&operationMode=oneway

指示主题类型的图标 参考主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwsg_cli_proxy_new
文件名:rwsg_cli_proxy_new.html