25.4. 为端点获取代理

概述

服务代理是一个对象,提供由远程服务公开的所有方法,并处理进行远程调用所需的所有详情。Service 对象为通过 getPort () 方法了解的所有端点提供服务代理。有了服务代理后,即可调用其方法。代理使用服务合同中指定的连接详情将调用转发到远程服务端点。

getPort ()方法

getPort () 方法显示在 例 25.5 “getPort () 方法” 中,为指定端点返回服务代理。返回的代理与 SEI 相同类。

例 25.5. getPort () 方法

public &lt;T> TgetPortQNameportNameClass<T&gt;serviceEndpointInterfaceWebServiceException

portName 参数的值是一个 QName,用于标识为其创建代理的 wsdl:port 元素。serviceEndpointInterface 参数的值是 SEI 的完全限定名称。

注意

当您在没有 WSDL 参数的值的情况下工作时,portName 参数的值通常与调用 addPort () 时用于 portName 参数的值相同。

示例

例 25.6 “获取服务代理” 显示获取 例 25.4 “将端口添加到 服务对象 中端点的服务代理的代码。

例 25.6. 获取服务代理

package com.fusesource.demo;

import javax.xml.namespace.QName;
import javax.xml.ws.Service;

public class Client
{
public static void main(String args[])
  {
    ...
    quoteReporter proxy = s.getPort(portName, quoteReporter.class);
    ...
  }
}