SET CLASSLIB TO wwXML Additive SET PROCEDURE TO wwUtils additive SET PROCEDURE TO wwHTTP Additive lcGoogleKey = [...] lcQuery = "FoxPro" lnStart= "0" lnEnd= 10 llFilter= 0 lcRestrict= "" llAdultfilter = 0 lcLanguage= "" lcInputChar= "" lcOutputChar= "" lcWsdl = "http://api.google.com/GoogleSearch.wsdl" loSOAP = NEWOBJECT("wwSOAP", "wwsoap.fxp") loSDL = loSOAP.ParseServiceWSDL(lcWsdl) IF ISNULL(loSDL) MESSAGEBOX(loSOAP.cErrorMsg) RETURN .F. ENDIF loGS = loSDL.getmethod("doGoogleSearch") loSoap.cServerUrl = TRIM(loSDL.cServerUrl) loSoap.lIncludeDataTypes = .T. loSOAP.cSoapAction = loGS.cSoapAction loSOAP.cMethodNameSpaceUri = TRIM(loGS.cMethodNameSpaceUri) IF NOT EMPTY(loSOAP.cMethodNamespaceuri) loSOAP.cMethodNameSpace = "m" ENDIF loSoap.AddParameter("k", lcGoogleKey, "string") loSoap.AddParameter("q", lcQuery, "string") loSoap.AddParameter("start", lnStart, "int") loSoap.AddParameter("maxResults", lnEnd, "int") loSoap.AddParameter("filter", llFilter, "boolean") loSoap.AddParameter("restrict", lcRestrict, "string") loSoap.AddParameter("safeSearch", llAdultfilter, "boolean") loSoap.AddParameter("lr", lcLanguage, "string") loSoap.AddParameter("ie", lcInputChar, "string") loSoap.AddParameter("oe", lcOutputChar, "string") loSoap.lParseReturnedObjects = .F. lvResult = loSoap.CallMethod(loGS.cName) IF loSoap.lError MESSAGEBOX("Error occurred: " + CHR(10) + loSOAP.cErrorMsg) RETURN .F. ENDIF ? lvResult.text RETURN>