Search Wiki:

Resource Page Description

The resources here provide .NET (WCF in particular) implementations of numerous Web service interoperability scenarios.

The basics

  1. Unzip the provided file to your c:\ drive.
  2. Follow the instructions in the c:\InstallingInteropTests.txt file.
  3. Exercise tests from http://localhost/endpoints on your test machine.
Descriptions for most scenarios may be found at http://mssoapinterop.org/ilab.

Details

The WCF implementations work both with .NET 3.5 SP1 and .NET 4. Includes full source code and Visual Studio 2008 solutions for any adjustments or examination you'd like. Binaries of clients, endpoints, and an ASP.NET controller (aka "endpoint browser") are ready for near-immediate testing.

Testing notes

  • Home page for the endpoint browser, http://localhost/endpoints, lists all available scenarios and the service WSDL for each. These scenarios are grouped into feature areas. The endpoint browser also includes a test controller page, such as http://localhost/endpoints/BasicClient.aspx?featureName=WSAddressing, from which you can drive all testing with WCF clients for each feature area.
  • Test controllers will test WCF clients against WCF services on "localhost" by default. Edit text fields on the page to instead test against remote endpoints. Automate such interoperability testing using the IRT (Interop Runtime) file upload fields at the top of the test controllers. Start from IRT files desribing WCF services such as c:\binaries.x86chk\CDF\Test\wcf\Suite\XwsInterop\MTOM\Service\Indigo\MTOM_Service_Indigo.irt.xml when creating your own.
  • If you prefer not to use the endpoint browser when testing using WCF clients, send SOAP messages to the clients' controller endpoint. Look in Internet Information Services (IIS) Manager to find applications with "Client" in their names. Then, interact with the controller endpoint for an application at http://localhost/<application name>/HostedClient.svc. For example, one controller endpoint description may be found at http://localhost/MTOM_Client_Indigo/HostedClient.svc?wsdl. Note that controller endpoints all have a consistent interface, including their binding.
  • WCF services are continuously available for testing. Use the endpoint browser to find their WSDL descriptions.

Configuration notes:

  • IIS Manager does not enable HTTPS communication by default. Add this binding to the default web site with a site certificate of your choosing or one created using the Server Certificates tool in IIS Manager before testing WS-Security or Secure Exchange scenarios.
  • Configure Windows Firewall to allow remote access to IIS HTTP and HTTPS services when testing between machines.
  • If you will test Secure Exchange scenarios, edit <defaultProxy/> element in c:\binaries.x86chk\CDF\Test\wcf\Suite\XwsInterop\Security\SecureExchange\SXClient\Indigo\web.config to use your test environment web proxy, likely matching your web browser's configuration. This enables the Secure Exchange client to reach the Security Token Service (STS).
  • Optionally edit {{Indigo}} and {{Indigo.SSL}} values in c:\binaries.x86chk\CDF\Test\wcf\Suite\XwsInterop\Runtime\Driver\UI\external\InteropRTMachineConfig.xml to use your hostname and, if necessary, HTTP and HTTPS port numbers. This update will be necessary if Internet Information Services (IIS) is running on non-default ports or if you wish to test WS-Security Kerberos scenarios using the endpoint browser.
  • The default application pool identity (ApplicationPoolIdentity or APPPOOL\DefaultAppPool) may be unable to access the private keys of installed certificates in some cases. The recommended workaround is to update the default application pool in IIS Manager to use the "Network Service" identity.

Removal and Re-installation

  1. Open a command prompt in the c:\binaries.x86chk\CDF\Test\wcf\Suite\XwsInterop\scripts\deploy directory.
  2. Execute `UninstallCertificatesLabRun.cmd`.
  3. Optionally, remove all testing application in IIS Manager.
  4. Delete c:\installingInteropTests.txt and c:\License.txt files.
  5. Delete c:\binaries.x86chk, c:\logs, c:\OasisLogs, c:\test, c:\testcommon, and c:\WCFLogs directory trees.
  6. If deploying a new version of the WCF implementations, follow instructions below.

Current releases

Can download either InteropBinaries*.zip or InteropSourcesAndBinaries*.zip. The second set contains all source code for the WCF implementations as well as everything in the first set.

201005

  1. Download and unzip base package -- either InteropBinaries-201005.zip or InteropSourcesAndBinaries-201005.zip.
  2. Optionally download and unzip files from release 201004, RSP overlay.
  3. Follow instructions in the c:\InstallingInteropTests.txt file.
This release includes the WS-I Basic Security Profile 1.1 tests in the core package.
This release is a significantly smaller download than release 200907 because it includes fewer files unrelated to testing WS-* interoperability with WCF.
Compared to 200907, this release fixes some reported bugs and adds some "gap-filling" scenarios.
Overall
  • Corrects deployment issues on some Windows platforms.
    • E.g. creates c:\OasisLogs directory automatically.
  • Corrects many Visual Studio projects and solution files.
  • Places most WCF trace files in c:\WCFLogs, leaving none within the c:\binaries.x86chk\... tree.
  • Implements the final WS-I Basic Profile 1.2 and 2.0 scenarios, which were still in flux when 200907 was released.
WS-Addressing
  • Corrects handling of IIS configurations using non-default ports for HTTP and/or HTTPS.
  • Corrects implementation of scenarios Test1151 to use the correct namespaces.
  • Corrects implementation of scenarios Test1152 and Test1252 to avoid exceptions before the client sends the request.
  • Adds scenarios Test1189 and Test1289 in which the client sends an unexpected wsa:Action.
  • Adds (previously-supported) scenarios Test1248 and Test1299 to the endpoint browser.
    • Test1248 is an optional test from the WS-Addressing Working Group suite in which the client does not send a wsa:Action header.
    • Test1299 is a dispatch test involving exchanges with empty or duplicate Body elements and distinct wsa:Action values.
WS-ReliableMessaging
  • Improves error handling in the WS-ReliableMessaging client.
Security
  • Corrects a test code incompatibility with .NET 4 that caused all WS-Federation scenarios to fail.
  • Provides an IIS-hosted service for the Secure Exchange scenarios, removing the need to start anything from the command line when testing.
    • This change results in new URIs for the WCF endpoints used in this feature area.
  • Adds OasisScenario9, OasisScenario10, and OasisScenario11 to the Secure Exchange feature area.
  • Adds OasisScenario1_EncSig, OasisScenario3_EncSig, OasisScenario5_EncSig, OasisScenario6_EncSig, OasisScenario6Wss10, OasisScenario8_EncSig, OasisScenario9_EncSig, OasisScenario10_EncSig, and OasisScenario11_Full to the Secure Exchange feature area.
    • These scenarios add encrypted signature (*_EncSig), remove WS-Security 1.1 (*Wss10), or add signature confirmation to the outer binding (*_Full) of the base scenarios.
  • Improves the WS-Security client handling of non-WCF WSDL.
  • Lengthens credentials the WS-Security client sends in *Username* scenarios to "Alice_" / "_ecilA".
  • Adds MutualCertificate10SignEncryptAddressing10, MutualCertificate10SignEncryptSoap12Addressing10, MutualCertificate10SignEncrypt, XS-NoSignatureConfirmation, XD-NoSignatureConfirmation, XD_NoDerivedkeys, XD_NoDerivedkeys-NoSignatureConfirmation, XD_HeaderOnly_SignatureConfirmation, XD-SEES_HeaderOnly, XD_NoDerivedkeys_HeaderOnly, XD_NoDerivedkeys_HeaderOnly-NoSignatureConfirmation, XD-SEES_Addressing10, XD-SEES_NoDerivedkeys-NoSignatureConfirmation, UXD_Addressing10, UXSD_Addressing10, A-NoSignatureConfirmation, AD-NoSignatureConfirmation scenarios to the WS-Security feature area.
    • All are hopefully self-explanatory variants of existing scenarios in this feature area.
    • Since "XD" normally means mutual certificate with derived keys, some of these names aren't perfect.
    • Please see the service WSDL for more information.
SOAP/WSDL (data types)
  • Removes the non-interoperable "namenotNC" value (with a "<::Yes We Can ::>" local name) from those sent in the RetQName scenarios of the Basic Data Types feature areas.
  • Reverses move from (e.g.) ComplexDataTypesDocLitW.svc to ComplexDataTypesDocLitWCompact.svc in the endpoint browser listing for the Complex Data Types feature areas.
    • The *Compact.svc services do not support as many data types as the regular services.
    • Both the regular and *Compact.svc services remain available if needed.
  • Corrects interface used in TwoHeadersSameNameDiffNS scenario of SoapWsdl.HeadersDataTypes.XmlFormatter.DocLitWrapped feature area.
    • No longer use an empty namespace URI for the second header element.

201005, WS-SecurityPolicy 1.2 alternate

  1. Download and unzip base package -- either InteropBinaries_SecurityPolicy12-201005.zip or InteropSourcesAndBinaries_SecurityPolicy12-201005.zip.
  2. Optionally download and unzip files from release 201004, RSP overlay.
  3. Follow instructions in the c:\InstallingInteropTests.txt file.
This release includes the WS-I Basic Security Profile 1.1 tests in the core package.
This release is a significantly smaller download than release 200907 because it includes fewer files unrelated to testing WS-* interoperability with WCF.
Compared to 201005, this release makes a few changes in the tested scenarios to emphasize the available WS-* standards.
MTOM
  • Adds Body content to header() operations in the MTOM feature area.
    • Not all WS-* implementations support application messages with an empty Body element.
    • Request should contain both a ByteArray Header element and a StringValue Body element.
    • As before, response should contain a StringValue Body element matching the request's ByteArray Header content.
    • In addition, response should contain a ByteArray Header element matching the request's StringValue Body content.
WS-ReliableMessaging and WS-Security
  • Changes WS-Security and secure WS-ReliableMessaging scenarios to use WS-SecurityPolicy 1.2.
    • Also changes the subset of these scenarios involving WS-SecureConversation (including all secure WS-ReliableMessaging scenarios) to use WS-SecureConversation 1.3.
    • Leaves very little use of submitted version of WS-SecurityPolicy or WS-SecureConversation. Remaining use includes,
      • WS-Federation feature area, where the submitted versions of WS-SecureConveration and WS-Trust are tested.
      • Tests of submitted (August 2004) version of WS-Addressing in the WS-ReliableMessaging feature area.
Security
  • Changes WS-Security scenarios to use WS-Addressing 1.0 throughout.
    • Most tests had involved the submitted version of WS-Addressing.
  • Removes echoDataSet() operation and related tests from the WS-Security feature area and that part of the endpoint browser.
    • The .NET DataSet type default serialization is not broadly interoperable.

201004, RSP overlay

  1. Download and unzip core release -- 200907, 201005, or 201005, WS-SecurityPolicy 1.2 alternate.
  2. Download and unzip package containing implementations of WS-I Reliable Secure Profile 1.0 scenarios -- either InteropBinaries_RSP_overlay-201004.zip or InteropSourcesAndBinaries_RSP_overlay-201004.zip.
  3. If packages have not yet been deployed, follow instructions in the c:\InstallingInteropTests.txt file.
  4. If packages have been deployed,
    1. Open a command prompt in the c:\binaries.x86chk\CDF\Test\wcf\Suite\XwsInterop\scripts\deploy directory.
    2. Execute `_DeployIndigoEndpoints.exe \binaries.x86chk\CDF\Test\wcf\Suite\XwsInterop /eb+`.
This release works only with .NET 4. Though the tests will always appear in the endpoint browser, RSP clients and services can’t be activated with earlier versions.
If adding this release to a system where the BSP portion of 200907 has not been installed, the WS-I Basic Security Profile 1.1 tests will appear in the endpoint browser but be unusable.

Earlier releases

200907

  1. Download and unzip base package -- either InteropBinaries-200907.zip or InteropSourcesAndBinaries-200907.zip.
  2. Optionally download and unzip package containing implementations of WS-I Basic Security Profile 1.1 scenarios -- either InteropBinaries_BSP_overlay-200907.zip or InteropSourcesAndBinaries_BSP_overlay-200907.zip.
  3. Optionally download and unzip files from release 201004, RSP overlay.
  4. Follow instructions in the c:\InstallingInteropTests.txt file.
This release remains available from http://131.107.72.15/testcasepackages though the Zip filenames have changed.
Last edited May 31 2010 at 6:08 AM  by DougBu, version 26
Updating...
Page view tracker