>>** Server code >> >>DEFINE CLASS Pag_Bid_Server AS Session OLEPUBLIC >>**************************************************** >> PROCEDURE CustomersInGermany AS String >> LOCAL loXMLAdapter AS XMLAdapter >> LOCAL lcXMLCustomers AS String >> >> loXMLAdapter = CREATEOBJECT("XMLAdapter") >> >> OPEN DATABASE "C:\Program Files\Microsoft Visual FoxPro 9\" ; >> + "Samples\Northwind\northwind.dbc" >> >> USE customers >> SELECT * ; >> FROM customers ; >> WHERE country LIKE "Germany%" ; >> INTO CURSOR curCustomers >> >> loXMLAdapter.AddTableSchema("curCustomers") >> loXMLAdapter.UTF8Encoded = .T. >> loXMLAdapter.ToXML("lcXMLCustomers") >> >> CLOSE DATABASES ALL >> >> RETURN lcXMLCustomers >> endproc >>*********************************************************************** >> procedure GetBids as String >> LOCAL loXMLAdapter AS XMLAdapter >> LOCAL lcXMLBids AS String >> >> loXMLAdapter = CREATEOBJECT("XMLAdapter") >> OPEN DATABASE "D:\foxpro\bids\data\bidsdata.dbc" >> USE d:\foxpro\bids\data\bids >> SELECT * ; >> FROM bids ; >> where recno() < 20 ; >> INTO CURSOR crsBids >> >> loXMLAdapter.AddTableSchema("crsBids") >> loXMLAdapter.UTF8Encoded = .T. >> loXMLAdapter.ToXML("lcXMLBids") >> >> CLOSE databases ALL >> >> RETURN lcXMLBids >> endproc >> >>ENDDEFINE >>*********************************************** >>**Client code >>LOCAL loPag_Bid_Server AS "XML Web Service" >>* LOCAL loPag_Bid_Server AS "MSSOAP.SoapClient30" >>* Do not remove or alter following line. It is used to support IntelliSense for your XML Web service. >>*__VFPWSDef__: loPag_Bid_Server = http://TPD284/dwfWebServices/Pag_Bid_Server.wsdl , Pag_Bid_Server , Pag_Bid_ServerSoapPort >>LOCAL loException, lcErrorMsg, loWSHandler >>TRY >> loWSHandler = NEWOBJECT("WSHandler",IIF(VERSION(2)=0,"",HOME()+"FFC\")+"_ws3client.vcx") >>** NOTE: I also tried it without the pathing above >> >> loPag_Bid_Server = loWSHandler.SetupClient("http://pag84.pagnet.org/dwfWebServices/Pag_Bid_Server.wsdl", "Pag_Bid_Server", "Pag_Bid_ServerSoapPort") >> >> * Call your XML Web service here. ex: leResult = loPag_Bid_Server.SomeMethod() >> >>LOCAL lcXML, lcAlias AS String >>LOCAL loXMLAdapter AS XMLAdapter >> >>lcXML = loPag_Bid_Server.GetBids >> >>loXMLAdapter = CREATEOBJECT("XMLAdapter") >>loXMLAdapter.LoadXML(lcXML) >> >>lcAlias = loXMLAdapter.Tables.Item(1).Alias >>loXMLAdapter.Tables.Item(1).ToCursor() >> >>SELECT(lcAlias) >>browse >> >>lcXML = loPag_Bid_Server.Customersingermany >> >>loXMLAdapter = CREATEOBJECT("XMLAdapter") >>loXMLAdapter.LoadXML(lcXML) >> >>lcAlias = loXMLAdapter.Tables.Item(1).Alias >>loXMLAdapter.Tables.Item(1).ToCursor() >> >>SELECT(lcAlias) >>browse >>CLOSE DATABASES ALL >> >>CATCH TO loException >> lcErrorMsg="Error: "+TRANSFORM(loException.Errorno)+" - "+loException.Message >> DO CASE >> CASE VARTYPE(loPag_Bid_Server)#"O" >> * Handle SOAP error connecting to web service >> CASE !EMPTY(loPag_Bid_Server.FaultCode) >> * Handle SOAP error calling method >> lcErrorMsg=lcErrorMsg+CHR(13)+loPag_Bid_Server.Detail >> OTHERWISE >> * Handle other error >> ENDCASE >> * Use for debugging purposes >> MESSAGEBOX(lcErrorMsg) >>FINALLY >>ENDTRY >>>>