25.4. 为端点获取代理
概述
服务代理是一个提供远程服务公开的所有方法的对象,并处理进行远程调用所需的所有详细信息。Service
对象为它通过 getPort ()
方法了解的所有端点提供服务代理。获得服务代理后,您可以调用其方法。代理使用服务合同中指定的连接详情,将调用转发到远程服务端点。
getPort ()方法
getPort ()
方法(如 例 25.5 “getPort ()
方法” 所示)返回指定端点的服务代理。返回的代理与 SEI 相同的类。
例 25.5. getPort ()
方法
公共 <T> T
getPort
QName
portName
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); ... } }