A place to describe Wiki web services
The goal of all these URLs is the ability to use
XMLTOCURSOR() on the resultant XML to immediately give you a VFP table to play with. All these URLS return XML and do not require
&mode=xml like some other XML feaures of the wiki that are described in Wiki XML Catalog.
The .WSDL URL
See http://fox.wikis.com/wikiwebservice.wsdl <-- Register this in the Intellisense Manager as
Web Service -- Fox Wiki (or adjust to suit). You can find this under Tools - Intellisense Manager - Types - Web Services....
GetRecentChanges(nDays, cFilter) where
nDays is how many days back to go, and
cFilter is the string to filter on. Use the empty string to see all recent changes.
GetTextSearch( cFilter) where
cFilter is the string to search on.
GetTopicHTML( cTopicName) where
cTopicName is the name of the topic to return as HTML.
GetTopicText( cTopicname) where
cTopicName is the name of the topic to return as raw wiki text.
See Wiki Web Services VFPSample Code
Suggestions? -- Steven Black
Enhancement request: Add Author to the
GetRecentChanges() method. This can already be scraped off the Recent Changes page, but it missing from the XML. It is used in some forms of Rs S and would be useful for generating richer feeds to news aggregators.
GetTopicHTML and GetTopicText seem to be returning the same data -- Ted Roche
Hope I am using this wiki thing correctly!
I have tried registering this web service in the Intellisense Manager but instead of coming up with a Web Services Registration Dialog Box as I would expect from the VFP Help file it comes up with the Application Builder. Any idea what is going on? -- Paul Treble
I think this is because of something your framework (Drew Speedie's I think it was, I forget it's name though) resetting the refernce to the wizard. Do you use the framework? If so, try running an instance of VFP thats clean from 3rd party products, -- Mike Helland
This happened to me also. I just zapped the foxuser table and all was wel again. A more judicious deleting of records from that table may also work and save your other settings -- Mark McCasland
The following code is necessary, if you access the web service through a proxy, as it is the case in most companies. Change the values as
needed in your situation. - Christof Wollenhaupt
oSoapClient.ConnectorProperty["ProxyPort"] = 8080
oSoapClient.ConnectorProperty["ProxyServer"] = "MyProxy"
oSoapClient.ConnectorProperty["ProxyUser"] = "MyUser"
oSoapClient.ConnectorProperty["ProxyPassword"] = "MyPwassword"
Ok where do you put this code? How do you create oSoapClient?
This is the simplest form for coding:
LOCAL loshake1 as shakespear
loWS = NEWOBJECT("Wsclient",HOME()+"ffc\_webservices.vcx")
loWS.cWSName = "shakespear"
loshake1 = loWS.SetupClient("http://www.nickhodges.com/bin/ShakespeareWS.exe/wsdl/IShakespeare", "IShakespeareservice", "IShakespearePort")
First of all, I don't have a proxy runnning, so I can't test the code completely. When I activated the proxy, the client tried to connect to the (not existing) proxy and reported an error. The object reference can either be the SoapClient itself, or the object returned by the SetupClient() method of the _WebService class. If SetupClient() fails for you, you probably have to copy the code of the class and add the proxy information.
You can find more information about this issue on the following web pages:
Category Code Samples Category XML
( Topic last updated: 2003.08.20 06:32:51 AM )