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
(Visual FoxPro) Peoplevox WMS AuthenticationProvides an example of a call to the Peoplevox WMS Authenticate using SOAP 1.1.
LOCAL lnSuccess LOCAL loSbSoapXml LOCAL loCrypt LOCAL lcPasswordBase64 LOCAL lnNumReplacements LOCAL loReq LOCAL loHttp LOCAL loResp LOCAL loXmlResponse LOCAL lcDetail * This example requires the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * Sends a POST that looks like this: * POST /PEOPLEVOX_CLIENT_ID/resources/integrationservicev4.asmx HTTP/1.1 * Content-Type: text/xml;charset=UTF-8 * SOAPAction: http://www.peoplevox.net/Authenticate * Content-Length: (automatically computed and added by Chilkat) * Host: qac.peoplevox.net * * <?xml version="1.0" encoding="utf-8"?> * <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:peop="http://www.peoplevox.net/"> * <soapenv:Header/> * <soapenv:Body> * <peop:Authenticate> * <peop:clientId>PEOPLEVOX_CLIENT_ID</peop:clientId> * <peop:username>PEOPLEVOX_USERNAME</peop:username> * <peop:password>PEOPLEVOX_BASE64_PASSWORD</peop:password> * </peop:Authenticate> * </soapenv:Body> * </soapenv:Envelope> * * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder') loSbSoapXml = CreateObject('Chilkat.StringBuilder') loSbSoapXml.Append('<?xml version="1.0" encoding="utf-8"?>') loSbSoapXml.Append('<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:peop="http://www.peoplevox.net/">') loSbSoapXml.Append(" <soapenv:Header/>") loSbSoapXml.Append(" <soapenv:Body>") loSbSoapXml.Append(" <peop:Authenticate>") loSbSoapXml.Append(" <peop:clientId>PEOPLEVOX_CLIENT_ID</peop:clientId>") loSbSoapXml.Append(" <peop:username>PEOPLEVOX_USERNAME</peop:username>") loSbSoapXml.Append(" <peop:password>PEOPLEVOX_BASE64_PASSWORD</peop:password>") loSbSoapXml.Append(" </peop:Authenticate>") loSbSoapXml.Append(" </soapenv:Body>") loSbSoapXml.Append("</soapenv:Envelope>") * Base64 encode the password and update the SOAP XML. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Crypt2') loCrypt = CreateObject('Chilkat.Crypt2') lcPasswordBase64 = loCrypt.EncodeString("PEOPLEVOX_PASSWORD","utf-8","base64") lnNumReplacements = loSbSoapXml.Replace("PEOPLEVOX_BASE64_PASSWORD",lcPasswordBase64) * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.HttpRequest') loReq = CreateObject('Chilkat.HttpRequest') loReq.HttpVerb = "POST" loReq.SendCharset = 1 loReq.Charset = "utf-8" loReq.AddHeader("Content-Type","text/xml") loReq.AddHeader("SOAPAction","http://www.peoplevox.net/Authenticate") loReq.Path = "/PEOPLEVOX_CLIENT_ID/resources/integrationservicev4.asmx" lnSuccess = loReq.LoadBodyFromString(loSbSoapXml.GetAsString(),"utf-8") * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Http') loHttp = CreateObject('Chilkat.Http') loHttp.FollowRedirects = 1 loResp = loHttp.SynchronousRequest("qac.peoplevox.net",443,1,loReq) IF (loHttp.LastMethodSuccess <> 1) THEN ? loHttp.LastErrorText RELEASE loSbSoapXml RELEASE loCrypt RELEASE loReq RELEASE loHttp CANCEL ENDIF * We should expect a 200 response if successful. IF (loResp.StatusCode <> 200) THEN ? "Response StatusCode = " + STR(loResp.StatusCode) ? "Response StatusLine: " + loResp.StatusLine ? "Response Header:" ? loResp.Header RELEASE loSbSoapXml RELEASE loCrypt RELEASE loReq RELEASE loHttp CANCEL ENDIF * A successful response returns this XML: * <?xml version="1.0" encoding="utf-8" ?> * <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> * <soap:Body> * <AuthenticateResponse xmlns="http://www.peoplevox.net/"> * <AuthenticateResult> * <ResponseId>0</ResponseId> * <TotalCount>1</TotalCount> * <Detail>PEOPLEVOX_CLIENT_ID,7fe13431-c67f-4d52-bcfd-b60fbfa3b0ca</Detail> * <Statuses /> * <ImportingQueueId>0</ImportingQueueId> * <SalesOrdersToDespatchIds /> * </AuthenticateResult> * </AuthenticateResponse> * </soap:Body> * </soap:Envelope> * * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Xml') loXmlResponse = CreateObject('Chilkat.Xml') lnSuccess = loXmlResponse.LoadXml(loResp.BodyStr) ? loXmlResponse.GetXml() RELEASE loResp * Show how to get the Detail, which must be the ClientId,SessionId lcDetail = loXmlResponse.ChilkatPath("soap:Body|AuthenticateResponse|AuthenticateResult|Detail|*") ? "Detail = " + lcDetail RELEASE loSbSoapXml RELEASE loCrypt RELEASE loReq RELEASE loHttp RELEASE loXmlResponse |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.