Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.axis.client
Class Call  view Call download Call.java

java.lang.Object
  extended byorg.apache.axis.client.Call
All Implemented Interfaces:
javax.xml.rpc.Call

public class Call
extends java.lang.Object
implements javax.xml.rpc.Call

Axis' JAXRPC Dynamic Invocation Interface implementation of the Call interface. This class should be used to actually invoke the Web Service. It can be prefilled by a WSDL document (on the constructor to the Service object) or you can fill in the data yourself.

 Standard properties defined by in JAX-RPC's javax..xml.rpc.Call interface:
     USERNAME_PROPERTY        - User name for authentication
     PASSWORD_PROPERTY        - Password for authentication
     SESSION_PROPERTY         - Participate in a session with the endpoint?
     OPERATION_STYLE_PROPERTY - "rpc" or "document"
     SOAPACTION_USE_PROPERTY  - Should SOAPAction be used?
     SOAPACTION_URI_PROPERTY  - If SOAPAction is used, this is that action
     ENCODING_STYLE_PROPERTY  - Default is SOAP 1.1:  "http://schemas.xmlsoap.org/soap/encoding/"

 AXIS properties:
     SEND_TYPE_ATTR - Should we send the XSI type attributes (true/false)
     TIMEOUT        - Timeout used by transport sender in milliseconds
     TRANSPORT_NAME - Name of transport handler to use
     ATTACHMENT_ENCAPSULATION_FORMAT- Send attachments as MIME the default, or DIME.
     CHARACTER_SET_ENCODING - Character set encoding to use for request
 


Field Summary
static java.lang.String ATTACHMENT_ENCAPSULATION_FORMAT
          Property for setting attachment format.
static java.lang.String ATTACHMENT_ENCAPSULATION_FORMAT_DIME
          Property value for setting attachment format as DIME.
static java.lang.String ATTACHMENT_ENCAPSULATION_FORMAT_MIME
          Property value for setting attachment format as MIME.
protected  java.util.Vector attachmentParts
          these are our attachments
static java.lang.String CHARACTER_SET_ENCODING
          This is the character set encoding to use for the message
static java.lang.String CHECK_MUST_UNDERSTAND
          If this property is true, code will enforce must understand check on both the request and the response paths.
static java.lang.String CONNECTION_TIMEOUT_PROPERTY
          Timeout property: should be accompanies by an integer
private  boolean encodingStyleExplicitlySet
          This is true when someone has called setEncodingStyle()
protected static org.apache.commons.logging.Log entLog
           
static java.lang.String FAULT_ON_NO_RESPONSE
          If this property is true, the code will throw a fault if there is no response message from the server.
private  boolean invokeOneWay
           
private  boolean isMsg
           
private  boolean isNeverInvoked
          This is false when invoke() is called.
static java.lang.String JAXRPC_PORTTYPE_NAME
          Deprecated. use WSDL_PORT_NAME instead.
static java.lang.String JAXRPC_SERVICE
          Deprecated. use WSDL_SERVICE instead.
protected static org.apache.commons.logging.Log log
           
private  boolean maintainSession
           
(package private) static javax.xml.rpc.ParameterMode[] modes
           
private  org.apache.axis.MessageContext msgContext
           
private  java.util.Vector myHeaders
           
private  org.apache.axis.utils.LockableHashtable myProperties
           
private  org.apache.axis.handlers.soap.SOAPService myService
          the name of a SOAP service that the call is bound to
protected static java.lang.String ONE_WAY
          Internal property to indicate a one way call.
private  org.apache.axis.description.OperationDesc operation
          Metadata for the operation associated with this Call
private  javax.xml.namespace.QName operationName
           
private  boolean operationSetManually
          This will be true if an OperationDesc is handed to us whole
private  java.util.HashMap outParams
           
private  java.util.ArrayList outParamsList
           
private  boolean parmAndRetReq
           
private  java.lang.String password
           
private  javax.xml.namespace.QName portName
           
private  javax.xml.namespace.QName portTypeName
           
private static java.util.ArrayList propertyNames
          Configurable properties supported by this Call object.
static java.lang.String SEND_TYPE_ATTR
           
private  Service service
           
private  java.lang.String SOAPActionURI
           
static java.lang.String STREAMING_PROPERTY
          Streaming property: should be accompanied by an boolean (i.e.
private  java.lang.Integer timeout
           
private static org.apache.commons.logging.Log tlog
           
private  Transport transport
           
static java.lang.String TRANSPORT_NAME
          This is the name of a property to set the transport of the message
static java.lang.String TRANSPORT_PROPERTY
          This is not the name of a property that can be set with setProperty, despite its name.
private  java.lang.String transportName
           
private static java.util.ArrayList transportPackages
          Cache of transport packages we've already added to the system property.
private static java.util.Hashtable transports
          A Hashtable mapping protocols (Strings) to Transports (classes)
private  boolean useExplicitlySet
          This is true when someone has called setOperationUse()
private  java.lang.String username
           
private  boolean useSOAPAction
           
private  boolean useStreaming
           
static java.lang.String WSDL_PORT_NAME
          this is a property set in the message context when the invocation process begins, for the benefit of handlers
static java.lang.String WSDL_SERVICE
          this is a property set in the message context when the invocation process begins, for the benefit of handlers
 
Fields inherited from interface javax.xml.rpc.Call
ENCODINGSTYLE_URI_PROPERTY, OPERATION_STYLE_PROPERTY, PASSWORD_PROPERTY, SESSION_MAINTAIN_PROPERTY, SOAPACTION_URI_PROPERTY, SOAPACTION_USE_PROPERTY, USERNAME_PROPERTY
 
Constructor Summary
Call(Service service)
          Default constructor - not much else to say.
Call(java.lang.String url)
          Build a call from a URL string.
Call(java.net.URL url)
          Build a call from a URL.
 
Method Summary
 void addAttachmentPart(java.lang.Object attachment)
          This method adds an attachment.
 void addFault(javax.xml.namespace.QName qname, java.lang.Class cls, javax.xml.namespace.QName xmlType, boolean isComplex)
          Add a fault for this operation.
 void addHeader(org.apache.axis.message.SOAPHeaderElement header)
          Add a header which should be inserted into each outgoing message we generate.
 void addParameter(javax.xml.namespace.QName paramName, javax.xml.namespace.QName xmlType, java.lang.Class javaType, javax.xml.rpc.ParameterMode parameterMode)
          Adds the specified parameter to the list of parameters for the operation associated with this Call object.
 void addParameter(javax.xml.namespace.QName paramName, javax.xml.namespace.QName xmlType, javax.xml.rpc.ParameterMode parameterMode)
          Adds the specified parameter to the list of parameters for the operation associated with this Call object.
 void addParameter(java.lang.String paramName, javax.xml.namespace.QName xmlType, java.lang.Class javaType, javax.xml.rpc.ParameterMode parameterMode)
          Adds a parameter type and mode for a specific operation.
 void addParameter(java.lang.String paramName, javax.xml.namespace.QName xmlType, javax.xml.rpc.ParameterMode parameterMode)
          Adds the specified parameter to the list of parameters for the operation associated with this Call object.
 void addParameterAsHeader(javax.xml.namespace.QName paramName, javax.xml.namespace.QName xmlType, java.lang.Class javaType, javax.xml.rpc.ParameterMode parameterMode, javax.xml.rpc.ParameterMode headerMode)
          Adds a parameter type as a soap:header.
 void addParameterAsHeader(javax.xml.namespace.QName paramName, javax.xml.namespace.QName xmlType, javax.xml.rpc.ParameterMode parameterMode, javax.xml.rpc.ParameterMode headerMode)
          Adds a parameter type as a soap:header.
static void addTransportPackage(java.lang.String packageName)
          Add a package to the system protocol handler search path.
 void clearHeaders()
          Clear the list of headers which we insert into each message Note: Not part of JAX-RPC specification.
 void clearOperation()
           
 java.lang.String getEncodingStyle()
          Returns the encoding style as a URI that should be used for the SOAP message.
private  java.lang.Class getJavaTypeForQName(javax.xml.namespace.QName name)
          Get the javaType for a given parameter.
 boolean getMaintainSession()
          Get the value of maintainSession flag.
 org.apache.axis.MessageContext getMessageContext()
          Obtain a reference to our MessageContext.
 org.apache.axis.description.OperationDesc getOperation()
           
 javax.xml.namespace.QName getOperationName()
          Returns the operation name associated with this Call object.
 org.apache.axis.constants.Style getOperationStyle()
          Get the operation style.
 org.apache.axis.constants.Use getOperationUse()
          Get the operation use.
 java.util.Map getOutputParams()
          Get the output parameters (if any) from the last invocation.
 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)
          Return the QName of the type of the parameters with the given name.
 javax.xml.namespace.QName getParameterTypeByQName(javax.xml.namespace.QName paramQName)
          Return the QName of the type of the parameters with the given name.
private  java.lang.Object[] getParamList(java.lang.Object[] params)
          Convert the list of objects into RPCParam's based on the paramNames, paramXMLTypes and paramModes variables.
 java.lang.String getPassword()
          Get the password.
 javax.xml.namespace.QName getPortName()
          Returns the fully qualified name of the port for this Call object (if there is one).
 javax.xml.namespace.QName getPortTypeName()
          Returns the fully qualified name of the port type for this Call object (if there is one).
 java.lang.Object getProperty(java.lang.String name)
          Returns the value associated with the named property.
 java.util.Iterator getPropertyNames()
          Gets the names of configurable properties supported by this Call object.
 org.apache.axis.Message getResponseMessage()
          Directly get the response message in our MessageContext.
 javax.xml.namespace.QName getReturnType()
          Returns the QName of the type of the return value of this Call - or null if not set.
 Service getService()
          Get the Service object associated with this Call object.
 java.lang.String getSOAPActionURI()
          Get the soapAction URI.
 boolean getStreaming()
           
 java.lang.String getTargetEndpointAddress()
          Returns the URL of the target Web Service.
 java.lang.Integer getTimeout()
           
 Transport getTransportForProtocol(java.lang.String protocol)
          Get the Transport registered for the given protocol.
 org.apache.axis.encoding.TypeMapping getTypeMapping()
           
 java.lang.String getUsername()
          Get the user name.
static void initialize()
          Set up the default transport URL mappings.
 void invoke()
          Invoke this Call with its established MessageContext (perhaps because you called this.setRequestMessage()) Note: Not part of JAX-RPC specification.
 org.apache.axis.message.SOAPEnvelope invoke(org.apache.axis.Message msg)
          Invoke the service with a custom Message.
 java.lang.Object invoke(java.lang.Object[] params)
          Invokes the operation associated with this Call object using the passed in parameters as the arguments to the method.
 java.lang.Object invoke(javax.xml.namespace.QName operationName, java.lang.Object[] params)
          Invokes a specific operation using a synchronous request-response interaction mode.
 java.lang.Object invoke(org.apache.axis.message.RPCElement body)
          Invoke an RPC service with a pre-constructed RPCElement.
 org.apache.axis.message.SOAPEnvelope invoke(org.apache.axis.message.SOAPEnvelope env)
          Invoke the service with a custom SOAPEnvelope.
 java.lang.Object invoke(java.lang.String method, java.lang.Object[] args)
          Convenience method to invoke a method with a default (empty) namespace.
 java.lang.Object invoke(java.lang.String namespace, java.lang.String method, java.lang.Object[] args)
          Invoke an RPC service with a method name and arguments.
private  void invokeEngine(org.apache.axis.MessageContext msgContext)
          Invoke the message on the current engine and do not wait for a response.
private  void invokeEngineOneWay(org.apache.axis.MessageContext msgContext)
          Implement async invocation by running the request in a new thread
 void invokeOneWay(java.lang.Object[] params)
          Invokes the operation associated with this Call object using the passed in parameters as the arguments to the method.
 boolean isParameterAndReturnSpecRequired(javax.xml.namespace.QName operationName)
          Is the caller required to provide the parameter and return type specification? If true, then addParameter and setReturnType MUST be called to provide the meta data.
 boolean isPropertySupported(java.lang.String name)
           
 void registerTypeMapping(java.lang.Class javaType, javax.xml.namespace.QName xmlType, java.lang.Class sfClass, java.lang.Class dfClass)
          register this type matting
 void registerTypeMapping(java.lang.Class javaType, javax.xml.namespace.QName xmlType, java.lang.Class sfClass, java.lang.Class dfClass, boolean force)
          register a type.
 void registerTypeMapping(java.lang.Class javaType, javax.xml.namespace.QName xmlType, org.apache.axis.encoding.SerializerFactory sf, org.apache.axis.encoding.DeserializerFactory df)
          Register type mapping information for serialization/deserialization Note: Not part of JAX-RPC specification.
 void registerTypeMapping(java.lang.Class javaType, javax.xml.namespace.QName xmlType, org.apache.axis.encoding.SerializerFactory sf, org.apache.axis.encoding.DeserializerFactory df, boolean force)
          Register type mapping information for serialization/deserialization Note: Not part of JAX-RPC specification.
 void removeAllParameters()
          Clears the list of parameters.
 void removeProperty(java.lang.String name)
          Removes (if set) the named property.
 void setClientHandlers(org.apache.axis.Handler reqHandler, org.apache.axis.Handler respHandler)
          Sets the client-side request and response Handlers.
 void setEncodingStyle(java.lang.String namespaceURI)
          Sets the encoding style to the URL passed in.
 void setMaintainSession(boolean yesno)
          Determine whether we'd like to track sessions or not.
 void setOperation(org.apache.axis.description.OperationDesc operation)
          Hand a complete OperationDesc to the Call, and note that this was done so that others don't try to mess with it by calling addParameter, setReturnType, etc.
 void setOperation(javax.xml.namespace.QName portName, javax.xml.namespace.QName opName)
          prefill as much info from the WSDL as it can.
 void setOperation(javax.xml.namespace.QName portName, java.lang.String opName)
          prefill as much info from the WSDL as it can.
 void setOperation(java.lang.String opName)
          Prefill as much info from the WSDL as it can.
 void setOperationName(javax.xml.namespace.QName opName)
          Sets the operation name associated with this Call object.
 void setOperationName(java.lang.String opName)
          This is a convenience method.
 void setOperationStyle(java.lang.String operationStyle)
          Set the operation style: "document", "rpc"
 void setOperationStyle(org.apache.axis.constants.Style operationStyle)
          Set the operation style
 void setOperationUse(java.lang.String operationUse)
          Set the operation use: "literal", "encoded"
 void setOperationUse(org.apache.axis.constants.Use operationUse)
          Set the operation use
 void setOption(java.lang.String name, java.lang.Object value)
          Set engine option.
 void setPassword(java.lang.String password)
          Set the password.
 void setPortName(javax.xml.namespace.QName portName)
          Sets the port name of this Call object.
 void setPortTypeName(javax.xml.namespace.QName portType)
          Sets the port type name of this Call object.
 void setProperty(java.lang.String name, java.lang.Object value)
          Allows you to set a named property to the passed in value.
 void setRequestMessage(org.apache.axis.Message msg)
          Directly set the request message in our MessageContext.
 void setReturnClass(java.lang.Class cls)
          Sets the desired return Java Class.
 void setReturnQName(javax.xml.namespace.QName qname)
          Set the QName of the return element NOT part of JAX-RPC
 void setReturnType(javax.xml.namespace.QName type)
          Sets the return type of the operation associated with this Call object.
 void setReturnType(javax.xml.namespace.QName xmlType, java.lang.Class javaType)
          Sets the return type for a specific operation.
 void setReturnTypeAsHeader(javax.xml.namespace.QName xmlType)
          Set the return type as a header
 void setReturnTypeAsHeader(javax.xml.namespace.QName xmlType, java.lang.Class javaType)
          Set the return type as a header
 void setSOAPActionURI(java.lang.String SOAPActionURI)
          Set the soapAction URI.
 void setSOAPService(org.apache.axis.handlers.soap.SOAPService service)
          Set the service so that it defers missing property gets to the Call.
 void setSOAPVersion(org.apache.axis.soap.SOAPConstants soapConstants)
          Allow the user to set the default SOAP version.
 void setStreaming(boolean useStreaming)
           
 void setTargetEndpointAddress(java.lang.String address)
          Sets the endpoint address of the target service port.
 void setTargetEndpointAddress(java.net.URL address)
          Sets the URL of the target Web Service.
 void setTimeout(java.lang.Integer timeout)
           
 void setTransport(Transport trans)
          Set the Transport Note: Not part of JAX-RPC specification.
static void setTransportForProtocol(java.lang.String protocol, java.lang.Class transportClass)
          Register a Transport that should be used for URLs of the specified protocol.
 void setUsername(java.lang.String username)
          Set the username.
 void setUseSOAPAction(boolean useSOAPAction)
          Flag to indicate if soapAction should be used.
 boolean useSOAPAction()
          Discover if soapAction is being used.
private  void verifyBooleanProperty(java.lang.String name, java.lang.Object value)
          Verify that the type of the object is a Boolean, and throw an i18n-ized exception if not
private  void verifyIntegerProperty(java.lang.String name, java.lang.Object value)
          Verify that the type of the object is an Integer, and throw an i18n-ized exception if not
private  void verifyStringProperty(java.lang.String name, java.lang.Object value)
          Verify that the type of the object is a String, and throw an i18n-ized exception if not
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected static org.apache.commons.logging.Log log

tlog

private static org.apache.commons.logging.Log tlog

entLog

protected static org.apache.commons.logging.Log entLog

parmAndRetReq

private boolean parmAndRetReq

service

private Service service

portName

private javax.xml.namespace.QName portName

portTypeName

private javax.xml.namespace.QName portTypeName

operationName

private javax.xml.namespace.QName operationName

msgContext

private org.apache.axis.MessageContext msgContext

myProperties

private org.apache.axis.utils.LockableHashtable myProperties

username

private java.lang.String username

password

private java.lang.String password

maintainSession

private boolean maintainSession

useSOAPAction

private boolean useSOAPAction

SOAPActionURI

private java.lang.String SOAPActionURI

timeout

private java.lang.Integer timeout

useStreaming

private boolean useStreaming

operation

private org.apache.axis.description.OperationDesc operation
Metadata for the operation associated with this Call


operationSetManually

private boolean operationSetManually
This will be true if an OperationDesc is handed to us whole


invokeOneWay

private boolean invokeOneWay

isMsg

private boolean isMsg

transport

private Transport transport

transportName

private java.lang.String transportName

outParams

private java.util.HashMap outParams

outParamsList

private java.util.ArrayList outParamsList

myHeaders

private java.util.Vector myHeaders

SEND_TYPE_ATTR

public static final java.lang.String SEND_TYPE_ATTR
See Also:
Constant Field Values

TRANSPORT_NAME

public static final java.lang.String TRANSPORT_NAME
This is the name of a property to set the transport of the message

See Also:
setProperty(java.lang.String, java.lang.Object) 55 , Constant Field Values

CHARACTER_SET_ENCODING

public static final java.lang.String CHARACTER_SET_ENCODING
This is the character set encoding to use for the message

See Also:
setProperty(java.lang.String, java.lang.Object) 55 , Constant Field Values

TRANSPORT_PROPERTY

public static final java.lang.String TRANSPORT_PROPERTY
This is not the name of a property that can be set with setProperty, despite its name.

See Also:
Constant Field Values

WSDL_SERVICE

public static final java.lang.String WSDL_SERVICE
this is a property set in the message context when the invocation process begins, for the benefit of handlers

See Also:
Constant Field Values

WSDL_PORT_NAME

public static final java.lang.String WSDL_PORT_NAME
this is a property set in the message context when the invocation process begins, for the benefit of handlers

See Also:
Constant Field Values

JAXRPC_SERVICE

public static final java.lang.String JAXRPC_SERVICE
Deprecated. use WSDL_SERVICE instead.

See Also:
Constant Field Values

JAXRPC_PORTTYPE_NAME

public static final java.lang.String JAXRPC_PORTTYPE_NAME
Deprecated. use WSDL_PORT_NAME instead.

See Also:
Constant Field Values

FAULT_ON_NO_RESPONSE

public static final java.lang.String FAULT_ON_NO_RESPONSE
If this property is true, the code will throw a fault if there is no response message from the server. Otherwise, the invoke method will return a null.

See Also:
Constant Field Values

CHECK_MUST_UNDERSTAND

public static final java.lang.String CHECK_MUST_UNDERSTAND
If this property is true, code will enforce must understand check on both the request and the response paths.

See Also:
Constant Field Values

ATTACHMENT_ENCAPSULATION_FORMAT

public static final java.lang.String ATTACHMENT_ENCAPSULATION_FORMAT
Property for setting attachment format. Can be set to either DIME or MIME (default)

See Also:
setProperty(java.lang.String, java.lang.Object) 55 , ATTACHMENT_ENCAPSULATION_FORMAT_DIME 55 , ATTACHMENT_ENCAPSULATION_FORMAT_MIME 55 , Constant Field Values

ATTACHMENT_ENCAPSULATION_FORMAT_MIME

public static final java.lang.String ATTACHMENT_ENCAPSULATION_FORMAT_MIME
Property value for setting attachment format as MIME.

See Also:
Constant Field Values

ATTACHMENT_ENCAPSULATION_FORMAT_DIME

public static final java.lang.String ATTACHMENT_ENCAPSULATION_FORMAT_DIME
Property value for setting attachment format as DIME.

See Also:
Constant Field Values

CONNECTION_TIMEOUT_PROPERTY

public static final java.lang.String CONNECTION_TIMEOUT_PROPERTY
Timeout property: should be accompanies by an integer

See Also:
setProperty(java.lang.String, java.lang.Object) 55 , Constant Field Values

STREAMING_PROPERTY

public static final java.lang.String STREAMING_PROPERTY
Streaming property: should be accompanied by an boolean (i.e. NO high-fidelity recording, deserialize on the fly)

See Also:
setProperty(java.lang.String, java.lang.Object) 55 , Constant Field Values

ONE_WAY

protected static final java.lang.String ONE_WAY
Internal property to indicate a one way call. That will disable processing of response handlers.

See Also:
Constant Field Values

transports

private static java.util.Hashtable transports
A Hashtable mapping protocols (Strings) to Transports (classes)


modes

static javax.xml.rpc.ParameterMode[] modes

encodingStyleExplicitlySet

private boolean encodingStyleExplicitlySet
This is true when someone has called setEncodingStyle()


useExplicitlySet

private boolean useExplicitlySet
This is true when someone has called setOperationUse()


myService

private org.apache.axis.handlers.soap.SOAPService myService
the name of a SOAP service that the call is bound to


attachmentParts

protected java.util.Vector attachmentParts
these are our attachments


isNeverInvoked

private boolean isNeverInvoked
This is false when invoke() is called.


propertyNames

private static java.util.ArrayList propertyNames
Configurable properties supported by this Call object.


transportPackages

private static java.util.ArrayList transportPackages
Cache of transport packages we've already added to the system property.

Constructor Detail

Call

public Call(Service service)
Default constructor - not much else to say.


Call

public Call(java.lang.String url)
     throws java.net.MalformedURLException
Build a call from a URL string. This is handy so that you don't have to manually call Call.initialize() in order to register custom transports. In other words, whereas doing a new URL("local:...") would fail, new Call("local:...") works because we do the initialization of our own and any configured custom protocols.


Call

public Call(java.net.URL url)
Build a call from a URL.

Method Detail

setProperty

public void setProperty(java.lang.String name,
                        java.lang.Object value)
Allows you to set a named property to the passed in value. There are a few known properties (like username, password, etc) that are variables in Call. The rest of the properties are stored in a Hashtable. These common properties should be accessed via the accessors for speed/type safety, but they may still be obtained via this method. It's up to one of the Handlers (or the Axis engine itself) to go looking for one of them. There are various well defined properties defined in the JAX-RPC specification and declared in the Call and Stub classes. It is not possible to set any other properties beginning in java. or javax. that are not in the specification.

Specified by:
setProperty in interface javax.xml.rpc.Call

verifyStringProperty

private void verifyStringProperty(java.lang.String name,
                                  java.lang.Object value)
Verify that the type of the object is a String, and throw an i18n-ized exception if not


verifyBooleanProperty

private void verifyBooleanProperty(java.lang.String name,
                                   java.lang.Object value)
Verify that the type of the object is a Boolean, and throw an i18n-ized exception if not


verifyIntegerProperty

private void verifyIntegerProperty(java.lang.String name,
                                   java.lang.Object value)
Verify that the type of the object is an Integer, and throw an i18n-ized exception if not


getProperty

public java.lang.Object getProperty(java.lang.String name)
Returns the value associated with the named property.

Specified by:
getProperty in interface javax.xml.rpc.Call

removeProperty

public void removeProperty(java.lang.String name)
Removes (if set) the named property.

Specified by:
removeProperty in interface javax.xml.rpc.Call

getPropertyNames

public java.util.Iterator getPropertyNames()
Description copied from interface: javax.xml.rpc.Call
Gets the names of configurable properties supported by this Call object.

Specified by:
getPropertyNames in interface javax.xml.rpc.Call

isPropertySupported

public boolean isPropertySupported(java.lang.String name)

setUsername

public void setUsername(java.lang.String username)
Set the username.


getUsername

public java.lang.String getUsername()
Get the user name.


setPassword

public void setPassword(java.lang.String password)
Set the password.


getPassword

public java.lang.String getPassword()
Get the password.


setMaintainSession

public void setMaintainSession(boolean yesno)
Determine whether we'd like to track sessions or not. This overrides the default setting from the service. This just passes through the value into the MessageContext. Note: Not part of JAX-RPC specification.


getMaintainSession

public boolean getMaintainSession()
Get the value of maintainSession flag.


setOperationStyle

public void setOperationStyle(java.lang.String operationStyle)
Set the operation style: "document", "rpc"


setOperationStyle

public void setOperationStyle(org.apache.axis.constants.Style operationStyle)
Set the operation style


getOperationStyle

public org.apache.axis.constants.Style getOperationStyle()
Get the operation style.


setOperationUse

public void setOperationUse(java.lang.String operationUse)
Set the operation use: "literal", "encoded"


setOperationUse

public void setOperationUse(org.apache.axis.constants.Use operationUse)
Set the operation use


getOperationUse

public org.apache.axis.constants.Use getOperationUse()
Get the operation use.


setUseSOAPAction

public void setUseSOAPAction(boolean useSOAPAction)
Flag to indicate if soapAction should be used.


useSOAPAction

public boolean useSOAPAction()
Discover if soapAction is being used.


setSOAPActionURI

public void setSOAPActionURI(java.lang.String SOAPActionURI)
Set the soapAction URI.


getSOAPActionURI

public java.lang.String getSOAPActionURI()
Get the soapAction URI.


setEncodingStyle

public void setEncodingStyle(java.lang.String namespaceURI)
Sets the encoding style to the URL passed in.


getEncodingStyle

public java.lang.String getEncodingStyle()
Returns the encoding style as a URI that should be used for the SOAP message.


setTargetEndpointAddress

public void setTargetEndpointAddress(java.lang.String address)
Sets the endpoint address of the target service port. This address must correspond to the transport specified in the binding for this Call instance.

Specified by:
setTargetEndpointAddress in interface javax.xml.rpc.Call

setTargetEndpointAddress

public void setTargetEndpointAddress(java.net.URL address)
Sets the URL of the target Web Service. Note: Not part of JAX-RPC specification.


getTargetEndpointAddress

public java.lang.String getTargetEndpointAddress()
Returns the URL of the target Web Service.

Specified by:
getTargetEndpointAddress in interface javax.xml.rpc.Call

getTimeout

public java.lang.Integer getTimeout()

setTimeout

public void setTimeout(java.lang.Integer timeout)

getStreaming

public boolean getStreaming()

setStreaming

public void setStreaming(boolean useStreaming)

isParameterAndReturnSpecRequired

public boolean isParameterAndReturnSpecRequired(javax.xml.namespace.QName operationName)
Is the caller required to provide the parameter and return type specification? If true, then addParameter and setReturnType MUST be called to provide the meta data. If false, then addParameter and setReturnType SHOULD NOT be called because the Call object already has the meta data describing the parameters and return type. If addParameter is called, the specified parameter is added to the end of the list of parameters.

Specified by:
isParameterAndReturnSpecRequired in interface javax.xml.rpc.Call

addParameter

public void addParameter(javax.xml.namespace.QName paramName,
                         javax.xml.namespace.QName xmlType,
                         javax.xml.rpc.ParameterMode parameterMode)
Adds the specified parameter to the list of parameters for the operation associated with this Call object. Note: Not part of JAX-RPC specification.


addParameter

public void addParameter(javax.xml.namespace.QName paramName,
                         javax.xml.namespace.QName xmlType,
                         java.lang.Class javaType,
                         javax.xml.rpc.ParameterMode parameterMode)
Adds the specified parameter to the list of parameters for the operation associated with this Call object. Note: Not part of JAX-RPC specification.


addParameter

public void addParameter(java.lang.String paramName,
                         javax.xml.namespace.QName xmlType,
                         javax.xml.rpc.ParameterMode parameterMode)
Adds the specified parameter to the list of parameters for the operation associated with this Call object.

Specified by:
addParameter in interface javax.xml.rpc.Call

addParameter

public void addParameter(java.lang.String paramName,
                         javax.xml.namespace.QName xmlType,
                         java.lang.Class javaType,
                         javax.xml.rpc.ParameterMode parameterMode)
Adds a parameter type and mode for a specific operation. Note that the client code is not required to call any addParameter and setReturnType methods before calling the invoke method. A Call implementation class can determine the parameter types by using the Java reflection and configured type mapping registry.

Specified by:
addParameter in interface javax.xml.rpc.Call

addParameterAsHeader

public void addParameterAsHeader(javax.xml.namespace.QName paramName,
                                 javax.xml.namespace.QName xmlType,
                                 javax.xml.rpc.ParameterMode parameterMode,
                                 javax.xml.rpc.ParameterMode headerMode)
Adds a parameter type as a soap:header.


addParameterAsHeader

public void addParameterAsHeader(javax.xml.namespace.QName paramName,
                                 javax.xml.namespace.QName xmlType,
                                 java.lang.Class javaType,
                                 javax.xml.rpc.ParameterMode parameterMode,
                                 javax.xml.rpc.ParameterMode headerMode)
Adds a parameter type as a soap:header.


getParameterTypeByName

public javax.xml.namespace.QName getParameterTypeByName(java.lang.String paramName)
Return the QName of the type of the parameters with the given name.

Specified by:
getParameterTypeByName in interface javax.xml.rpc.Call

getParameterTypeByQName

public javax.xml.namespace.QName getParameterTypeByQName(javax.xml.namespace.QName paramQName)
Return the QName of the type of the parameters with the given name. Note: Not part of JAX-RPC specification.


setReturnType

public void setReturnType(javax.xml.namespace.QName type)
Sets the return type of the operation associated with this Call object.

Specified by:
setReturnType in interface javax.xml.rpc.Call

setReturnType

public void setReturnType(javax.xml.namespace.QName xmlType,
                          java.lang.Class javaType)
Sets the return type for a specific operation.

Specified by:
setReturnType in interface javax.xml.rpc.Call

setReturnTypeAsHeader

public void setReturnTypeAsHeader(javax.xml.namespace.QName xmlType)
Set the return type as a header


setReturnTypeAsHeader

public void setReturnTypeAsHeader(javax.xml.namespace.QName xmlType,
                                  java.lang.Class javaType)
Set the return type as a header


getReturnType

public javax.xml.namespace.QName getReturnType()
Returns the QName of the type of the return value of this Call - or null if not set. Note: Not part of JAX-RPC specification.

Specified by:
getReturnType in interface javax.xml.rpc.Call

setReturnQName

public void setReturnQName(javax.xml.namespace.QName qname)
Set the QName of the return element NOT part of JAX-RPC


setReturnClass

public void setReturnClass(java.lang.Class cls)
Sets the desired return Java Class. This is a convenience method which will cause the Call to automatically convert return values into a desired class if possible. For instance, we return object arrays by default now for SOAP arrays - you could specify: setReturnClass(Vector.class) and you'd get a Vector back from invoke() instead of having to do the conversion yourself. Note: Not part of JAX-RPC specification. To be JAX-RPC compliant, use setReturnType(QName, Class).


removeAllParameters

public void removeAllParameters()
Clears the list of parameters.

Specified by:
removeAllParameters in interface javax.xml.rpc.Call

getOperationName

public javax.xml.namespace.QName getOperationName()
Returns the operation name associated with this Call object.

Specified by:
getOperationName in interface javax.xml.rpc.Call

setOperationName

public void setOperationName(javax.xml.namespace.QName opName)
Sets the operation name associated with this Call object. This will not check the WSDL (if there is WSDL) to make sure that it's a valid operation name.

Specified by:
setOperationName in interface javax.xml.rpc.Call

setOperationName

public void setOperationName(java.lang.String opName)
This is a convenience method. If the user doesn't care about the QName of the operation, the user can call this method, which converts a String operation name to a QName.


setOperation

public void setOperation(java.lang.String opName)
Prefill as much info from the WSDL as it can. Right now it's SOAPAction, operation qname, parameter types and return type of the Web Service. This methods considers that port name and target endpoint address have already been set. This is useful when you want to use the same Call instance for several calls on the same Port Note: Not part of JAX-RPC specification.


setOperation

public void setOperation(javax.xml.namespace.QName portName,
                         java.lang.String opName)
prefill as much info from the WSDL as it can. Right now it's target URL, SOAPAction, Parameter types, and return type of the Web Service. If wsdl is not present, this function set port name and operation name and does not modify target endpoint address. Note: Not part of JAX-RPC specification.


setOperation

public void setOperation(javax.xml.namespace.QName portName,
                         javax.xml.namespace.QName opName)
prefill as much info from the WSDL as it can. Right now it's target URL, SOAPAction, Parameter types, and return type of the Web Service. If wsdl is not present, this function set port name and operation name and does not modify target endpoint address. Note: Not part of JAX-RPC specification.


getPortName

public javax.xml.namespace.QName getPortName()
Returns the fully qualified name of the port for this Call object (if there is one).


setPortName

public void setPortName(javax.xml.namespace.QName portName)
Sets the port name of this Call object. This call will not set any additional fields, nor will it do any checking to verify that this port name is actually defined in the WSDL - for now anyway.


getPortTypeName

public javax.xml.namespace.QName getPortTypeName()
Returns the fully qualified name of the port type for this Call object (if there is one).

Specified by:
getPortTypeName in interface javax.xml.rpc.Call

setPortTypeName

public void setPortTypeName(javax.xml.namespace.QName portType)
Sets the port type name of this Call object. This call will not set any additional fields, nor will it do any checking to verify that this port type is actually defined in the WSDL - for now anyway.

Specified by:
setPortTypeName in interface javax.xml.rpc.Call

setSOAPVersion

public void setSOAPVersion(org.apache.axis.soap.SOAPConstants soapConstants)
Allow the user to set the default SOAP version. For SOAP 1.2, pass SOAPConstants.SOAP12_CONSTANTS.


invoke

public java.lang.Object invoke(javax.xml.namespace.QName operationName,
                               java.lang.Object[] params)
                        throws java.rmi.RemoteException
Invokes a specific operation using a synchronous request-response interaction mode. The invoke method takes as parameters the object values corresponding to these defined parameter types. Implementation of the invoke method must check whether the passed parameter values correspond to the number, order and types of parameters specified in the corresponding operation specification.

Specified by:
invoke in interface javax.xml.rpc.Call

invoke

public java.lang.Object invoke(java.lang.Object[] params)
                        throws java.rmi.RemoteException
Invokes the operation associated with this Call object using the passed in parameters as the arguments to the method. For Messaging (ie. non-RPC) the params argument should be an array of SOAPBodyElements. All of them need to be SOAPBodyElements, if any of them are not this method will default back to RPC. In the Messaging case the return value will be a vector of SOAPBodyElements.

Specified by:
invoke in interface javax.xml.rpc.Call

invokeOneWay

public void invokeOneWay(java.lang.Object[] params)
Invokes the operation associated with this Call object using the passed in parameters as the arguments to the method. This will return immediately rather than waiting for the server to complete its processing. NOTE: the return immediately part isn't implemented yet

Specified by:
invokeOneWay in interface javax.xml.rpc.Call

invoke

public org.apache.axis.message.SOAPEnvelope invoke(org.apache.axis.Message msg)
                                            throws org.apache.axis.AxisFault
Invoke the service with a custom Message. This method simplifies invoke(SOAPEnvelope).

Note: Not part of JAX-RPC specification.


invoke

public org.apache.axis.message.SOAPEnvelope invoke(org.apache.axis.message.SOAPEnvelope env)
                                            throws org.apache.axis.AxisFault
Invoke the service with a custom SOAPEnvelope.

Note: Not part of JAX-RPC specification.


setTransportForProtocol

public static void setTransportForProtocol(java.lang.String protocol,
                                           java.lang.Class transportClass)
Register a Transport that should be used for URLs of the specified protocol. Note: Not part of JAX-RPC specification.


initialize

public static void initialize()
Set up the default transport URL mappings. This must be called BEFORE doing non-standard URL parsing (i.e. if you want the system to accept a "local:" URL). This is why the Options class calls it before parsing the command-line URL argument. Note: Not part of JAX-RPC specification.


addTransportPackage

public static void addTransportPackage(java.lang.String packageName)
Add a package to the system protocol handler search path. This enables users to create their own URLStreamHandler classes, and thus allow custom protocols to be used in Axis (typically on the client command line). For instance, if you add "samples.transport" to the packages property, and have a class samples.transport.tcp.Handler, the system will be able to parse URLs of the form "tcp://host:port..." Note: Not part of JAX-RPC specification.


getParamList

private java.lang.Object[] getParamList(java.lang.Object[] params)
Convert the list of objects into RPCParam's based on the paramNames, paramXMLTypes and paramModes variables. If those aren't set then just return what was passed in.


setTransport

public void setTransport(Transport trans)
Set the Transport Note: Not part of JAX-RPC specification.


getTransportForProtocol

public Transport getTransportForProtocol(java.lang.String protocol)
Get the Transport registered for the given protocol. Note: Not part of JAX-RPC specification.


setRequestMessage

public void setRequestMessage(org.apache.axis.Message msg)
Directly set the request message in our MessageContext. This allows custom message creation. Note: Not part of JAX-RPC specification.


getResponseMessage

public org.apache.axis.Message getResponseMessage()
Directly get the response message in our MessageContext. Shortcut for having to go thru the msgContext Note: Not part of JAX-RPC specification.


getMessageContext

public org.apache.axis.MessageContext getMessageContext()
Obtain a reference to our MessageContext. Note: Not part of JAX-RPC specification.


addHeader

public void addHeader(org.apache.axis.message.SOAPHeaderElement header)
Add a header which should be inserted into each outgoing message we generate. Note: Not part of JAX-RPC specification.


clearHeaders

public void clearHeaders()
Clear the list of headers which we insert into each message Note: Not part of JAX-RPC specification.


getTypeMapping

public org.apache.axis.encoding.TypeMapping getTypeMapping()

registerTypeMapping

public void registerTypeMapping(java.lang.Class javaType,
                                javax.xml.namespace.QName xmlType,
                                org.apache.axis.encoding.SerializerFactory sf,
                                org.apache.axis.encoding.DeserializerFactory df)
Register type mapping information for serialization/deserialization Note: Not part of JAX-RPC specification.


registerTypeMapping

public void registerTypeMapping(java.lang.Class javaType,
                                javax.xml.namespace.QName xmlType,
                                org.apache.axis.encoding.SerializerFactory sf,
                                org.apache.axis.encoding.DeserializerFactory df,
                                boolean force)
Register type mapping information for serialization/deserialization Note: Not part of JAX-RPC specification.


registerTypeMapping

public void registerTypeMapping(java.lang.Class javaType,
                                javax.xml.namespace.QName xmlType,
                                java.lang.Class sfClass,
                                java.lang.Class dfClass)
register this type matting


registerTypeMapping

public void registerTypeMapping(java.lang.Class javaType,
                                javax.xml.namespace.QName xmlType,
                                java.lang.Class sfClass,
                                java.lang.Class dfClass,
                                boolean force)
register a type. This only takes place if either the serializer or deserializer factory could be created.


invoke

public java.lang.Object invoke(java.lang.String namespace,
                               java.lang.String method,
                               java.lang.Object[] args)
                        throws org.apache.axis.AxisFault
Invoke an RPC service with a method name and arguments. This will call the service, serializing all the arguments, and then deserialize the return value. Note: Not part of JAX-RPC specification.


invoke

public java.lang.Object invoke(java.lang.String method,
                               java.lang.Object[] args)
                        throws org.apache.axis.AxisFault
Convenience method to invoke a method with a default (empty) namespace. Calls invoke() above. Note: Not part of JAX-RPC specification.


invoke

public java.lang.Object invoke(org.apache.axis.message.RPCElement body)
                        throws org.apache.axis.AxisFault
Invoke an RPC service with a pre-constructed RPCElement. Note: Not part of JAX-RPC specification.


getJavaTypeForQName

private java.lang.Class getJavaTypeForQName(javax.xml.namespace.QName name)
Get the javaType for a given parameter.


setOption

public void setOption(java.lang.String name,
                      java.lang.Object value)
Set engine option. Note: Not part of JAX-RPC specification.


invoke

public void invoke()
            throws org.apache.axis.AxisFault
Invoke this Call with its established MessageContext (perhaps because you called this.setRequestMessage()) Note: Not part of JAX-RPC specification.


invokeEngine

private void invokeEngine(org.apache.axis.MessageContext msgContext)
                   throws org.apache.axis.AxisFault
Invoke the message on the current engine and do not wait for a response.


invokeEngineOneWay

private void invokeEngineOneWay(org.apache.axis.MessageContext msgContext)
Implement async invocation by running the request in a new thread


getOutputParams

public java.util.Map getOutputParams()
Get the output parameters (if any) from the last invocation. This allows named access - if you need sequential access, use getOutputValues().

Specified by:
getOutputParams in interface javax.xml.rpc.Call

getOutputValues

public java.util.List getOutputValues()
Returns a List values for the output parameters of the last invoked operation.

Specified by:
getOutputValues in interface javax.xml.rpc.Call

getService

public Service getService()
Get the Service object associated with this Call object. Note: Not part of JAX-RPC specification.


setSOAPService

public void setSOAPService(org.apache.axis.handlers.soap.SOAPService service)
Set the service so that it defers missing property gets to the Call. So when client-side Handlers get at the MessageContext, the property scoping will be MC -> SOAPService -> Call


setClientHandlers

public void setClientHandlers(org.apache.axis.Handler reqHandler,
                              org.apache.axis.Handler respHandler)
Sets the client-side request and response Handlers. This is handy for programatically setting up client-side work without deploying via WSDD or the EngineConfiguration mechanism.


addAttachmentPart

public void addAttachmentPart(java.lang.Object attachment)
This method adds an attachment.

Note: Not part of JAX-RPC specification.


addFault

public void addFault(javax.xml.namespace.QName qname,
                     java.lang.Class cls,
                     javax.xml.namespace.QName xmlType,
                     boolean isComplex)
Add a fault for this operation.

Note: Not part of JAX-RPC specificaion.


setOperation

public void setOperation(org.apache.axis.description.OperationDesc operation)
Hand a complete OperationDesc to the Call, and note that this was done so that others don't try to mess with it by calling addParameter, setReturnType, etc.


getOperation

public org.apache.axis.description.OperationDesc getOperation()

clearOperation

public void clearOperation()