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
(DataFlex) Royal Mail OBA Web Service -- Get AccountsSee more Royal Mail OBA ExamplesRoyal Mail OBA Web Service -- Get Accounts. For more information, see https://parcel.royalmail.com/eproimport.wsdl
Use ChilkatAx-win32.pkg Procedure Test Handle hoXml Boolean iSuccess Handle hoHttp String sEndpointUrl Variant vResp Handle hoResp String sAccountName String sAccountNumber Integer i Integer iNumAccounts String sTemp1 Integer iTemp1 Boolean bTemp1 // 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. // -------------------------------------------------------------------------------- // Create the following XML: // <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:epro="urn:schemas-royalmail-com/webservice/epro"> // <soapenv:Header> // <epro:Authentication> // <epro:Username>my_username</epro:Username> // <epro:Password>my_password</epro:Password> // <epro:AccessCode>my_accessCode</epro:AccessCode> // <epro:Version>1.0</epro:Version> // <epro:SecurityToken>mysecuritytoken</epro:SecurityToken> // </epro:Authentication> // </soapenv:Header> // <soapenv:Body> // <epro:GetAccounts/> // </soapenv:Body> // </soapenv:Envelope> Get Create (RefClass(cComChilkatXml)) To hoXml If (Not(IsComObjectCreated(hoXml))) Begin Send CreateComObject of hoXml End Set ComEmitXmlDecl Of hoXml To False Set ComTag Of hoXml To "soapenv:Envelope" Get ComAddAttribute Of hoXml "xmlns:soapenv" "http://schemas.xmlsoap.org/soap/envelope/" To iSuccess Get ComAddAttribute Of hoXml "xmlns:epro" "urn:schemas-royalmail-com/webservice/epro" To iSuccess // Replace my_username, my_password, and my_accessCode with your actual values. Do not replace "mysecuritytoken". Send ComUpdateChildContent To hoXml "soapenv:Header|epro:Authentication|epro:Username" "my_username" Send ComUpdateChildContent To hoXml "soapenv:Header|epro:Authentication|epro:Password" "my_password" Send ComUpdateChildContent To hoXml "soapenv:Header|epro:Authentication|epro:AccessCode" "my_accessCode" Send ComUpdateChildContent To hoXml "soapenv:Header|epro:Authentication|epro:Version" "1.0" // Literally use the string "mysecuritytoken" here. Send ComUpdateChildContent To hoXml "soapenv:Header|epro:Authentication|epro:SecurityToken" "mysecuritytoken" Send ComUpdateChildContent To hoXml "soapenv:Body|epro:GetAccounts" "" Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End Send ComSetRequestHeader To hoHttp "SOAPAction" "urn:schemas-royalmail-com/webservice/epro/GetAccounts" Send ComSetRequestHeader To hoHttp "Content-Type" "text/xml; charset=utf-8" // Use the sandbox endpoint: http://interfaces.oba-v.royalmail.com/legacyws/EProImport.asmx // The live endpoint would be: http://www.epro.royalmail.com/WebServices/import/eproimport.asmx Move "http://interfaces.oba-v.royalmail.com/legacyws/EProImport.asmx" To sEndpointUrl Get ComGetXml Of hoXml To sTemp1 Get ComPostXml Of hoHttp sEndpointUrl sTemp1 "utf-8" To vResp If (IsComObject(vResp)) Begin Get Create (RefClass(cComChilkatHttpResponse)) To hoResp Set pvComObject Of hoResp To vResp End Get ComLastMethodSuccess Of hoHttp To bTemp1 If (bTemp1 = False) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End Get ComStatusCode Of hoResp To iTemp1 Showln "response status code = " iTemp1 Get ComBodyStr Of hoResp To sTemp1 Showln sTemp1 // The response looks like this: // <?xml version="1.0" encoding="utf-8"?> // <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> // <SOAP-ENV:Header/> // <SOAP-ENV:Body> // <ns1:GetAccountsResponse xmlns:ns1="urn:schemas-royalmail-com/webservice/epro"> // <ns1:GetAccountsResult> // <ns1:Accounts> // <ns1:Account AccountName="DEMO CUSTOMER_Atos" AccountNumber="099986000"/> // <ns1:Account AccountName="CREDIT MANAGEMENT CENTRE" AccountNumber="999386001"/> // </ns1:Accounts> // </ns1:GetAccountsResult> // </ns1:GetAccountsResponse> // </SOAP-ENV:Body> // </SOAP-ENV:Envelope> // Get ComBodyStr Of hoResp To sTemp1 Get ComLoadXml Of hoXml sTemp1 To iSuccess Move 0 To i Get ComNumChildrenHavingTag Of hoXml "SOAP-ENV:Body|ns1:GetAccountsResponse|ns1:GetAccountsResult|ns1:Accounts|ns1:Account" To iNumAccounts While (i < iNumAccounts) Set ComI Of hoXml To i Get ComChilkatPath Of hoXml "SOAP-ENV:Body|ns1:GetAccountsResponse|ns1:GetAccountsResult|ns1:Accounts|ns1:Account[i]|(AccountName)" To sAccountName Get ComChilkatPath Of hoXml "SOAP-ENV:Body|ns1:GetAccountsResponse|ns1:GetAccountsResult|ns1:Accounts|ns1:Account[i]|(AccountNumber)" To sAccountNumber Showln sAccountName ": " sAccountNumber Move (i + 1) To i Loop Send Destroy of hoResp End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.