public interface Call
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.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ENCODINGSTYLE_URI_PROPERTY
Standard property for encoding Style: Encoding style specified
as a namespace URI.
|
static java.lang.String |
OPERATION_STYLE_PROPERTY
Standard property for operation style.
|
static java.lang.String |
PASSWORD_PROPERTY
Standard property: Password for authentication
|
static java.lang.String |
SESSION_MAINTAIN_PROPERTY
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.
|
static java.lang.String |
SOAPACTION_URI_PROPERTY
Standard property for SOAPAction.
|
static java.lang.String |
SOAPACTION_USE_PROPERTY
Standard property for SOAPAction.
|
static java.lang.String |
USERNAME_PROPERTY
Standard property: User name for authentication
|
Modifier and Type | Method and Description |
---|---|
void |
addParameter(java.lang.String paramName,
javax.xml.namespace.QName xmlType,
java.lang.Class javaType,
ParameterMode parameterMode)
Adds a parameter type and mode for a specific operation.
|
void |
addParameter(java.lang.String paramName,
javax.xml.namespace.QName xmlType,
ParameterMode parameterMode)
Adds a parameter type and mode for a specific operation.
|
javax.xml.namespace.QName |
getOperationName()
Gets the name of the operation to be invoked using this
Call instance. |
java.util.Map |
getOutputParams()
Returns a
Map of {name, value} for the output parameters of
the last invoked operation. |
java.util.List |
getOutputValues()
Returns a
List values for the output parameters
of the last invoked operation. |
javax.xml.namespace.QName |
getParameterTypeByName(java.lang.String paramName)
Gets the XML type of a parameter by name
|
javax.xml.namespace.QName |
getPortTypeName()
Gets the qualified name of the port type.
|
java.lang.Object |
getProperty(java.lang.String name)
Gets the value of a named property.
|
java.util.Iterator |
getPropertyNames()
Gets the names of configurable properties supported by
this
Call object. |
javax.xml.namespace.QName |
getReturnType()
Gets the return type for a specific operation
|
java.lang.String |
getTargetEndpointAddress()
Gets the address of a target service endpoint.
|
java.lang.Object |
invoke(java.lang.Object[] inputParams)
Invokes a specific operation using a synchronous request-response
interaction mode.
|
java.lang.Object |
invoke(javax.xml.namespace.QName operationName,
java.lang.Object[] inputParams)
Invokes a specific operation using a synchronous request-response
interaction mode.
|
void |
invokeOneWay(java.lang.Object[] inputParams)
Invokes a remote method using the one-way interaction mode.
|
boolean |
isParameterAndReturnSpecRequired(javax.xml.namespace.QName operationName)
Indicates whether
addParameter and
setReturnType methods
are to be invoked to specify the parameter and return type
specification for a specific operation. |
void |
removeAllParameters()
Removes all specified parameters from this
Call instance. |
void |
removeProperty(java.lang.String name)
Removes a named property.
|
void |
setOperationName(javax.xml.namespace.QName operationName)
Sets the name of the operation to be invoked using this
Call instance. |
void |
setPortTypeName(javax.xml.namespace.QName portType)
Sets the qualified name of the port type.
|
void |
setProperty(java.lang.String name,
java.lang.Object value)
Sets the value for a named property.
|
void |
setReturnType(javax.xml.namespace.QName xmlType)
Sets the return type for a specific operation.
|
void |
setReturnType(javax.xml.namespace.QName xmlType,
java.lang.Class javaType)
Sets the return type for a specific operation.
|
void |
setTargetEndpointAddress(java.lang.String address)
Sets the address of the target service endpoint.
|
static final java.lang.String USERNAME_PROPERTY
Type: java.lang.String
static final java.lang.String PASSWORD_PROPERTY
Type: java.lang.String
static final java.lang.String OPERATION_STYLE_PROPERTY
Type: java.lang.String
static final java.lang.String SOAPACTION_USE_PROPERTY
Type: java.lang.Boolean
static final java.lang.String SOAPACTION_URI_PROPERTY
javax.xml.rpc.soap.http.soapaction.use
property is set to true
.
Type: java.lang.String
static final java.lang.String ENCODINGSTYLE_URI_PROPERTY
http://schemas.xmlsoap.org/soap/encoding/
Type: java.lang.String
static final java.lang.String SESSION_MAINTAIN_PROPERTY
false
.
Type: java.lang.Boolean
boolean isParameterAndReturnSpecRequired(javax.xml.namespace.QName operationName)
addParameter
and
setReturnType
methods
are to be invoked to specify the parameter and return type
specification for a specific operation.operationName
- Qualified name of the operationjava.lang.IllegalArgumentException
- If invalid
operation name is specifiedvoid addParameter(java.lang.String paramName, javax.xml.namespace.QName xmlType, ParameterMode parameterMode)
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.paramName
- Name of the parameterxmlType
- XML type of the parameterparameterMode
- Mode of the parameter-whether
ParameterMode.IN
,
ParameterMode.OUT
,
or ParameterMode.INOUT
,javax.xml.rpc.JAXRPCException:
- This exception may
be thrown if the method isParameterAndReturnSpecRequired
returns false
for this operation.java.lang.IllegalArgumentException
- If any illegal
parameter name or XML type is specifiedisParameterAndReturnSpecRequired(javax.xml.namespace.QName)
void addParameter(java.lang.String paramName, javax.xml.namespace.QName xmlType, java.lang.Class javaType, ParameterMode parameterMode)
paramName
- Name of the parameterxmlType
- XML type of the parameterjavaType
- Java class of the parameterparameterMode
- Mode of the parameter-whether
ParameterMode.IN, OUT or INOUTJAXRPCException
- isParameterAndReturnSpecRequired
returns false
.
TypeMappingRegistry
has no serializers for this mapping.
java.lang.IllegalArgumentException
- If any illegal
parameter name or XML type is specifiedjava.lang.UnsupportedOperationException
- If this
method is not supportedisParameterAndReturnSpecRequired(javax.xml.namespace.QName)
javax.xml.namespace.QName getParameterTypeByName(java.lang.String paramName)
paramName
- Name of the parametervoid setReturnType(javax.xml.namespace.QName xmlType)
setReturnType(null)
removes the return
type for this Call object.xmlType
- XML data type of the return valueJAXRPCException
- This exception
may be thrown when the method
isParameterAndReturnSpecRequired
returns
false
.java.lang.IllegalArgumentException
- If an illegal
XML type is specifiedvoid setReturnType(javax.xml.namespace.QName xmlType, java.lang.Class javaType)
xmlType
- XML data type of the return valuejavaType
- Java Class of the return valueJAXRPCException
- isParameterAndReturnSpecRequired
returns false
.
java.lang.UnsupportedOperationException
- If this
method is not supportedjava.lang.IllegalArgumentException
- If an illegal
XML type is specifiedjavax.xml.namespace.QName getReturnType()
void removeAllParameters()
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.JAXRPCException
- This exception may be
thrown If this method is called when the method
isParameterAndReturnSpecRequired
returns false
for this Call's operation.javax.xml.namespace.QName getOperationName()
Call
instance.void setOperationName(javax.xml.namespace.QName operationName)
Call
instance.operationName
- QName of the operation to be
invoked using the Call instancejavax.xml.namespace.QName getPortTypeName()
void setPortTypeName(javax.xml.namespace.QName portType)
portType
- Qualified name of the port typevoid setTargetEndpointAddress(java.lang.String address)
Call
instance.address
- Address of the target service endpoint;
specified as an URIjava.lang.String getTargetEndpointAddress()
void setProperty(java.lang.String name, java.lang.Object value)
Call.setProperty
method.name
- Name of the propertyvalue
- Value of the propertyJAXRPCException
- Call
implementation
class does not support the configuration of
this property.
java.lang.Object getProperty(java.lang.String name)
name
- Name of the propertyJAXRPCException
- if an invalid or
unsupported property name is passed.void removeProperty(java.lang.String name)
name
- Name of the propertyJAXRPCException
- if an invalid or
unsupported property name is passed.java.util.Iterator getPropertyNames()
Call
object.java.lang.Object invoke(java.lang.Object[] inputParams) throws java.rmi.RemoteException
inputParams
- Object[]--Parameters for this invocation. This
includes only the input paramsnull
java.rmi.RemoteException
- if there is any error in the
remote method invocationSOAPFaultException
- Indicates a SOAP faultJAXRPCException
- Call
object
inputParams
do not match the required parameter
set (as specified through the addParameter
invocations or in the corresponding WSDL)
java.lang.Object invoke(javax.xml.namespace.QName operationName, java.lang.Object[] inputParams) throws java.rmi.RemoteException
operationName
- QName of the operationinputParams
- Object[]--Parameters for this invocation. This
includes only the input params.java.rmi.RemoteException
- if there is any error in the
remote method invocation.SOAPFaultException
- Indicates a SOAP faultJAXRPCException
- Cal
l object
inputParam
s do not match the required parameter
set (as specified through the addParameter
invocations or in the corresponding WSDL)
void invokeOneWay(java.lang.Object[] inputParams)
JAXRPCException
during the processing of the one-way
remote call.inputParams
- Object[]--Parameters for this invocation. This
includes only the input params.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 calljava.util.Map getOutputParams()
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
.Call.invoke()
.
Empty Map
is returned if there are no output
parameters.JAXRPCException
- If this method is invoked for a
one-way operation or is invoked before any
invoke
method has been called.java.util.List getOutputValues()
List
values for the output parameters
of the last invoked operation.List
is returned if there are
no output values.JAXRPCException
- If this method is invoked for a
one-way operation or is invoked before any
invoke
method has been called.