>>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 >>