25.4. 获取端点的代理

概述

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

getPort()方法

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

例 25.5. getPort() 方法

public<T> TgetPortQNameClass<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);
    ...
  }
}