All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javax.xml.rpc.Call Maven / Gradle / Ivy

The newest version!
/*
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
 *
 * Copyright (c) 2003-2018 Oracle and/or its affiliates. All rights reserved.
 *
 * The contents of this file are subject to the terms of either the GNU
 * General Public License Version 2 only ("GPL") or the Common Development
 * and Distribution License("CDDL") (collectively, the "License").  You
 * may not use this file except in compliance with the License.  You can
 * obtain a copy of the License at
 * https://oss.oracle.com/licenses/CDDL+GPL-1.1
 * or LICENSE.txt.  See the License for the specific
 * language governing permissions and limitations under the License.
 *
 * When distributing the software, include this License Header Notice in each
 * file and include the License file at LICENSE.txt.
 *
 * GPL Classpath Exception:
 * Oracle designates this particular file as subject to the "Classpath"
 * exception as provided by Oracle in the GPL Version 2 section of the License
 * file that accompanied this code.
 *
 * Modifications:
 * If applicable, add the following below the License Header, with the fields
 * enclosed by brackets [] replaced by your own identifying information:
 * "Portions Copyright [year] [name of copyright owner]"
 *
 * Contributor(s):
 * If you wish your version of this file to be governed by only the CDDL or
 * only the GPL Version 2, indicate your decision by adding "[Contributor]
 * elects to include this software in this distribution under the [CDDL or GPL
 * Version 2] license."  If you don't indicate a single choice of license, a
 * recipient has the option to distribute your version of this file under
 * either the CDDL, the GPL Version 2 or to extend the choice of license to
 * its licensees as provided above.  However, if you add GPL Version 2 code
 * and therefore, elected the GPL Version 2 license, then the option applies
 * only if the new code is made subject to such option by the copyright
 * holder.
 */

package javax.xml.rpc;

import java.util.Iterator;
import java.net.URL;
import javax.xml.namespace.QName;
import java.util.Map;
import java.util.List;

/** The javax.xml.rpc.Call interface provides support 
 *  for the dynamic invocation of a service endpoint. The 
 *  javax.xml.rpc.Service interface acts as a factory
 *  for the creation of Call instances.
 *
 *  

Once a Call instance is created, various setter * and getter methods may be used to configure this Call * instance.

* * @version 1.0 * @author Rahul Sharma **/ public interface Call { /** Standard property: User name for authentication *

Type: java.lang.String **/ public static final String USERNAME_PROPERTY = "javax.xml.rpc.security.auth.username"; /** Standard property: Password for authentication *

Type: java.lang.String **/ public static final String PASSWORD_PROPERTY = "javax.xml.rpc.security.auth.password"; /** Standard property for operation style. This property is * set to "rpc" if the operation style is rpc; "document" * if the operation style is document. *

Type: java.lang.String **/ public static final String OPERATION_STYLE_PROPERTY = "javax.xml.rpc.soap.operation.style"; /** Standard property for SOAPAction. This boolean property * indicates whether or not SOAPAction is to be used. The * default value of this property is false indicating that * the SOAPAction is not used. *

Type: java.lang.Boolean **/ public static final String SOAPACTION_USE_PROPERTY = "javax.xml.rpc.soap.http.soapaction.use"; /** Standard property for SOAPAction. Indicates the SOAPAction * URI if the javax.xml.rpc.soap.http.soapaction.use * property is set to true. *

Type: java.lang.String **/ public static final String SOAPACTION_URI_PROPERTY = "javax.xml.rpc.soap.http.soapaction.uri"; /** Standard property for encoding Style: Encoding style specified * as a namespace URI. The default value is the SOAP 1.1 encoding * http://schemas.xmlsoap.org/soap/encoding/ *

Type: java.lang.String **/ public static final String ENCODINGSTYLE_URI_PROPERTY = "javax.xml.rpc.encodingstyle.namespace.uri"; /** Standard property: This boolean property is used by a service * client to indicate whether or not it wants to participate in * a session with a service endpoint. If this property is set to * true, the service client indicates that it wants the session * to be maintained. If set to false, the session is not maintained. * The default value for this property is false. *

Type: java.lang.Boolean **/ public static final String SESSION_MAINTAIN_PROPERTY = "javax.xml.rpc.session.maintain"; /** Indicates whether addParameter and * setReturnType methods * are to be invoked to specify the parameter and return type * specification for a specific operation. * * @param operationName Qualified name of the operation * * @return Returns true if the Call implementation class * requires addParameter and setReturnType to be * invoked in the client code for the specified * operation. This method returns false otherwise. * @throws java.lang.IllegalArgumentException If invalid * operation name is specified **/ public boolean isParameterAndReturnSpecRequired(QName operationName); /** Adds a parameter type and mode for a specific operation. * Note that the client code may not call any * addParameter and setReturnType * methods before calling the invoke method. In * this case, the Call implementation class determines the * parameter types by using reflection on parameters, using * the WSDL description and configured type mapping registry. * * @param paramName Name of the parameter * @param xmlType XML type of the parameter * @param parameterMode Mode of the parameter-whether * ParameterMode.IN, * ParameterMode.OUT, * or ParameterMode.INOUT, * * @throws javax.xml.rpc.JAXRPCException: This exception may * be thrown if the method isParameterAndReturnSpecRequired * returns false for this operation. * @throws java.lang.IllegalArgumentException If any illegal * parameter name or XML type is specified * @see javax.xml.rpc.Call#isParameterAndReturnSpecRequired **/ public void addParameter(String paramName, QName xmlType, ParameterMode parameterMode); /** Adds a parameter type and mode for a specific operation. * This method is used to specify the Java type for either * OUT or INOUT parameters. * * @param paramName Name of the parameter * @param xmlType XML type of the parameter * @param javaType Java class of the parameter * @param parameterMode Mode of the parameter-whether * ParameterMode.IN, OUT or INOUT * * @throws javax.xml.rpc.JAXRPCException *

    *
  • This exception may be thrown if this method is * invoked when the method isParameterAndReturnSpecRequired * returns false. *
  • If specified XML type and Java type mapping * is not valid. For example, TypeMappingRegistry * has no serializers for this mapping. *
* @throws java.lang.IllegalArgumentException If any illegal * parameter name or XML type is specified * @throws java.lang.UnsupportedOperationException If this * method is not supported * @see javax.xml.rpc.Call#isParameterAndReturnSpecRequired **/ public void addParameter(String paramName, QName xmlType, Class javaType, ParameterMode parameterMode); /** Gets the XML type of a parameter by name * * @param paramName Name of the parameter * @return Returns XML type for the specified parameter **/ public QName getParameterTypeByName(String paramName); /** Sets the return type for a specific operation. Invoking * setReturnType(null) removes the return * type for this Call object. * * @param xmlType XML data type of the return value * @throws javax.xml.rpc.JAXRPCException This exception * may be thrown when the method * isParameterAndReturnSpecRequired returns * false. * @throws java.lang.IllegalArgumentException If an illegal * XML type is specified **/ public void setReturnType(QName xmlType); /** Sets the return type for a specific operation. * * @param xmlType XML data type of the return value * @param javaType Java Class of the return value * @throws javax.xml.rpc.JAXRPCException *
    *
  • This exception may be thrown if this method is * invoked when the method isParameterAndReturnSpecRequired * returns false. *
  • If XML type and Java type cannot be mapped * using the standard type mapping or TypeMapping * registry *
* @throws java.lang.UnsupportedOperationException If this * method is not supported * @throws java.lang.IllegalArgumentException If an illegal * XML type is specified **/ public void setReturnType(QName xmlType, Class javaType); /** Gets the return type for a specific operation * * @return Returns the XML type for the return value **/ public QName getReturnType(); /** Removes all specified parameters from this Call instance. * Note that this method removes only the parameters and not * the return type. The setReturnType(null) is * used to remove the return type. * * @throws javax.xml.rpc.JAXRPCException This exception may be * thrown If this method is called when the method * isParameterAndReturnSpecRequired * returns false for this Call's operation. **/ public void removeAllParameters(); /** Gets the name of the operation to be invoked using this * Call instance. * @return Qualified name of the operation **/ public QName getOperationName(); /** Sets the name of the operation to be invoked using this * Call instance. * @param operationName QName of the operation to be * invoked using the Call instance **/ public void setOperationName(QName operationName); /** Gets the qualified name of the port type. * * @return Qualified name of the port type **/ public QName getPortTypeName(); /** Sets the qualified name of the port type. * * @param portType Qualified name of the port type **/ public void setPortTypeName(QName portType); /** Sets the address of the target service endpoint. * This address must correspond to the transport specified * in the binding for this Call instance. * * @param address Address of the target service endpoint; * specified as an URI **/ public void setTargetEndpointAddress(String address); /** Gets the address of a target service endpoint. * * @return Address of the target service endpoint as an URI **/ public String getTargetEndpointAddress(); /** Sets the value for a named property. JAX-RPC specification * specifies a standard set of properties that may be passed * to the Call.setProperty method. * * @param name Name of the property * @param value Value of the property * * @throws javax.xml.rpc.JAXRPCException *
    *
  • If an optional standard property name is * specified, however this Call implementation * class does not support the configuration of * this property. *
  • If an invalid (or unsupported) property name is * specified or if a value of mismatched property * type is passed. *
  • If there is any error in the configuration of * a valid property. *
**/ public void setProperty(String name, Object value); /** Gets the value of a named property. * * @param name Name of the property * @return Value of the named property * @throws javax.xml.rpc.JAXRPCException if an invalid or * unsupported property name is passed. **/ public Object getProperty(String name); /** Removes a named property. * @param name Name of the property * @throws javax.xml.rpc.JAXRPCException if an invalid or * unsupported property name is passed. **/ public void removeProperty(String name); /** Gets the names of configurable properties supported by * this Call object. * @return Iterator for the property names **/ public java.util.Iterator getPropertyNames(); /** Invokes a specific operation using a synchronous request-response * interaction mode. * * @param inputParams Object[]--Parameters for this invocation. This * includes only the input params * @return Returns the return value or null * @throws java.rmi.RemoteException if there is any error in the * remote method invocation * @throws javax.xml.rpc.soap.SOAPFaultException Indicates a SOAP fault * @throws javax.xml.rpc.JAXRPCException *
    *
  • If there is an error in the configuration of the * Call object *
  • If inputParams do not match the required parameter * set (as specified through the addParameter * invocations or in the corresponding WSDL) *
  • If parameters and return type are incorrectly * specified *
**/ public Object invoke(Object[] inputParams) throws java.rmi.RemoteException; /** Invokes a specific operation using a synchronous request-response * interaction mode. * * @param operationName QName of the operation * @param inputParams Object[]--Parameters for this invocation. This * includes only the input params. * @return Return value or null * @throws java.rmi.RemoteException if there is any error in the * remote method invocation. * @throws javax.xml.rpc.soap.SOAPFaultException Indicates a SOAP fault * @throws javax.xml.rpc.JAXRPCException *
    *
  • If there is an error in the configuration of the * Call object *
  • If inputParams do not match the required parameter * set (as specified through the addParameter * invocations or in the corresponding WSDL) *
  • If parameters and return type are incorrectly * specified *
**/ public Object invoke(QName operationName, Object[] inputParams) throws java.rmi.RemoteException; /** Invokes a remote method using the one-way interaction mode. The * client thread does not normally block waiting for the completion * of the server processing for this remote method invocation. When * the protocol in use is SOAP/HTTP, this method should block until * an HTTP response code has been received or an error occurs. * * This method * must not throw any remote exceptions. This method may throw a * JAXRPCException during the processing of the one-way * remote call. * * @param inputParams Object[]--Parameters for this invocation. This * includes only the input params. * @throws JAXRPCException if there is an error in the * configuration of the Call object (example: a * non-void return type has been incorrectly specified for the * one-way call) or if there is any error during the * invocation of the one-way remote call **/ public void invokeOneWay(Object[] inputParams); /** Returns a Map of {name, value} for the output parameters of * the last invoked operation. The parameter names in the * returned Map are of type java.lang.String. * * @return Map Output parameters for the last Call.invoke(). * Empty Map is returned if there are no output * parameters. * @throws JAXRPCException If this method is invoked for a * one-way operation or is invoked before any * invoke method has been called. **/ public Map getOutputParams(); /** Returns a List values for the output parameters * of the last invoked operation. * * @return java.util.List Values for the output parameters. An * empty List is returned if there are * no output values. * @throws JAXRPCException If this method is invoked for a * one-way operation or is invoked before any * invoke method has been called. **/ public List getOutputValues(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy