![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) Royal Mail OBA Web Service -- Get ContractsSee more Royal Mail OBA ExamplesRoyal Mail OBA Web Service -- Get the contracts for an account.Note: This example requires Chilkat v11.0.0 or greater. For more information, see https://parcel.royalmail.com/eproimport.wsdl
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess Handle hoXml Handle hoHttp String sEndpointUrl Variant vResp Handle hoResp String sServiceName String sServiceReg String sServiceLevel String sContract Integer i Integer iNumContracts String sTemp1 Integer iTemp1 Move False To iSuccess // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // 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:GetContracts> // <epro:Account>account_number</epro:Account> // </epro:GetContracts> // </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:GetContracts|epro:Account" "account_number" 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/GetContracts" // 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 Create (RefClass(cComChilkatHttpResponse)) To hoResp If (Not(IsComObjectCreated(hoResp))) Begin Send CreateComObject of hoResp End Get ComGetXml Of hoXml To sTemp1 Get pvComObject of hoResp to vResp Get ComHttpStr Of hoHttp "POST" sEndpointUrl sTemp1 "utf-8" "text/xml" vResp To iSuccess If (iSuccess = 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:GetContractsResponse xmlns:ns1="urn:schemas-royalmail-com/webservice/epro"> // <ns1:GetContractsResult Version="1"> // <ns1:Contracts> // <ns1:ContractDetails ServiceName="ADV MAIL + RESPONSE UNSORTED 2C" ServiceReg="AC2" ServiceLevel="01" Contract="DEMOTEST1"/> // <ns1:ContractDetails ServiceName="PLANNED ENVELOPE POLL CARD MMK-2C " ServiceReg="AG0" ServiceLevel="01" Contract=""/> // ... // </ns1:Contracts> // </ns1:GetContractsResult> // </ns1:GetContractsResponse> // </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:GetContractsResponse|ns1:GetContractsResult|ns1:Contracts|ns1:ContractDetails" To iNumContracts While (i < iNumContracts) Set ComI Of hoXml To i Get ComChilkatPath Of hoXml "SOAP-ENV:Body|ns1:GetContractsResponse|ns1:GetContractsResult|ns1:Contracts|ns1:ContractDetails[i]|(ServiceName)" To sServiceName Get ComChilkatPath Of hoXml "SOAP-ENV:Body|ns1:GetContractsResponse|ns1:GetContractsResult|ns1:Contracts|ns1:ContractDetails[i]|(ServiceReg)" To sServiceReg Get ComChilkatPath Of hoXml "SOAP-ENV:Body|ns1:GetContractsResponse|ns1:GetContractsResult|ns1:Contracts|ns1:ContractDetails[i]|(ServiceLevel)" To sServiceLevel Get ComChilkatPath Of hoXml "SOAP-ENV:Body|ns1:GetContractsResponse|ns1:GetContractsResult|ns1:Contracts|ns1:ContractDetails[i]|(Contract)" To sContract Showln sServiceName Move (i + 1) To i Loop End_Procedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.