Show Table of Contents
23.4. Getting a Proxy for an Endpoint
Overview
A service proxy is an object that provides all of the methods exposed by a remote service and handles all of the details required to make the remote invocations. The
Service object provides service proxies for all of the endpoints it is aware of through the getPort() method. Once you have a service proxy, you can invoke its methods. The proxy forwards the invocation to the remote service endpoint using the connection details specified in the service's contract.
The getPort() method
The
getPort() method, shown in Example 23.5, “The getPort() Method”, returns a service proxy for the specified endpoint. The returned proxy is of the same class as the SEI.
Example 23.5. The getPort() Method
public <T> T getPort(QName portName,
Class<T> serviceEndpointInterface)
throws WebServiceException;
The value of the
portName parameter is a QName that identifies the wsdl:port element that defines the endpoint for which the proxy is created. The value of the serviceEndpointInterface parameter is the fully qualified name of the SEI.
Note
When you are working without a WSDL contract the value of the
portName parameter is typically the same as the value used for the portName parameter when calling addPort().
Example
Example 23.6, “Getting a Service Proxy” shows code for getting a service proxy for the endpoint added in Example 23.4, “Adding a Port to a
Service Object”.
Example 23.6. Getting a Service Proxy
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);
...
}
}
Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.