Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(SQL Server) Mastercard ICCP Get Data Source with OAuth1See more Mastercard ExamplesDemonstrates OAuth1 authentication with the Mastercard SOAP API's. This example sends a POST to the sandbox endpoint for the "In Control for Commercial Payments" (ICCP) API. Note: This example requires Chilkat v9.5.0.91 or later.
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @iTmp0 int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) -- This example requires the Chilkat API to have been previously unlocked. -- See Global Unlock Sample for sample code. -- -------------------------------------------------------------------------------- -- Also see Chilkat's Online WSDL Code Generator -- to generate code and SOAP Request and Response XML for each operation in a WSDL. -- -------------------------------------------------------------------------------- -- First build the XML body of the SOAP request: -- <soapenv:Envelope -- xmlns:ser="http://mastercard.com/sd/pc/service" -- xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> -- <soapenv:Header> -- </soapenv:Header> -- <soapenv:Body> -- <ser:getDataSourcesRequest></ser:getDataSourcesRequest> -- </soapenv:Body> -- </soapenv:Envelope> -- Use this online tool to generate code from sample XML: -- Generate Code to Create XML DECLARE @xml int -- Use "Chilkat_9_5_0.Xml" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Xml', @xml OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END EXEC sp_OASetProperty @xml, 'Tag', 'soapenv:Envelope' DECLARE @success int EXEC sp_OAMethod @xml, 'AddAttribute', @success OUT, 'xmlns:ser', 'http://mastercard.com/sd/pc/service' EXEC sp_OAMethod @xml, 'AddAttribute', @success OUT, 'xmlns:soapenv', 'http://schemas.xmlsoap.org/soap/envelope/' EXEC sp_OAMethod @xml, 'UpdateChildContent', NULL, 'soapenv:Header', '' EXEC sp_OAMethod @xml, 'UpdateChildContent', NULL, 'soapenv:Body|ser:getDataSourcesRequest', '' -- We'll need to get our signing RSA key from the PFX (provided by Mastercard) DECLARE @pfx int -- Use "Chilkat_9_5_0.Pfx" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Pfx', @pfx OUT DECLARE @success int EXEC sp_OAMethod @pfx, 'LoadPfxFile', @success OUT, 'qa_data/pfx/MCD_Sandbox_chilkat_iccp_API_Keys/chilkat_iccp-sandbox.p12', 'keystorepassword' IF @success = 0 BEGIN EXEC sp_OAGetProperty @pfx, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @xml EXEC @hr = sp_OADestroy @pfx RETURN END DECLARE @privKey int EXEC sp_OAMethod @pfx, 'GetPrivateKey', @privKey OUT, 0 EXEC sp_OAGetProperty @pfx, 'LastMethodSuccess', @iTmp0 OUT IF @iTmp0 = 0 BEGIN EXEC sp_OAGetProperty @pfx, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @xml EXEC @hr = sp_OADestroy @pfx RETURN END DECLARE @http int -- Use "Chilkat_9_5_0.Http" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Http', @http OUT EXEC sp_OASetProperty @http, 'OAuth1', 1 -- Use your own consumer key (this is not a valid consumer key) EXEC sp_OASetProperty @http, 'OAuthConsumerKey', 'MLBRl0-xxxxxxxxxxxxxxxxxxxxxxxxxx_BUNtu5xxxxx20b!a075a714a5fxxxxxxxxxxxxx59cd02b60000000000000000' EXEC sp_OASetProperty @http, 'OAuthSigMethod', 'RSA-SHA256' EXEC sp_OAMethod @http, 'SetOAuthRsaKey', @success OUT, @privKey IF @success = 0 BEGIN EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @privKey EXEC @hr = sp_OADestroy @xml EXEC @hr = sp_OADestroy @pfx EXEC @hr = sp_OADestroy @http RETURN END EXEC @hr = sp_OADestroy @privKey -- Tell Chilkat to automatically calculate and add the oauth_body_hash field when sending the request. -- This property was added in Chilkat v9.5.0.91. EXEC sp_OASetProperty @http, 'OAuthBodyHash', 1 -- Send the SOAP XML request and get the response. -- Chilkat automaticaly adds the OAuth1 authentication. DECLARE @resp int EXEC sp_OAMethod @xml, 'GetXml', @sTmp0 OUT EXEC sp_OAMethod @http, 'PostXml', @resp OUT, 'https://sandbox.api.mastercard.com/iccp/financial', @sTmp0, 'utf-8' EXEC sp_OAGetProperty @http, 'LastMethodSuccess', @iTmp0 OUT IF @iTmp0 = 0 BEGIN EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @xml EXEC @hr = sp_OADestroy @pfx EXEC @hr = sp_OADestroy @http RETURN END -- Examine the response status code and the XML response body. EXEC sp_OAGetProperty @resp, 'StatusCode', @iTmp0 OUT PRINT 'Response status code = ' + @iTmp0 DECLARE @respXml int -- Use "Chilkat_9_5_0.Xml" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Xml', @respXml OUT EXEC sp_OAMethod @resp, 'GetBodyXml', @success OUT, @respXml PRINT 'Response XML:' EXEC sp_OAMethod @respXml, 'GetXml', @sTmp0 OUT PRINT @sTmp0 -- If desired, use this online tool to generate parsing code from response XML. -- (Run your code once to get a representative sample response, and then generate the parsing code.) -- Generate Parsing Code from XML EXEC @hr = sp_OADestroy @resp EXEC @hr = sp_OADestroy @xml EXEC @hr = sp_OADestroy @pfx EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @respXml END GO |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.