PayPal.SOAP.MerchantAPICallPreHandler.GetPayload C# (CSharp) Method

GetPayload() public method

Appends SOAP Headers to payload if the credentials mandate soap headers
public GetPayload ( ) : string
return string
        public string GetPayload()
        {
            if (payload == null)
            {
                payload = apiCallHandler.GetPayload();
                string header = null;
                if (credential is SignatureCredential)
                {
                    SignatureCredential signCredential = (SignatureCredential) credential;
                    SignatureSOAPHeaderAuthStrategy signSoapHeaderAuthStrategy = new SignatureSOAPHeaderAuthStrategy();
                    signSoapHeaderAuthStrategy.ThirdPartyAuthorization = signCredential.ThirdPartyAuthorization;
                    header = signSoapHeaderAuthStrategy.GenerateHeaderStrategy(signCredential);
                }
                else if (credential is CertificateCredential)
                {
                    CertificateCredential certCredential = (CertificateCredential) credential;
                    CertificateSOAPHeaderAuthStrategy certSoapHeaderAuthStrategy = new CertificateSOAPHeaderAuthStrategy();
                    certSoapHeaderAuthStrategy.ThirdPartyAuthorization = certCredential.ThirdPartyAuthorization;
                    header = certSoapHeaderAuthStrategy.GenerateHeaderStrategy(certCredential);

                }
                payload = GetPayloadUsingSOAPHeader(payload, GetAttributeNamespace(), header);
            }
            return payload;
        }

Usage Example

 public void GetPayloadSignature()
 {
     credential = credentialMngr.GetCredentials(ConfigManager.Instance.GetProperties(), Constants.APIUserName);
     soapHandler = new MerchantAPICallPreHandler(ConfigManager.Instance.GetProperties(), defaultSoapHandler, credential);
     string payload = soapHandler.GetPayload();
     XmlDocument xmlDoc = GetXmlDocument(payload);
     XmlNodeList xmlNodeListUsername = xmlDoc.GetElementsByTagName("Username");
     Assert.IsTrue(xmlNodeListUsername.Count > 0);
     Assert.AreEqual(Constants.APIUserName, xmlNodeListUsername[0].InnerXml);
     XmlNodeList xmlNodeListPassword = xmlDoc.GetElementsByTagName("Password");
     Assert.IsTrue(xmlNodeListPassword.Count > 0);
     Assert.AreEqual(Constants.APIPassword, xmlNodeListPassword[0].InnerXml);
     XmlNodeList xmlNodeListSignature = xmlDoc.GetElementsByTagName("Signature");
     Assert.IsTrue(xmlNodeListSignature.Count > 0);
     Assert.AreEqual(Constants.APISignature, xmlNodeListSignature[0].InnerXml);
     XmlNodeList xmlNodeListRequest = xmlDoc.GetElementsByTagName("Request");
     Assert.IsTrue(xmlNodeListRequest.Count > 0);
     Assert.AreEqual("test", xmlNodeListRequest[0].InnerXml);
 }