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