SharePoint Thoughts

Ramblings About SharePoint and Related Technologies

Speech Server Error 24911: Service Was Unable To Load The Grammar…

When I was running through the Office Communications Server: Speech Server tutorial, Creating a Speech Project [found here], I ran into the following error, which plagued me throughout the runthrough.

<Event
xmlns=http://schemas.microsoft.com/win/2004/08/events/event>

<System>

<Provider
Name=Office Communications Server 2007 Speech Server />

<EventID
Qualifiers=49152>24911</EventID>

<Level>2</Level>

<Task>4</Task>

<Keywords>0×80000000000000</Keywords>

<TimeCreated
SystemTime=2008-09-23T23:38:43.000Z />

<EventRecordID>3384</EventRecordID>

<Channel>Application</Channel>

<Computer>Dev-PC</Computer>

<Security />

</System>

<EventData>

<Data>Failed to compile grammar. (Microsoft.SpeechServer.SpeechEngineServices.UnsupportedFormatException) -> Failed to load lexicon ‘http://localhost/PizzaOrder/Lexicons/PizzaOrder.lex’ referred to in grammar ‘Microsoft.SpeechServer.SpeechEngineServices.Proxy.GrammarRuleUri’. [Line=2, Position=11] (System.FormatException) -> Failed to download HTTP resource ‘http://localhost/PizzaOrder/Lexicons/PizzaOrder.lex’. (Microsoft.SpeechServer.SpeechEngineServices.FailedToFindResourceException) -> The remote server returned an error: (404) Not Found. (System.Net.WebException)</Data>

<Data>http://localhost/PizzaOrder/Grammars/PizzaOrder.grxml</Data>

</EventData>

</Event>

 

Well apparently when creating the project, you were given the option to create custom Lexicons for your Grammar file. If you clear out these files, the solution will build, and you can use the voice response debugging window.

This happens because the MIME Type is not registered for .lex files in IIS, seen in KB938284.

RESOLUTION

To resolve this issue, follow these steps:

1.

Click Start, click Run, type inetmgr, and then click OK.

2.

Expand ServerName, expand Web Sites, expand Default Web Site, right-click the Voice Response Web application, and then click Properties.

3.

On the Http Headers tab, click MIME Types.

4.

In the MIME Types dialog box, click New.

5.

In the MIME Type dialog box, type .lex in the Extension box, and then type application/octet-stream in the MIME type box.

6.

Click OK three times.

 

This solution was found using the MSDN Forums, quite a useful resource.

http://forums.microsoft.com/unifiedcommunications/ShowPost.aspx?PostID=3915154&SiteID=57&mode=1

No comments

No comments yet. Be the first.

Leave a reply