In our day-to-day client work, we recently stumbled upon a web service that is installed with SharePoint, but honestly had never implemented.  In fact, the web service is not listed on either MSDN page for SharePoint 2007 or 2010.  However, we have now tested this web service (and plan to use it very soon), so I wanted to share our findings with the community.

The web service is aptly named the Spelling Service and actually leverages code from the Microsoft.SharePoint.Publishing namespace.  The web service can be found at the following URL: http://sharepointsite/_vti_bin/spellcheck.asmx.  In a nutshell, you simply pass the web service 'chunks' of text, and it will identify whether or not any of the words are misspelled.  Additionally, you can also specify the language (LCID) or a Boolean flag to auto-detect the language based on the word(s) submitted. 

When the response is returned, the XML will contain various nodes (as seen in the screenshots below), which include the index of the text 'chunk' where spelling errors appear, the words 'flagged' and the type of spelling error that occurred (RepeatWord or UnknownWord).  An additional node that you will notice is the offset field, which identifies the location in the input where the misspelled word begins.  Lastly, a spellingSuggestions node is also returned which includes the misspelled word and a list of suggestions in the sug node.

Sure, there are other spelling web services out there, but we can see endless possibilities with this, especially if you already own SharePoint (Standard or higher).  I can easily see us leveraging this for Dynamics CRM as well as many other integration projects in the future.

Enough of the details, here are some screenshots from our own internal tests of this web service.

SOAP Message:
image
SOAP Response:
image
 

SOAP Message:
image

SOAP Response:
image