CLEAR LOCAL loRandomBushismPort AS "XML Web Service" * LOCAL loRandomBushismPort AS "MSSOAP.SoapClient30" * Do not remove or alter following line. It is used to support IntelliSense for your XML Web service. *__VFPWSDef__: loRandomBushismPort = http://greg.froh.ca/fun/random_bushism/soap/?wsdl , RandomBushismService , RandomBushismPort LOCAL loException, lcErrorMsg, loWSHandler TRY loWSHandler = NEWOBJECT("WSHandler",IIF(VERSION(2)=0,"",HOME()+"FFC\")+"_ws3client.vcx") loRandomBushismPort = loWSHandler.SetupClient("http://greg.froh.ca/fun/random_bushism/soap/?wsdl", "RandomBushismService", "RandomBushismPort") * Call your XML Web service here. ex: leResult = loRandomBushismPort.SomeMethod() loWsHandler.wsObject.ConnectorProperty("ProxyServer") = "<CURRENT_USER>" loQ = loRandomBushismPort.getRandomBushism() STRTOFILE(CHR(13) + CHR(10) + CHR(13) + CHR(10)+ loq.Item(1).text + '-- ' + loq.Item(2).Text, "f:/bushism/bushism.txt",1) FOR i = 0 TO loQ.Length - 1 WITH loQ.Item(i) ? .nodeName,.text,.xml ENDWITH ENDFOR CATCH TO loException lcErrorMsg="Error: "+TRANSFORM(loException.Errorno)+" - "+loException.Message DO CASE CASE VARTYPE(loRandomBushismPort)#"O" * Handle SOAP error connecting to web service CASE !EMPTY(loRandomBushismPort.FaultCode) * Handle SOAP error calling method lcErrorMsg=lcErrorMsg+CHR(13)+loRandomBushismPort.Detail OTHERWISE * Handle other error ENDCASE * Use for debugging purposes MESSAGEBOX(lcErrorMsg) FINALLY ENDTRY