>DO declare > >LOCAL cBuffer, cEncoded, cDecoded >local lcURL, lxmlObj, lcResponse > >lcWSDL = "https://teligibility.transactions.mckhboc.com:5002/Realtime/services/realtime?WSDL" > >lcUserName = "testuser1" >lcPassword = "Webpass1" >cBuffer = lcUserName + ':' + lcPassword > >lcURL = lcWSDL >lxmlObj = CreateObject("Microsoft.XMLHTTP") > >lxmlObj.Open( "POST", lcURL, .F. ) > >** depending on the xml data passed later on, you may need: >lxmlObj.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded") >***** > >cEncoded = ToBase64(cBuffer) >cDecoded = FromBase64(cEncoded) > >cAuthenticate = "Basic " + cEncoded > >lxmlObj.Open("GET", lcURL, .F., cAuthenticate) > >lxmlObj.Send() && This is where the form pops-up > >lcResponse = lxmlObj.ResponseText > >RETURN > > >FUNCTION ToBase64(cSrc) > LOCAL nFlags, nBufsize, cDst > nFlags=1 && base64 > > nBufsize=0 > = CryptBinaryToString(@cSrc, LEN(cSrc),; > m.nFlags, NULL, @nBufsize) > > cDst = REPLICATE(CHR(0), m.nBufsize) > IF CryptBinaryToString(@cSrc, LEN(cSrc), m.nFlags,; > @cDst, @nBufsize) = 0 > RETURN "" > ENDIF >RETURN cDst > >FUNCTION FromBase64(cSrc) >#DEFINE CRYPT_STRING_NOCRLF 0x40000000 >#DEFINE CRYPT_STRING_NOCR 0x80000000 > LOCAL nFlags, nBufsize, cDst > nFlags=1 && base64 > > nBufsize=0 > = CryptStringToBinary(@cSrc, LEN(m.cSrc),; > nFlags, NULL, @nBufsize, 0,0) > > cDst = REPLICATE(CHR(0), m.nBufsize) > IF CryptStringToBinary(@cSrc, LEN(m.cSrc),; > nFlags, @cDst, @nBufsize, 0,0) = 0 > RETURN "" > ENDIF >RETURN m.cDst > >PROCEDURE declare > DECLARE INTEGER CryptBinaryToString IN Crypt32; > STRING @pbBinary, LONG cbBinary, LONG dwFlags,; > STRING @pszString, LONG @pcchString > > DECLARE INTEGER CryptStringToBinary IN crypt32; > STRING @pszString, LONG cchString, LONG dwFlags,; > STRING @pbBinary, LONG @pcbBinary,; > LONG pdwSkip, LONG pdwFlags >