25.4. 获取端点的代理
概述
服务代理是一个对象,提供由远程服务公开的所有方法,并处理进行远程调用所需的所有详情。Service
对象为通过 getPort()
方法了解的所有端点提供服务代理。具有服务代理后,您可以调用其方法。代理使用服务合同中指定的连接详情将调用转发到远程服务端点。
getPort()方法
getPort()
方法显示在 例 25.5 “getPort()
方法” 中,为指定的端点返回服务代理。返回的代理与 SEI 相同。
例 25.5. getPort()
方法
public<T> T
getPort
Q
Name
Class<T&
gt;serviceEndpointInterface
WebServiceException
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); ... } }