com.paypal.base
Class DefaultSOAPAPICallHandler

java.lang.Object
  extended by com.paypal.base.DefaultSOAPAPICallHandler
All Implemented Interfaces:
APICallPreHandler

public class DefaultSOAPAPICallHandler
extends Object
implements APICallPreHandler

DefaultSOAPAPICallHandler acts as a basic SOAP APICallPreHandler. The interface method returns defaults for HTTP headers which may be an empty Map. If SOAP:HEADERS are added as headerString property and Namespace (to be added to SOAP:ENVELOPE) as namespace property then DefaultSOAPAPICallHandler returns a String for getPayLoad method that includes place-holders in the form {i} where i = 0, 1, 2.. that can be used by any upper level classes to replace them with appropriate values.


Nested Class Summary
static interface DefaultSOAPAPICallHandler.XmlNamespaceProvider
          XML Namespace provider for SOAP serialization
 
Constructor Summary
DefaultSOAPAPICallHandler(String rawPayLoad, String namespaces, String headerString)
          Deprecated.  
DefaultSOAPAPICallHandler(String rawPayLoad, String namespaces, String headerString, Map<String,String> configurationMap)
          DefaultSOAPAPICallHandler acts as the base SOAPAPICallHandler.
DefaultSOAPAPICallHandler(XMLMessageSerializer soapBodyContent, BaseAPIContext baseAPIContext, Map<String,String> configurationMap, String methodName)
          DefaultSOAPAPICallHandler taking XMLMessageSerializer instance for SOAP Body part.
 
Method Summary
 ICredential getCredential()
          Returns ICredential configured for the api call
 String getEndPoint()
          Returns the endpoint for the API call.
 Map<String,String> getHeaderMap()
          Returns headers for HTTP call
 String getHeaderString()
           
 String getNamespaces()
           
 String getPayLoad()
          Returns the payload for the API call.
 void setHeaderString(String headerString)
           
 void setNamespaces(String namespaces)
           
static void setXmlNamespaceProvider(DefaultSOAPAPICallHandler.XmlNamespaceProvider xmlNamespaceProvider)
          Sets an implemenation of XMLMessageSerializer
 void validate()
          Validates settings and integrity before call
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultSOAPAPICallHandler

public DefaultSOAPAPICallHandler(String rawPayLoad,
                                 String namespaces,
                                 String headerString)
Deprecated. 

DefaultSOAPAPICallHandler acts as the base SOAPAPICallHandler.

Parameters:
rawPayLoad - Raw SOAP payload that goes into SOAP:BODY
namespaces - Namespace attributes that should be appended to SOAP:ENVELOPE, this argument can take any valid String value, empty String or NULL. If the value is NULL {0} value is sandwiched between SOAP:HEADER element that can be used for decorating purpose
headerString - SOAP header String that should be appended to SOAP:HEADER, this argument can take any valid String value, empty String or NULL. If the value is NULL {1} value is sandwiched between SOAP:HEADER element that can be used for decorating purpose

DefaultSOAPAPICallHandler

public DefaultSOAPAPICallHandler(String rawPayLoad,
                                 String namespaces,
                                 String headerString,
                                 Map<String,String> configurationMap)
DefaultSOAPAPICallHandler acts as the base SOAPAPICallHandler.

Parameters:
rawPayLoad - Raw SOAP payload that goes into SOAP:BODY
namespaces - Namespace attributes that should be appended to SOAP:ENVELOPE, this argument can take any valid String value, empty String or NULL. If the value is NULL, {0} value is added to SOAP:ENVELOPE (ex: ...headerString - SOAP header String that should be appended to SOAP:HEADER, this argument can take any valid String value, empty String or NULL. If the value is NULL, {1} is placed between SOAP:HEADER (ex: {1})element that can be used for decorating purpose
configurationMap - Map used for Dynamic configuration, mandatory parameter

DefaultSOAPAPICallHandler

public DefaultSOAPAPICallHandler(XMLMessageSerializer soapBodyContent,
                                 BaseAPIContext baseAPIContext,
                                 Map<String,String> configurationMap,
                                 String methodName)
DefaultSOAPAPICallHandler taking XMLMessageSerializer instance for SOAP Body part. SOAP Header part is set in BaseAPIContext as Application Header property (The Application Header should be an instance of XMLMessageSerializer ). Dynamic configuration can be set using the configurationMap property of BaseAPIContext which will take higher precedence than the one set in the Service level. ConfigurationMap is treated as a mandatory parameter picked either from BaseAPIContext configurationMap parameter or configurationMap argument in that order of precedence.

Parameters:
soapBodyContent - SOAP Body Serializer
baseAPIContext - BaseAPIContext instance
configurationMap - ConfigurationMap used for Dynamic configuration
methodName - SOAP API operation name
Method Detail

setXmlNamespaceProvider

public static void setXmlNamespaceProvider(DefaultSOAPAPICallHandler.XmlNamespaceProvider xmlNamespaceProvider)
Sets an implemenation of XMLMessageSerializer

Parameters:
xmlNamespaceProvider -

getHeaderString

public String getHeaderString()
Returns:
the headerString

setHeaderString

public void setHeaderString(String headerString)
Parameters:
headerString - the headerString to set

getNamespaces

public String getNamespaces()
Returns:
the namespaces

setNamespaces

public void setNamespaces(String namespaces)
Parameters:
namespaces - the namespaces to set

getHeaderMap

public Map<String,String> getHeaderMap()
Description copied from interface: APICallPreHandler
Returns headers for HTTP call

Specified by:
getHeaderMap in interface APICallPreHandler
Returns:
Map of headers with name and value

getPayLoad

public String getPayLoad()
Description copied from interface: APICallPreHandler
Returns the payload for the API call. The implementation should take care in formatting the payload appropriately

Specified by:
getPayLoad in interface APICallPreHandler
Returns:
Payload as String

getEndPoint

public String getEndPoint()
Description copied from interface: APICallPreHandler
Returns the endpoint for the API call. The implementation may calculate the endpoint depending on parameters set on it. If no endpoint is found in the passed configuration, then SANDBOX endpoints (hardcoded in Constants)are taken to be default for the API call.

Specified by:
getEndPoint in interface APICallPreHandler
Returns:
Endpoint String.

getCredential

public ICredential getCredential()
Description copied from interface: APICallPreHandler
Returns ICredential configured for the api call

Specified by:
getCredential in interface APICallPreHandler
Returns:
ICredential object

validate

public void validate()
              throws ClientActionRequiredException
Description copied from interface: APICallPreHandler
Validates settings and integrity before call

Specified by:
validate in interface APICallPreHandler
Throws:
ClientActionRequiredException


Copyright © 2015. All Rights Reserved.