Skip to Content

SAP Web Service Design Tool: From web service creation to Xcelsius consumption

Updated February 24th, 2011 with clarifying information around supported licenses.

Due to a few questions which have come up regarding licensing errors while consuming web services created by the WSDT, I was compelled to install the tool and try to work through some of the issues that people are seeing.  This blog documents my experience with installing the WSDT, creating a web service, and then utilizing that web service via Xcelsius.

One of the main takeaways from this exercise is that the Web Service Design Tool only accepts licenses from Xcelsius Engage Server and Crystal Reports Server.  This is important for those of you that are receiving the CAL license error when trying to invoke your web services created with the tool.  Ensure that you are using either an Xcelsius Engage Server or Crystal Reports Server license key.

The WSDT will accept keys in two ways:

  • A manually entered Xcelsius Engage Server keycode.  In this case, the number of simultaneous connections is equal to the number of CAL in the keycode.
  • When used with a platform (BOE, Edge, or CRS), then the number of simultaneous connections is equal to the sum of CAL and NUL licenses in the platform.

Both of these methods can be used at the same time, in which case the total number of simultaneous connections is the sum of both amounts.

First, I ensured that I met the pre-requisites to install the tool.  These are:

  • Administrator privileges

  • Either IIS 6 or IIS 7 and the IIS Metabase compatibility component installed

  • .NET Framework 3.5 SP1

  • Microsoft Visual C++ 2008 Redistributable

  • Windows Server 2003 or 2008

After installing the tool, my first step was to create an ODBC connection to the sample eFashion Access database.  I then created a query against this connection, which returned all of the rows from the Article_lookup table.  I executed the query to ensure that everything was working fine.

Execute Query in WSDT

I created a web service against the query and left all of the default options for the deployment of the web service to IIS.  Remember that you cannot include spaces in the name of the web service.


The first problem that I ran into after deploying the web service, was that IIS kept giving me an HTTP 404 error when trying to load the ASMX page.  This was fixed by following the steps below:

  1. Open IIS Manager

  2. Right-click on Web Service Extensions

  3. Type in the name of the extension as “ASP.NET 2.0”

  4. Type in the path to the appropriate DLL for .NET Framework 2.0.  This is C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll

  5. Set the extension status to “Allowed”

  6. Windows Explorer, navigate to C:\Windows\Microsoft.NET\Framework\v2.0.50727

  7. Right-click on “Temporary ASP.NET Files”

  8. Select “Sharing and Security”

  9. Add “Network Service” to the list of allowed accounts and set to “Full” access

  10. Restart IIS

This got me to the point where I could load the ASMX page:



I ran into another problem when I tried to invoke the web service.  This presented me with the following error:

Invoke Error

I was able to get around this problem by adding the Network Service account to the list of allowed accounts for accessing C:\WINDOWS\Temp.  The appropriate rights are “List Folder”, “Read Data”, and “Delete”.

Now, being able to invoke the web service, I finally get to the error which many of you are seeing:

WSDT License Error

So, I checked to see which licenses were recognized in the WSDT:

WSDT Options Page

As you can see, the total number of available licenses is 0.  I tried deleting the license key and re-adding it.  When I did so, I received an error that the license key was invalid.  I then tried adding a new Xcelsius Enterprise and Xcelsius Present key – neither were recognized as valid keys. I then tried connecting to a Crystal Reports Server installation via the “Server URL”, “User Name”, and “Password” fields in the WSDT Options panel. This retrieved 10 available licenses from my Crystal Reports Server installed keys. I was then able to invoke my web service.

Working Web Service

The problemseemed to be that the WSDT did not recognize standalone keys from Xcelsius. However, based upon further research, it was determined that the WSDT only recognizes CAL-based keys from Xcelsius standalone installations. Specifically, it only accepts Xcelsius Engage and Crystal Reports Server keys.

Another problem which I found during this process of troubleshooting involved the web service still working correctly even if there were no licenses configured in the WSDT.  I saw this after removing all licenses from the CMS and all licenses for standalone products from my system.  I was still able to invoke the web service.  To correct this, I had to restart the SAPLicenseService which is installed by the WSDT.

After getting through all of these issues, I then wanted to create an Xcelsius model against one of my test web services.  First, I configured my web service in Xcelsius.  You can see a screenshot of this configuration below.

Web Service Config in Xcelsius

I defined the Resort record under the PropertiesRow to insert a cell into my spreadsheet by selecting the “Resort” record and then clicking the box with the red arrow.  This allowed me to set my destination cells.  As I knew there are only five resorts, I selected a range of five rows in my spreadsheet.

I then inserted a table into the canvas and set the Display Data as the five rows where my resorts will be inserted from the web service.

Table Creation in Xcelsius

Finally, I inserted a Connection Refresh Button into the canvas and set it to refresh the Property List Connection.  I then previewed my Xcelsius model and, if my resort values were to change, I could dynamically update them via the “Refresh” button.

Working Xcelsius Model

You must be Logged on to comment or reply to a post.
      • Hi Coy,

        Works perfect this way.
        When i entered the server name and credentials i can see the number of licenses.
        Now, with Xcelsius Enterprise, means that i can have unlimited number of web connections regardless of the number of user licenses that i have in CRS2008, right?

        Right now the queries are working ok, i can see the data in the Xcelsius dashboards.

        Thanks for your help!!!!!


  • Hi Coy,

    What is the timeframe for release of the licenses for the connector? Seems like I’m running into the “Number of Active Connections…” issue quite frequently, yet I’m only in a testing phase and we have ten Crystal CALs.



    • Hi James,

      My apologies, I did not see this comment come through on the post.  I will check with the developers to determine how often the connection releases.  I believe that this is configurable and is 15 minutes by default.

      I will come back to you shortly with a definitive answer.


    • Hey Stefan,

      Yes, that is correct.  The WSDT itself does not provide any authentication / authorization mechanisms.  This should be controlled by the IIS server hosting the web service.


  • Thanks for replying to my previous question Coy.

    To clarify how licenses are consummed by this tool, clould please confirm which one of the following statements are correct and/or explain:

    1- In order to be functional, either a keycode for Xcelsius Engage or CR Server is required.

    2 – If a direct connection to the CR Server CMS is provided, the license key will be retrived directly from the CMS and the tool will become active.

    3 – If the workflow from point 2 above is used, the tool will consume CAL license from the CMS and the license pool will be limted to the number of CAL licenses avaialable from CR Server.

    4 – If an Xcelsius Engage keycode is used to activate the product, the tool will allow/provide unlimited CAL’s?

    Thanks again.

  • Hi,
    I am using Visual Studio to create webserive.
    Invoked sucessfully, but when using Xcelsius web service connect to connect to ws, it’s sucessfully imported, but cann’t see any data when preview Xcelsius page.
    I try to return dataset or data table either way from the web service, still do not see data when called from Xcelsisus.
    Any idea? please help
  • Hi,
    I am using Visual Studio to create webserive.
    Invoked sucessfully, but when using Xcelsius web service connect to connect to ws, it’s sucessfully imported, but cann’t see any data when preview Xcelsius page.
    I try to return dataset or data table either way from the web service, still do not see data when called from Xcelsisus.
    Any idea? please help