April 23, 2008

TMCore SharePoint Module 3.0 Known Issues, Fixes and Workarounds

TMCore SharePoint Module 3.0 Known Issues, Fixes and Workarounds

This blog entry is used to record and document known issues found with the TMCore SharePoint Module version 3.0 and their current status.

If you discover an issue with the TMCore SharePoint Module that is not listed here, then please report it to us at support@networkedplanet.com.

Ref.IssueResolution
690 Cannot connect to SharePoint site from the NPCL editor.
When using the NPCL Editor Extensions provided with the TMCore SharePoint Module to map topic types in the ontology to content types, you may be presented with a log-in dialog to connect to the SharePoint site to retrieve a list of content types or field types. If you are connecting to the SharePoint site as a domain user, the dialog requires a domain and user name to log in, you must enter this full log-in name in the form domain/user, rather than the more usual domain\user form. A future update will fix this issue.
Workaround: Enter your log-in name in the form domain/user.

April 22, 2008

Displaying Related Topics in the Search Core Results Web Part

A few people have asked about how to more closely integrate the standard SharePoint Search Core Results Web Part with the related topics information that is maintained by the SharePoint Module. There are a number of different use cases, but in this post I'll focus on a common request - to be able to include related topics in the metadata returned by a text search and display them in the Search Core Results Web Part.

The procedure for doing this is actually quite simple. All you need to do is


  1. Add the field(s) you want to display to the list of Managed Properties for the crawler.

  2. Add the managed property (or properties) to the list of columns returned by the Search Core Results Web Part.

  3. Update the XSLT stylesheet used to render the results.

Adding Fields to the Crawler Managed Properties

The first step is to make sure that the related topics field you want is added to the list of managed properties for the crawler. To do this you must go to the SharePoint Central Administration site and select the SSP for the web application. The click on the link Search > Search Settings and on the page that is displayed, click on the link "Metadata property mappings". This shows the following screen:

metadata-property-mappings-page.PNG

Click on "Create New Managed Property". From this page you can add a new property that will be populated by the search crawler and specify which field(s) provide a value for the property. Note that you can specify multiple properties here so if you want to, you can combine the value of several different related topics fields into a single more generic property. For example on the demo news story site we have our stories classified by three related topics fields : Who, What and Where. We can choose either to create separate managed properties for each of these fields or to combine them all into a single field. I'll show this latter option in the example below.

To create the new managed property, you should enter the following information into the fields:

Name and Type: The name for the managed property gets used in the XML generated by the Search Core Results Web Part, so it is best to create a name string with simple ASCII characters and no spaces. For the type, select the Text option.

Mappings to crawled properties: Add mappings for the related topics field(s) you want to be indexed. Note that if you specify multiple mappings you have the choice of either adding all of the mapped values or of treating the list as a priority list of mappings that justs adds the values for the first mapped field found. (NOTE: If you cannot find the related topics fields in the list of crawled properties, this probably means that you have no documents with a value in this field - to fix this, create a new document or update an existing one to add a value to the related topics field, save the document (and publish it if necessary) and then run the crawler or wait for an incremental crawl or full crawl to run.).

Use in Scopes: Leave this box unchecked.

This is how my new managed property mapping looks - I want to map three related topics fields (ND_What, ND_Where, ND_WHo) to a single property called "Classification".

alt="Screenshot of the completed New Managed Property form."/>

Now run the crawler again (or wait for it to run again). You need a full crawl for this new property to get populated correctly.

Add the Managed Property to the Columns returned by the Search Core Results Web Part

To get our search to return the new managed property we just need to configure the query columns. To do this, go to the search results page and put it into edit mode:

Screenshot of a standard Search Results tab page in edit mode.

Bring up the property editor for the Search Core Results Web Part and expand the section titled "Results Query Options". Edit the "Selected Columns" property in that section (it is easiest to do this by bringing up the text editor dialog for the field). Add a column definition for the new managed property. The XML is simply:
<Column Name="Property Name"/>

adding-classification-column.PNG

Your query should now be returning the related topics field values in the XML that is styled by the Search Core Results Web Part - to check this you could just change the web part to use the debug stylesheet that comes with the TMCore SharePoint Module. I usually do this by uploading the debug stylesheet to a document library and then putting a link to it into the "XSL Link" property (found in the "Miscellaneous" property group). For my example site, this is what I get in the Search Results Web Part when I now use the debug stylesheet (I've highlighted the related topics field values that are returned by the new managed property):

The XML returned by the Search Core Results Web Part with related topics fields mapped to a managed property

Use XSLT to style the results

OK, so far so easy :-). Now for the tricky bit - the value returned by the related topics fields is actually a set of 4 values for each related topic - in order, these are the topic name, the topic OID, a link to the item that the topic represents (if any) and a PSI for the topic. Each of these four values are separated with the separator string ';#'.

<classification> 
The Art Of War (1.0 PUBLISHED)
;#5868
;#http://dev-server-2/what/Pages/TheArtOfWar.aspx
;#urn:x-versionsupport.networkedplanet.com:sp::...:1.0:PUBLISHED
;#;Troy (1.0 PUBLISHED)
;#5913
;#http://dev-server-2/where/Pages/Troy.aspx
;#urn:x-versionsupport.networkedplanet.com:sp::...:1.0:PUBLISHED
;#;Odysseus ( PUBLISHED)
;#6085
;#http://dev-server-2/who/Pages/Odysseus.aspx
;#urn:x-versionsupport.networkedplanet.com:sp::...::PUBLISHED;# 
</classification>

So we need some slightly fancy XSLT to parse the field values. This is the XSLT I have come up with:

<!-- Template to render a list of related topics field values -->
<xsl:template name="DisplayClassification">
  <xsl:param name="str" />
  <xsl:if test='string-length($str) > 0'>
  -
    <xsl:call-template name="split">
      <xsl:with-param name="string" select="$str"/>
    </xsl:call-template>
  </xsl:if>
</xsl:template>
 
<xsl:template match="node()|@*" mode="split" name="split">
  <xsl:param name="string" select="string()"/>
  <xsl:variable name="sep" select="';#'"/>
  <!-- Extract the first field into $tmp -->
  <xsl:variable name="tmp" select="substring-before($string, $sep)"/>
  <!-- If multiple fields are concatenated together, topics can end up with a ';' 
        prefix on their name.The following ensures that $topicname is stripped 
        of this if necessary -->
  <xsl:variable name="topicname">
    <xsl:choose>
      <xsl:when test="starts-with($tmp,';')">
        <xsl:value-of select="substring-after($tmp, ';')"/>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="$tmp"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:variable>
  <xsl:variable name="rest1" select="substring-after($string, $sep)"/>
  <xsl:variable name="topicid" select="substring-before($rest1,$sep)"/>
  <xsl:variable name="rest2" select="substring-after($rest1,$sep)"/>
  <xsl:variable name="link" select="substring-before($rest2,$sep)"/>
  <xsl:variable name="rest3" select="substring-after($rest2,$sep)"/>
  <xsl:variable name="urn" select="substring-before($rest3,$sep)"/>
  <xsl:variable name="nextitem" select="substring-after($rest3,$sep)"/>
  <!-- Render the topic and link as an HTML anchor. You could replace
       this with your own rendering code -->
  <xsl:if test="$topicname and $link">
    <a>
      <xsl:attribute name="href">
        <xsl:value-of select="$link"/>
      </xsl:attribute>
      <xsl:value-of select="$topicname"/>
    </a>
  </xsl:if>
  <!-- Check if a recursive call should be made to parse the rest of the field -->
  <xsl:if test="contains($nextitem,$sep)">
    <xsl:text>, </xsl:text>
    <xsl:call-template name="split">
      <xsl:with-param name="string" select="$nextitem"/>
    </xsl:call-template>
  </xsl:if>
</xsl:template>

You can download this snippet of code from here: Download file

The first template is the one that you can call from wherever you want to render a managed property that contains the value of one or more related topics fields. The str parameter must contain the content of the managed property to render. The second template is a recursive call that parses the first four fields from the string, extracting the values to four local variables and then renders the topic name and link as an HTML anchor element (you could replace this with your own rendering code), finally if there is at least one separator left in the rest of the field value, then it makes a recursive call that will parse the next four fields and so on until we are done.

This is the final result - in this case I'm just calling my rendering as part of the rendering for result metadata, of course you can use XSLT to render those related topics any way you like in the results list.

Screenshot of the final rendered results.

Conclusion

In this short article I've shown you the basic procedure for including topics from related topics fields in the main portal search results web part. With the flexibility for rendering provided by XSLT it should be possible to create a number of interesting and useful search renderings that combine full-text search with related topic information.

April 12, 2008

SharePoint Module Hotfix 3 Now Available

A new hotfix package is available for version 3.0 of the TMCore SharePoint Module. This package addresses a number of bugs and performance issues. The full change list can be found below.

Systems Affected

This hotfix should be applied to any installation of the TMCore SharePoint Module 3.0 downloaded before 12th April 2008. If you downloaded your copy of the software from our site on or after this date, the hotfix is included in the package and you do not need to apply it again.

To determine if your system is affected, check the File Version property of the assembly NetworkedPlanet.SharePoint in the GAC (browse to C:\Windows\ASSEMBLY, locate the NetworkedPlanet.SharePoint assembly, right-click and choose Properties. The File Version can be found on the Version tab above Description and Copyright). This hotfix updates the File Version of the NetworkedPlanet.SharePoint assembly to 2.0.0.3 - if the file version shown is greater than or equal to 2.0.0.3, then you do not need to apply this hotfix.

Installation Instructions


  1. Download the Hotfix3 package.

  2. The package is provided in a compressed ZIP file. Unzip the package on a machine in the server farm. The package contains the following files:

    • NPSharePoint.wsp. This is an updated copy of the SharePoint Solution package provided with the 3.0 release of the TMCore SharePoint Module.

    • NPOfficeServer.wsp. This is an updated copy of the SharePoint Solution package provided with the 3.0 release of the TMCore SharePoint Module.


  3. Use stsadm to upgrade the NPSharePoint.wsp and NPOfficeServer.wsp solutions on the server. The exact command-line you use will depend on how you want to schedule the upgrade, but in any case it must include the -allowgacdeployment option. A sample command line would be:

    stsadm -o upgradesolution -name NPSharePoint.wsp -filename NPSharePoint.wsp -local -allowgacdeployment

    stsadm -o upgradesolution -name NPOfficeServer.wsp -filename NPOfficeServer.wsp -local -allowgacdeployment


  4. After applying the solution updates it may be necessary to restart IIS.

Change Log


  • BUGFIX: Fixed topic name generation to remove HTML encoding from the name strings.
  • BUGFIX: Fixed intermittent bug with TopicCreator page that prevented it from
    finding the newly created list item.
  • BUGFIX: Fixed an issue with the XML Query editor web control that caused it to
    crash when editing queries with complex nesting of selectors.
  • BUGFIX: Fixed the SQL generated from XML Query documents to work correctly when
    multiple selectors are grouped under an OR group.
  • BUGFIX: The ContentTypeCreatorFeatureReceiver that processes the MappingsUpdates.xml
    file generated by the NPCL Schema Editor extensions now pushes all updates down
    to lists.
  • BUGFIX: XML Query document locations using in Topic Query Selectors can now be
    specified using server-relative URLs.
  • BUGFIX: Fixed performance issue with Related Topics fields when refreshing from the topic map.
  • BUGFIX: Fixed webpart descriptor file for SearchResultsTopicList by changing it from a .dwp to a .webpart file. NOTE: It may be necessary for upgraders to remove the SearchResultsTopicList web part and add it again for this bug fix to take effect.
  • BUGFIX: Reinstated .dwp files for the simple Topic Search Web Part and the Topic Map Search Results web part.
  • BUGFIX: View Properties on an XML Query document now correctly displays boolean AND and OR groups and the sort order of the results if any sorting is applied.

This hotfix also rolls in the fixes previously provided in Hotfix1 and Hotfix 2, but it does not include the development tools updates provided in the Hotfix 2 package.

For Further Support
If you have any questions about this hotfix or require any further support, please contact us at support@networkedplanet.com.

March 20, 2008

SharePoint Module Hotfix 2

A new hotfix package is available for version 3.0 of the TMCore SharePoint Module. This package addresses a number of bugs and provides a couple of additional enhancements for site developers. The full change list can be found below.

Systems Affected

This bug will occur on any installation of the TMCore SharePoint Module 3.0 downloaded before 21st March 2008. If you downloaded your copy of the software from our site on or after this date, the hotfix is included in the package and you do not need to apply it again.

To determine if your system is affected, check the File Version property of the assembly NetworkedPlanet.SharePoint in the GAC (browse to C:\Windows\ASSEMBLY, locate the NetworkedPlanet.SharePoint assembly, right-click and choose Properties. The File Version can be found on the Version tab above Description and Copyright). This hotfix updates the File Version of the NetworkedPlanet.SharePoint assembly to 2.0.0.2 - if the file version shown is greater than or equal to 2.0.0.2, then you do not need to apply this hotfix.

Installation Instructions


  1. Download the Hotfix2 package.

  2. The package is provided in a compressed ZIP file. Unzip the package on a machine in the server farm. The package contains the following files:

    • NPSharePoint.wsp. This is an updated copy of the SharePoint Solution package provided with the 3.0 release of the TMCore SharePoint Module.

    • NPOfficeServer.wsp. This is an updated copy of the SharePoint Solution package provided with the 3.0 release of the TMCore SharePoint Module.

    • Docs. This directory contains the updated Site Developers Guide documentation.

    • Stylesheets. This directory contains the updated base stylesheets for site developers.

    • NPCLEditor. This directory contains the updated NPCL Schema Editor extensions for the TMCore SharePoint Module


  3. Use stsadm to upgrade the NPSharePoint.wsp and NPOfficeServer.wsp solutions on the server. The exact command-line you use will depend on how you want to schedule the upgrade, but in any case it must include the -allowgacdeployment option. A sample command line would be:

    stsadm -o upgradesolution -name NPSharePoint.wsp -filename NPSharePoint.wsp -local -allowgacdeployment

    stsadm -o upgradesolution -name NPOfficeServer.wsp -filename NPOfficeServer.wsp -local -allowgacdeployment


  4. After applying the solution updates it may be necessary to restart IIS.

  5. To install the updates to the NPCL Schema Editor extensions, simply copy the contents of the NPCLEditor\Extensions directory to the local extensions directory on your development machine (typically C:\Documents and Settings\All Users\Application Data\
    NetworkedPlanet\NPCLEditor\Extensions
    ).

Change Log


  • BUGFIX: TwoHopQueryWebPart is now properly security filtering both the
    TargetTopic and the ViaTopic.
  • BUGFIX: Modified the sample TwoHopQueryWebPart stylesheets so that they
    render in a meaningful way even if there is no CSS associated with their CSS
    class. Each grouped list now renders as a <strong> tag wrapped around the
    group header and a <ul> containing <li> tags for each member of the group

  • BUGFIX: Fixed an error in the EnterpriseServices.SocialTagging module that
    caused the creation of a new tag to take a long time to complete. Creating new
    tags in the social tagging web parts should now be much faster.

  • BUGFIX: Fixed the ItemAdded event handler to ensure proper completion when the
    NPItemBase feature is not activated.

  • BUGFIX: Topic names for topics that represent SharePoint list items are now
    generated from the formatted representation of the SharePoint field configured
    by the Topic Type Mapping. This change ensures that calculated fields are
    rendered as just their formatted string value.

  • BUGFIX: Fixed rendering of Source attributes in Related Topics Field links in
    views to render a full URL rather than a web-relative URL.
  • ENHANCEMENTS: Enhancements made to the NPCL Schema Editor Extensions to ensure
    more consistent editing of features that are already deployed to a server. The
    enhancements should make it much easier to update a test deployment of features
    generated using the NPCL Schema Editor extensions.
  • ENHANCEMENT: Modified the Associated Topic Field properties editor to allow
    the name of the form used by a Topic Creator to be entered in a text field
    rather than chosen from a drop-down list of forms. This enables the use of
    forms other than those contained in the list (e.g. forms from _layouts)
    for the creation of items.

This hotfix also rolls in the fixes previously provided in Hotfix1.

For Further Support
If you have any questions about this hotfix or require any further support, please contact us at support@networkedplanet.com.

March 10, 2008

Context is King!

I recently did an interview for Tassilo Pellegrini from the Semantic Web Company. We talked about Topic Maps and the upcoming conference in Oslo. You can see the full interview here.

TMCore SharePoint Module 3.0 Videos

Kal has been busy with the camera capturing a load of great video that shows how to use the NPCL Editor, the NPCL SharePoint Extensions and also how to configure topic selectors to use hierarchies and custom queries.

All the videos are 25 - 35 minutes long, so grab some coffee, sit back and enjoy...

Ontology based site design in SharePoint

We've talked previously, Topic Map website architectures about how topic maps can be used in terms of websites, we have also talked before about Ontology driven application design. I'm going to pick up a couple of threads and reflect on how defining an Ontology can be useful in the construction of a SharePoint 2007 site.

First, what do we mean by a SharePoint site design? We consider it to be the definition of content types, lists and sites within a site collection. This really comes down to the kinds of items you are going to have and the organising principles you are going, impose, er, provide for users to navigate the site. We aren't talking about the look and feel aspect of design.

Next, whats an Ontology? I'm going to use the definition that its, the types of things and the types of relationships between those things that exist in a particular domain according to some view point. So, no controlled vocabularies here, although they may be implied, no instance data, just the types of things. Kind of like a class diagram in UML, or a Logical Entity Relationship Model.

The power of the ontology is that it immediately frees you from the bounds of the technology. While SharePoint things (items, documents, sites and users) have some properties in common they are in fact all quite different beasts. They have different representations, different APIs, different event models and of course varying degrees of default functionality associated with them.This means when doing site design you are instantly forced to think about, and quickly choose, the king of SharePoint thing to use. I call this the technology committment. The technology committment always trumps the design aesthetic because if it can't be done, or costs to much to be done, it won't get done. Enter Ontology driven site design.

Ontology driven site design is a Zen like experience where the designers can concentrate on the true nature of the information management problem at hand. They can consider all the actors, artifacts, and concepts in a holistic fashion. They do not need to worry about the issues that people manifest themselves as accounts in Active Directory, or that products some from a third party web service feed, or that documents and tasks will use the base SharePoint types for these artifacts. Without these technical constraints they are free to define the types and more importantly, the relationships between these types in ways that directly help tackle the information management issues facing the different users of the system. Furthermore, its possible to ignore the strict hierarchy that is imposed by SharePoint and think about information access purely in terms of the logical model. This of course could contain multiple hierarchical structures and will almost certainly be graph like in nature.

One final little point is that the SharePoint tooling is lacking any overview capability of 'how it all fits together' using an ontology as the basis for the site provides clear documentation to all involved in the project. This artifact can be used in design meetings, data integration meetings and of course site implementation.

So if its all so Zen, so technology agnostic how useful is it beyond documentation? Well, of course you need some technology to make this happen, and this is SharePoint so of course you want to make use of all the SharePoin features. This is where Topic Maps comes in and specifically, the TMCore SharePoint Module. There are two key things Topic Maps integrated with SharePoint via our tools does for you. Firstly, using the NPCL Visual Studio plugin its possible to draw and visualise an ontology. Then, while still inside Visual Studio its possible to either connect the types in the ontology to existing SharePoint content types or to indicate that new types should be created. Finally, the plugin will allow you to generate a feature that contains all the Content type definitions, the ontology and the relationship between the two.

The second thing the Topic Maps integration provides is some basic plumbing inside SharePoint such that all SharePoint items can have a related Topic. Once we have flattened the shape of all things in SharePoint to be just topics and associations its possible to truly realise the Zen ontology while still utilising all the things that the different shaped SharePoint things give you.

Creating this highly connected, semantically organised graph of concepts is great but only if you can then utilise it for the benefit of users. This can be done in a number of ways but one of the most powerful is to develop queries over the logical ontology in order to provide multiple navigation paths to the same content, contextualised lists of topics, or documents based on the user and their situation, finally perhaps making use of the notion of faceted search to slice and dice through the information.

Ontology design needs to be a proper part of the design process. It should happen early on in the project in conjunction with use case and system integration iterations. It's key that these things happen at the same time, as the logical model the ontology provides is the tool for delivering the use cases and the target for mapping in information from other systems.

Ontology driven design for SharePoint has some basic practical advantages over developing the site through the administration interfaces or XML features. Furthermore, it empowers a much more natural and powerful way to think about, organise and exploit the content and concepts of a given domain or application.

To see all of this in action we have produced some cool vidoes of ontology design in the context of SharePoint site design. They can be found here.

March 7, 2008

SharePoint Module Topic Creator Hotfix

A bug was discovered in the recently released TMCore SharePoint Module 3.0 that affects the Topic Creator selectors. This hotfix addresses that issue.

Systems Affected

This bug will occur on any installation of the TMCore SharePoint Module 3.0 downloaded before 8th March 2008. If you downloaded your copy of the software from our site on or after this date, the hotfix is included in the package and you do not need to apply it again.

To determine if your system is affected, check the File Version property of the assembly NetworkedPlanet.SharePoint in the GAC (browse to C:\Windows\ASSEMBLY, locate the NetworkedPlanet.SharePoint assembly, right-click and choose Properties. The File Version can be found on the Version tab above Description and Copyright). This bug affects File Version 2.0.0.0 of this file.

Symptoms

The bug shows up when the user clicks on the a configured Topic Creator link from a related topics field. A dialog window appears, but no content is displayed in the window.

Fix Procedure


  1. Download the Hotfix1 package.

  2. The package is provided in a compressed ZIP file. Unzip the package on a machine in the server farm. The package contains a single file named NPSharePoint.wsp. This is an updated copy of the SharePoint Solution package provided with the 3.0 release of the TMCore SharePoint Module.

  3. Use stsadm to upgrade the NPSharePoint.wsp solution on the server. The exact command-line you use will depend on how you want to schedule the upgrade, but in any case it must include the -allowgacdeployment option. A sample command line would be:
    stsadm -o upgradesolution -name NPSharePoint.wsp -filename NPSharePoint.wsp -local -allowgacdeployment

  4. After applying this update it may be necessary to restart IIS.

If you have any questions about this hotfix or require any further support, please contact us at support@networkedplanet.com.

TMCore SharePoint Module 3.0 Release and Videos

You may have noticed earlier this week the announcement of the TMCore SharePoint Module version 3.0 on our main news blog and on the site front page. This new release really adds a lot of new useful features to the SharePoint Module, both for the end users and for the site developers. For a run-down of the headline changes in the SharePoint Module, check the release announcement here.

To accompany this new release we are also experimenting with some show-and-tell style videos. Almost like visiting the NetworkedPlanet booth at a show, but without the free giveaways and mandatory badge-scan. OK, not quite like that, maybe more like sitting next to Kal and Graham for half an hour at a time as they walk you through how to do cool things with the TMCore SharePoint Module.

The first three videos are already up on the site - these take you through:

  1. Using the NPCL Schema Editor for Visual Studio to create a topic map ontology
  2. Mapping the ontology to content types and field types from within the Visual Studio environment and then deploying that mapping, and the ontology to the SharePoint server as a SharePoint feature.
  3. Configuring advanced selectors including the hierarchy, query and new creator selectors.

You can access all of the videos from this page.

Still to come are a couple of videos on using the Related Topics Fields in a WYSIWYG web page editing environment and a run through of the navigation and search web parts that are provided with the TMCore SharePoint Module. These first movies focus on the design and implementation of a web publishing site, though alot of what is shown is applicable to any kind of SharePoint portal. However, our plan is to follow those up with a series looking at how the TMCore SharePoint Module can be used in an intranet environment.

Unfortunately due to other commitments there will probably be a pause of a week or so between these first three videos and the next batch, but when the next set are available we will post again to this blog, so be sure to bookmark us or better still add us to your RSS reader.

As this is a completely new thing for us to try out, we would really welcome any comments on the videos and suggestions as to what else you would like to see in them. Send any thoughts you have to us at contact@networkedplanet.com.

January 14, 2008

EPiServer 5 CMS Web Services "not allowed"

Some of our customers have reported problems with the EPiServer Module 3.1 BETA for EPiServer 5 CMS. Namely whenever the TMCoreEPiDataService.asmx web service is invoked the following error is produced:

2008-01-11 14:25:51,959 ERROR [18] EPiServer.Global.Global_Error - 1.2.5 Unhandled exception in ASP.NET
System.Web.HttpException: The HTTP verb POST used to access path '/NetworkedPlanet/EPiServerModule/Service/TMCoreEPiDataService.asmx/GetTopicNameAndType' is not allowed.
at System.Web.DefaultHttpHandler.BeginProcessRequest(HttpContext context, AsyncCallback callback, Object state)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

This error is caused by a bug in EPiServer that will be fixed in EPiServer CMS 5 SP1.

EPiServer's explanation of the problem and 2 workarounds are posted here: http://www.episerver.com/en/EPiServer_Knowledge_Center/FAQ_EPiServer_4/956/Invoking-WebService-operations-in-IIS5-causes-an-HttpException/

This problem does not affect users deploying EPiServer solutions in a local ASP.NET development server.