# SAAJ Technology Compatibility Kit, Version 1.3
Release Notes, August 2011

Note | This is a patch release of the TCK. The Release Notes file that is posted on the Java Partner Engineering Web site contains the most current information about the TCK, including any last minute changes. Always check that file for the most up-to-date information. Also note that this patch is a full, comprehensive release of the TCK bundle. You do not need to install any previous TCK bundles before installing this patch bundle.

## Kit Contents

The SAAJ, Version 1.3 Technology Compatibility Kit (TCK) includes the following items:

- JavaTest harness version 3.2.1 and related documentation:

  - The JavaTest harness Release Notes are provided in the JavaTest documentation directory in the SAAJ TCK 1.0 documentation bundle.

  - The JavaTest harness provides three User's Guides in PDF format. The JavaTest User's Guides are also available in JavaHelp format, and can be displayed either in the JavaTest harness or in a separate viewer launched from the command line.

    - JavaTest User's Guide: Graphical User Interface contains information on using the test harness GUI.
    - JavaTest User's Guide: Command Line Interface contains information on running tests by using the test harness command line.
    - JavaTest Agent User's Guide contains information on running tests by using the test harness agent.

- SAAJ TCK tests signature, API, and end-to-end tests:

  - A signature test that checks that all of the public APIs are supported in the SAAJ Version 1.3 implementation that is being tested

  - API tests for all of the public APIs under the `javax.xml.soap` package

  - End-To-End tests that demonstrate sending/receiving SOAP messages to/from a URL endpoint as well tests for WSI compliance

## Platform Notes

The SAAJ TCK tests have been built and tested with the Apache Tomcat 5.5.x Web container running on the JavaTM Standard Edition 5 (Java SE 5) platform. If you are using a different Web server, you will need to make adjustments to the procedures outlined in this document.

The SAAJ TCK tests run on the following platforms:

- Solaris 9 Operating System on Sparc and x86
- Solaris 10 Operating System on Sparc and Opteron
- Windows 2003 Server Professional Edition
- Windows XP Professional Edition
- Windows 2000 Professional Edition
- RedHat Linux 9.0
- RedHat Linux AS 3.0 (including Update 4)

In the instructions in this document, variables in angle brackets need to be expanded for each platform. For example, `<TS_HOME>` becomes `$TS_HOME` on Solaris/Linux and `%TS_HOME%` on Windows 2000/XP. In addition, the forward slashes (`/`) used in all of the examples need to be replaced with backslashes (`\`) for Windows 2000/XP.

## Bugs Fixed in the SAAJ TCK 1.3 Patch Release

The following bugs were fixed in the SAAJ TCK 1.3 Patch release. Complete descriptions of these bugs can be found online in the SunSolve database.

- Bug ID #6388277 - SAAJ Test failure. "Expected ReasonText=This is the fault reason" got "Actual ReasonText=null"

- Bug ID #6484953 - Question regarding SAAJ CTS `SOAPFaultTestServet#SetGetFaultCode1Test`

- Bug ID #6489570 - SigTests need to update `sigtest.jar` and `sigtestdev.jar` files

- Bug ID #6494018 - `SAAJResult/URLClient.java#getResultTest1`

- Bug ID #6520401 - `com/sun/ts/tests/saaj/api/javax_xml_soap/SOAPPart/URLClient.java#setContent1Test`

- Bug ID #6531135 - `saaj/api/javax_xml_soap/AttachmentPart/URLClient.java#clearContent3Test`

- Bug ID #6533977 - `com/sun/ts/tests/saaj/api/javax_xml_soap/SOAPPart/URLClient.java#get/setContent1Test` and other tests

- Bug ID #6577722 - `saaj : ERROR: com.sun.ts.lib.harness.EETest$Fault: SetFaultCodeNameSOAPExceptionTest failed/code> and other tests`

- Bug ID #6906921 - `saaj tck SetBase64ContentSOAPExceptionTest1 and SetRawContentSOAPExceptionTest1 fail with NPE`

- Bug ID #6906932 - `Fix SAAJ TCK bundling error`

- Bug ID #12967604 - `COM.SUN.TS.TESTS.SAAJ.API.JAVAX_XML_SOAP.SOAPCONNECTION.GETTEST2`

## Updates for the SAAJ TCK 1.3 Release

Added support for Java SE 7 based signatures.

## Known Problems and Workarounds

### Signature Tests

The changes for signature tests include the following:

1. New naming scheme for all existing signature files
2. `sig-test.map` and `sig-test-pkg-list.txt` files

Details about these changes are described below.

#### New naming scheme for all existing signature files

The new signature test files have a new naming scheme that uses the following format:

>     <technology_package>.sig_<technology_version>_<Java_version>

For example:

>     javax.persistence.sig_1.0_se5

Where:

`technology_package`
  High-level Java package name for a given technology area. For example, for the JPA technology area, the `technology_package` name is `javax.persistence`.
`technology_version`
  Version of the technology to which the signature file applies. In the JPA example above, this signature file is for JPA 1.0.
`Java_version`
  Java SE version that was used to record the signature files. In the JPA example above, the Java SE version is Java SE 5. Currently, the supported version types are `_se5`, `_se6`, `_se7` and `_se5_se6` where the latter indicates that the same file can be used for both Java SE 5 and Java SE 6. Note that when verifying signatures, the technology under test must also be running with the correct version of Java that is being qualified.

#### `sig-test.map` and `sig-test-pkg-list.txt` files

Since there is a need to support SE 5, SE 6 and SE 7 there are more signatures that need to be supported. To simplify end user requirements, there were some new files added to the system that are used to isolate the list of signature files required by the user. While extra files were added, there should be no extra effort on the end users part.

The new files are located in the `TS_HOME/bin` directory. The following files are now used by signature tests:

- `ts_home/bin/sig-test_se5.map`
- `ts_home/bin/sig-test_se6.map`
- `ts_home/bin/sig-test_se7.map`
- `ts_home/bin/sig-test.map`
- `ts_home/bin/sig-test-pkg-list_se5.txt`
- `ts_home/bin/sig-test-pkg-list_se6.txt`
- `ts_home/bin/sig-test-pkg-list_se7.txt`
- `ts_home/bin/sig-test-pkg-list.txt`

The signature test framework should automatically choose the correct file based on the version of Java SE being used. The signature test framework chooses the files to use based on the following logic:

>     if (Java SE 5)
>        use TS_HOME/bin/sig-test_se5.map
>        use TS_HOME/bin/sig-test-pkg-list_se5.txt
>     else if (Java SE 6)
>        use TS_HOME/bin/sig-test_se6.map
>        use TS_HOME/bin/sig-test-pkg-list_se6.txt
>     else if (Java SE 7)
>        use TS_HOME/bin/sig-test_se7.map
>        use TS_HOME/bin/sig-test-pkg-list_se7.txt
>     else
>        use TS_HOME/bin/sig-test.map
>        use TS_HOME/bin/sig-test-pkg-list.txt

Note | `sig-test.map` defaults to the same values as `sig-test_se5.map` and `sig-test-pkg-list.txt` defaults to the same values as `sig-test-pkg-list_se5.txt`. If for some reason, there is a need for the sigtest framework to use a different map file (for example, when using an unlisted SE version) then you can customize the `TS_HOME/bin/sig-test.map` file and it will be used when the sigtest framework cannot properly identify or support the Java SE version being used.

## Installing, Setting Up, and Running the SAAJ TCK

Refer to the SAAJ TCK 1.3 User's Guide for complete instructions on installing, setting up, and running the SAAJ TCK.

Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms.