Schools Interoperability Framework™
Reporting Web Service 1.0

October 18, 2006






This version:
http://specification.sifinfo.org/WebServices/Reporting/1.0/
Previous version:
This is the first version of this specification.
Latest version:
http://specification.sifinfo.org/WebServices/Reporting/
WSDL
WSDL (SIF 1.5r1 specifically)
WSDL (SIF 2.0 specifically)
WSDL (any SIF version with ReportAuthorityInfo, ReportManifest and SIF_ReportObject)

Note: Add a url parameter to any of the WSDL URLs above to include a location for your service.

Please refer to the errata for this document, which may include some normative corrections.



Copyright ©2006 Schools Interoperability Framework (SIF™) Association. All Rights Reserved.


1 Preamble

1.1 Abstract

The SIF Reporting web service is designed independently of SIF Implementation Specification versions to allow applications outside of SIF Zones to access the wealth of data in those Zones via SIF's reporting objects, ReportManifest, SIF_ReportObject and ReportAuthorityInfo. A Reporting service implementation may be closely bound to the reporting capabilities of a given Zone or Zones, or it may provide ad hoc access to data via the report generation capabilities of the service implementation itself. In either case, with the availability of this service description, state agencies, school districts, schools and other entities have an industry-standard method for retrieving report data from SIF Zones without knowledge of the internal details of--or the need to participate directly in the day-to-day operations of--given SIF Zones/Implementations.

1.2 Disclaimer

The information, software, products, and services included in this specification may include inaccuracies or typographical errors. Changes are periodically added to the information herein. SIFA may make improvements and/or changes in this document at any time without notification. Information contained in this document should not be relied upon for personal, medical, legal, or financial decisions. Appropriate professionals should be consulted for advice tailored to specific situations.

SIFA, ITS PARTICIPANT(S), AND THIRD PARTY CONTENT PROVIDERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY, RELIABILITY, TIMELINESS, AND ACCURACY OF THE INFORMATION, SOFTWARE, PRODUCTS, SERVICES, AND RELATED GRAPHICS CONTAINED IN THIS DOCUMENT FOR ANY PURPOSE. ALL SUCH INFORMATION, SOFTWARE, PRODUCTS, SERVICES, AND RELATED GRAPHICS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. SIFA AND/OR ITS PARTICIPANT(S) HEREBY DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THIS INFORMATION, SOFTWARE, PRODUCTS, SERVICES, AND RELATED GRAPHICS, INCLUDING ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT.

IN NO EVENT SHALL SIFA, ITS PARTICIPANT(S), OR THIRD PARTY CONTENT PROVIDERS BE LIABLE FOR ANY DIRECT, INDIRECT, PUNITIVE, INCIDENTAL, SPECIAL, CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF USE, DATA, OR PROFITS, ARISING OUT OF OR IN ANY WAY CONNECTED WITH THE USE OR PERFORMANCE OF THIS DOCUMENT, WITH THE DELAY OR INABILITY TO USE THE DOCUMENT, THE PROVISION OF OR FAILURE TO PROVIDE SERVICES, OR FOR ANY INFORMATION, SOFTWARE, PRODUCTS, SERVICES AND RELATED GRAPHICS OBTAINED THROUGH THIS DOCUMENT OR OTHERWISE ARISING OUT OF THE USE OF THIS DOCUMENT, WHETHER BASED ON CONTRACT, TORT, STRICT LIABILITY, OR OTHERWISE, EVEN IF SIFA, ITS PARTICIPANT(S), OR THIRD PARTY CONTENT PROVIDERS HAVE BEEN ADVISED OF THE POSSIBILITY OF DAMAGES. BECAUSE SOME STATES/JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY TO YOU. IF YOU ARE DISSATISFIED WITH ANY PORTION OF THIS DOCUMENT OR WITH ANY OF THESE TERMS OF USE, YOUR SOLE AND EXCLUSIVE REMEDY IS TO DISCONTINUE USING THIS DOCUMENT.

This specification is released with the following provisos to developers and educators.

1.3 Certification and Compliance Claims

Though a product may be demonstrated to comply with this specification, no product may be designated as SIF Certified™ by an organization or individual until the product has been tested against and passed established compliance criteria, published separately.

Quick Table of Contents

1 Preamble

2 Introduction

3 Architecture

4 Service Definition


A SIF Agent Implementation (non-normative)

B WS-Security Examples (non-normative)

C Index of Tables

D Index of Examples

E References

Full Table of Contents

1 Preamble

1.1 Abstract

1.2 Disclaimer

1.3 Certification and Compliance Claims

2 Introduction

2.1 Specification Organization

2.2 Document Conventions

2.2.1 Definitions

2.2.2 Structure and Values

2.2.3 Examples

2.2.4 References

2.2.5 Terminology

2.3 Version Numbers

3 Architecture

3.1 Assumptions

3.2 Concepts

3.3 Interoperability

3.3.1 Requirements

4 Service Definition

4.1 GetResponderCapabilities

4.1.1 Request

4.1.2 Response

4.2 RequestReport

4.2.1 Request

4.2.2 Response

4.3 GetReportStatus

4.3.1 Request

4.3.2 Response

4.4 GetReportResults

4.4.1 Request

4.4.2 Response

4.5 CloseReport

4.5.1 Request

4.6 CancelReport

4.6.1 Request


A SIF Agent Implementation (non-normative)

A.1 Assumptions

A.2 Preconditions

A.3 Reporting Service Operation/Message Handling

A.3.1 GetResponderCapabilities

A.3.2 RequestReport

A.3.3 GetReportStatus

A.3.4 GetReportResults

A.3.5 CloseReport

A.3.6 CancelReport

A.4 SIF_Event Handling

A.4.1 SIF_ReportObject Add

B WS-Security Examples (non-normative)

B.1 Unencrypted

B.2 Encrypted

C Index of Tables

D Index of Examples

E References

2 Introduction

2.1 Specification Organization

Beyond the abstract and this introduction, being a specification that primarily refers to other specifications, this specification consists of a short description of the related Architecture and a description of the actual Service Definition. The appendices include a high-level functional description of a "thin" SIF Agent-based implementation of a Reporting Service that forwards ReportManifests to a Zone. And while WS-Security signed/encrypted equivalents of all service examples in the specification are beyond the scope of this document, signed/encrypted versions of a single message are included for interested readers. The specification ends with References.

2.2 Document Conventions

2.2.1 Definitions

The first time a term or concept is defined, it may be emphasized.

2.2.2 Structure and Values

SIF message and object names, XML element tags, attribute names and values, and other codes or values are typically presented as in this sentence.

2.2.3 Examples

Longer examples of XML or HTTP messages are typically numbered and presented as given here.
Example 2.2.3-1: Examples Convention

2.2.4 References

References to other works occurring in this text are given in brackets, e.g. [REFERENCE]. The text in brackets corresponds to a key in the References appendix. Often when the text in the brackets duplicates surrounding text, the reference alone is used (e.g. [XML] instead of XML [XML]).

2.2.5 Terminology

The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, OPTIONAL, when EMPHASIZED, are to be interpreted as described in [RFC 2119].

2.3 Version Numbers

This specification uses the following version numbering scheme:

major version.minor versionrrevision number

This version of the specification is a major release, and the first release of a major version has a minor version of 0 (2.0); major version numbers start at 1 and are incremented as major versions are released (1.0, 2.0, 3.0, ...). Major versions typically introduce additions/changes that may impact deployed applications.

Minor releases typically introduce to the marketplace new optional functionality or optional extensions to existing functionality. The first minor version released subsequent to and within a major release has a minor version of 1 and is incremented as new minor versions are released (2.1, 2.2, ...). If a significant number of minor release features is introduced in a specification, SIFA may decide to increment the minor version number by more than 1 (e.g. 1.1 to 1.5), though a number like 1.5 is not an indication of being halfway to a major release, as minor version numbers may be incremented significantly past 10 (2.10, 2.11, ...) as optional functionality is released.

Corrections resulting from identified errata, as well as textual changes, may be incorporated into a revision release. These typically include minor corrections to specified functionality, corrections of typographical errors, or corrected/expanded documentation. If major errors in any release are identified, a revision release may incorporate changes more typical of a major or minor release. First major and minor releases have a revision number of 0, which is omitted from the version number (1.0, not 1.0r0); subsequent revision numbers start at 1 and are incremented as new revisions are released (1.0r1, 1.0r2, ...).

3 Architecture

3.1 Assumptions

The following assumptions are made of readers of this specification:

If the reader is an implementer, it is assumed also that the implementer can implement or has access to implementations of all applicable standards and specifications as related to this specification. No assumption is made of any particular software/hardware configurations necessary to implement products conforming with this specification.

3.2 Concepts

A SIF Reporting client is also known as a Report Requester. The application submits a ReportManifest to a server and retrieves the resulting report as a SIF_ReportObject packet stream as it becomes available. Typically the Report Requester defines the ReportManifest itself, specifying the data it requires from the server, or Report Servicer, but it may also submit pre-defined ReportManifests, retrievable through the service itself, i.e. a ReportManifest defining all ReportManifests be returned in a report. Note that while the SIF vertical reporting functionality allows for a report to be resubmitted for a number of reasons (e.g. correction, revision, addition), in the Reporting web service there is a one-to-one mapping between a ReportManifest and the resulting report; if more than one report results for a given ReportManifest submission, it is implementation defined which report is singled out as the resulting report by the Report Servicer.

Behind the curtain of the Report Servicer is a very wide world, anything from a single SIF Zone to hundreds of SIF Zones, from a school to a state, from SIF Zones populated with SIF Agents to no SIF Zone at all, where the Report Servicer itself is the Report Generator and Report Agent [SIF VR] and/or Zone (e.g. data warehouse). Implementations of Report Servicers will vary, from this omniscient one to essentially a go-fer or thin layer over one or more SIF Zones (see SIF Agent Implementation). This service very simply defines, along with supporting functionality, the ability to submit a ReportManifest and receive in response SIF_ReportObjects. No assumptions are made of the world behind the curtain of the Report Servicer.

3.3 Interoperability

Given the expanse of interoperability issues in the Web Services arena, this specification leverages industry-wide interoperability efforts to the greatest extent possible. WS-I's Basic Profile [Basic Profile] defines the use of SOAP in HTTP for this service and this specification endeavors to follow applicable requirements in the Basic Profile with regard to the WSDL for the SIF Reporting Service. Secure implementations of this service can be built upon HTTPS (TLS 1.0 or SSL 3.0 per the Basic Profile) or can leverage WS-I's Basic Security Profile [Basic Security Profile] over HTTP, or HTTPS.

As proof-of-concept implementations of this service emerge for various platforms, additional interoperability points may be mandated above and beyond these profiles in future versions of this specification. Currently the following additional requirements apply:

3.3.1 Requirements

4 Service Definition

This section describes the SIF Reporting Service at a high level and provides tabular descriptions of related XML structures. The normative source of these structures and definitions can be found in the corresponding WSDL files.

The namespace for this web service is http://specification.sifinfo.org/WebServices/Reporting/1.0.

4.1 GetResponderCapabilities

This method provides the client the ability to ascertain various capabilities of the server. Given the breadth of possible server implementations, especially with regard to "thin" implementations routing ReportManifests to SIF Zones or other systems where some of these capabilities truly lie, clients MAY attempt subsequent functionality not reflected as supported in ResponderCapabilities. Clients SHOULD consult ResponderCapabilities, as unnecessary errors can be avoided (e.g. a server not supporting a given SIF version or query type) in subsequent methods.

4.1.1 Request

ParameterminOccursmaxOccursTypeDescription
     
POST /SIFReporting HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "http://specification.sifinfo.org/WebServices/Reporting/1.0/GetResponderCapabilities" Host: services.sifinfo.org Content-Length: ... <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body /> </soap:Envelope>
Example 4.1.1-1

4.1.2 Response

ResponderCapabilities returns the capabilities of the server to the client.

ResponderCapabilities
ParameterminOccursmaxOccursTypeDescription
SupportsSIFVersion1unboundedxs:token A list of SIF versions supported by the server or known to be supported by the Zone(s) or system(s) to which the server submits ReportManifests.
SupportsQueryLanguage0unboundedxs:token A list of query languages supported by the server or known to be supported by the Zone(s) or system(s) to which the server submits ReportManifests. If the server cannot determine which query languages are supported by Zone(s) or system(s) to which it submits ReportManifests, SupportsQueryLanguage  MAY be omitted. The two SIF-defined query types are SIF_Query and SIF_ExtendedQuery, defined in [SIF 2.0] and beyond. Other examples could include SQL, MDX, XMLA, etc.
SupportsOutOfOrderPacketRequests11xs:boolean Whether the server support out-of-order packet requests, e.g. where the packet number submitted does not necessarily need to equal the packet number of the next available packet. Out-of-order packet requests MAY be supported by servers to support divide-and-conquer downloading of large reports, rather than requiring the client to process the report sequentially.
HTTP/1.1 200 OK Server: SIF Reporting Server Date: Sat, 16 Sep 2006 10:52:01 GMT Content-Type: text/xml; charset=utf-8 Content-Length: ... <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ResponderCapabilities xmlns="http://specification.sifinfo.org/WebServices/Reporting/1.0"> <SupportsSIFVersion>1.5r1</SupportsSIFVersion> <SupportsSIFVersion>2.0</SupportsSIFVersion> <SupportsQueryLanguage>SIF_Query</SupportsQueryLanguage> <SupportsQueryLanguage>SIF_ExtendedQuery</SupportsQueryLanguage> <SupportsOutOfOrderPacketRequests>false</SupportsOutOfOrderPacketRequests> </ResponderCapabilities> </soap:Body> </soap:Envelope>
Example 4.1.2-1

4.2 RequestReport

With this method the client submits a ReportManifest to the server indicating the data it would like to retrieve in the form of a report, which is a packet stream where each available packet consists of one or more SIF_ReportObjects. The client may optionally identify itself or its user with a ReportAuthorityInfo with optional contact information.

4.2.1 Request

ReportRequest
ParameterminOccursmaxOccursTypeDescription
SIFVersion11xs:token This defines the SIF version that dictates the structure of the submitted ReportManifest, and the ReportAuthorityInfo, if submitted. Servers that support more than a single SIF version can use this version as a processing flag for validating/interpreting the submitted SIF objects, rather than supporting separate service definitions bound to individual SIF versions.
Authority01  
Authority/ReportAuthorityInfo11sif:ReportAuthorityInfo Identifies the client or the user requesting the report and optionally defining the report. Clients SHOULD use the same RefId for this object when used repeatedly to indicate the client or a specific user. This RefId could be used in the server to consult access control and authentication requirements above and beyond the facilities of SIF and/or secure transports in use. The RefId of the ReceivingAuthority in ReportManifest MUST reflect this ReportAuthorityInfo/@RefId, if included. If also defining the submitted ReportManifest, the ReportAuthorityInfoRefId in ReportManifest indicating the manifest provider should be set to ReportAuthorityInfo/@RefId as well.
Manifest11  
Manifest/ReportManifest11sif:ReportManifest The definition of the report. This may be created by the client or may have been retrieved from the server itself and optionally updated to identify the client/user and its identity/needs. Note that ReportManifest/SIF_MaxBufferSize dictates the maximum size of the ReportObjects element that can occur in individual packets returned by the server. Note that the server may reduce this size if it itself must communicate via SIF to retrieve necessary data. Note also that SIF_MaxBufferSize is tailored to SIF and Reporting Service packets returned by SIF-based servers may tend to be slightly smaller given that data surrounding SIF_ReportObjects in individual SIF_Responses will be discarded. Servers independent of SIF's SIF_Responses MUST respect the supplied SIF_MaxBufferSize, never supplying ReportObjects contents that exceeds the supplied SIF_MaxBufferSize.
POST /SIFReporting HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "http://specification.sifinfo.org/WebServices/Reporting/1.0/RequestReport" Host: services.sifinfo.org Content-Length: ... <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ReportRequest xmlns="http://specification.sifinfo.org/WebServices/Reporting/1.0"> <SIFVersion>1.5r1</SIFVersion> <Authority> <ReportAuthorityInfo RefId="3A6D9793C1B345528460DFD0A397D2E6" xmlns="http://www.sifinfo.org/infrastructure/1.x"> <AuthorityName>Report Collector</AuthorityName> <AuthorityId>ReportCollector</AuthorityId> <AuthorityLevel>Other</AuthorityLevel> </ReportAuthorityInfo> </Authority> <Manifest> <ReportManifest RefId="229BFC8FF3104EE2BBB3372DF33ED603" ReportAuthorityInfoRefId="3A6D9793C1B345528460DFD0A397D2E6" xmlns="http://www.sifinfo.org/infrastructure/1.x"> <SIF_Version>1.5r1</SIF_Version> <SIF_MaxBufferSize>65536</SIF_MaxBufferSize> <ReportName>ReportManifests</ReportName> <ReportDefinitionSource Type="SIF_Query" /> <SIF_QueryGroup> <SIF_Query> <SIF_QueryObject ObjectName="ReportManifest" /> </SIF_Query> </SIF_QueryGroup> </ReportManifest> </Manifest> </ReportRequest> </soap:Body> </soap:Envelope>
Example 4.2.1-1

4.2.2 Response

ParameterminOccursmaxOccursTypeDescription
ReportID11xs:token Returns a token identifying the report submission; this token identifies the submission in all subsequent operations.
HTTP/1.1 200 OK Server: SIF Reporting Server Date: Sat, 16 Sep 2006 12:38:03 GMT Content-Type: text/xml; charset=utf-8 Content-Length: ... <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ReportID xmlns="http://specification.sifinfo.org/WebServices/Reporting/1.0">urn:uuid:d508209c-5cf3-4645-90ee-ace08894f0d0</ReportID> </soap:Body> </soap:Envelope>
Example 4.2.2-1

4.3 GetReportStatus

With this method the client can check the status of a given report submission. When the status is Ready, the client can commence retrieving the SIF_Object packet stream that makes up the generated report data.

4.3.1 Request

ParameterminOccursmaxOccursTypeDescription
ReportIDForStatus11xs:token The token from RequestReport identifying the report submission.
POST /SIFReporting HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "http://specification.sifinfo.org/WebServices/Reporting/1.0/GetReportStatus" Host: services.sifinfo.org Content-Length: ... <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ReportIDForStatus xmlns="http://specification.sifinfo.org/WebServices/Reporting/1.0">urn:uuid:09d537b4-b535-4b18-b01c-d3184e75af4a</ReportIDForStatus> </soap:Body> </soap:Envelope>
Example 4.3.1-1

4.3.2 Response

ReportStatus
ParameterminOccursmaxOccursTypeDescription
Code11tns:ReportStatusType The report status in coded form. Enumeration:
NoSuchReport
The server has no report submission associated with the supplied token.
NotReady
The server has no report data available for the submitted report.
Ready
The server has report data available for the submitted report; the client can retrieve the SIF_ReportObject packets using GetReportResults.
Error
An error has occurred with the submitted report. See Message.
Rejected
The report submission has been rejected. See Message.
Cancelled
The report submission has been cancelled by either the client or server. Check whether there is an applicable Message.
Message01xs:stringA textual description of the status. Primarily used for Error and Rejected.
NumberOfPacketsInResult01xs:unsignedLong

Optionally returns the number of packets in the result, if known. This value can only be included if Code is Ready and the server supports out-of-order packet requests. Otherwise the element is omitted.

HTTP/1.1 200 OK Server: SIF Reporting Server Date: Sat, 16 Sep 2006 13:01:43 GMT Content-Type: text/xml; charset=utf-8 Content-Length: ... <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ReportStatus xmlns="http://specification.sifinfo.org/WebServices/Reporting/1.0"> <ReportStatus>Ready</ReportStatus> <NumberOfPacketsInResult>1</NumberOfPacketsInResult> </ReportStatus> </soap:Body> </soap:Envelope>
Example 4.3.2-1

4.4 GetReportResults

When a report submission status is Ready, the client uses this method to retrieve any associated SIF_ReportObjects in a stream of packets.

4.4.1 Request

ReportPacketRequest
ParameterminOccursmaxOccursTypeDescription
ReportID11xs:tokenThe token associated with the report submission, from RequestReport.
PacketNumber11xs:unsignedLong

The packet number to retrieve.

If the server does not support out-of-order packet requests, PacketNumber starts at 1 and is incremented by one with each successfully returned packet.

If the server supports out-of-order packet requests, the client MUST specify a PacketNumber between 1 and ReportStatus/NumberOfPacketsInResult, inclusive. Clients MAY divide and conquer the retrieval of report data (e.g. in multiple threads) when a server supports out-of-order packet requests.

POST /SIFReporting HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "http://specification.sifinfo.org/WebServices/Reporting/1.0/GetReportResults" Host: services.sifinfo.org Content-Length: ... <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ReportPacketRequest xmlns="http://specification.sifinfo.org/WebServices/Reporting/1.0"> <ReportID>urn:uuid:0ec24bfa-9df1-4559-9408-4060c380c20c</ReportID> <PacketNumber>1</PacketNumber> </ReportPacketRequest> </soap:Body> </soap:Envelope>
Example 4.4.1-1

4.4.2 Response

ReportResults
ParameterminOccursmaxOccursTypeDescription
NextPacketNumber11xs:unsignedLong

The packet number to retrieve next, or 0 to indicate the client has reached the end of the packet stream. Unless the end of the packet stream has been reached, NextPacketNumber is set to ReportPacketRequest/PacketNumber + 1 when a packet is returned in ReportObjects or set to ReportPacketRequest/PacketNumber if the server cannot yet return the requested packet number.

Servers supporting out-of-order packet requests supply the same values when servicing such requests. Clients retrieving reports with out-of-order packet requests only need pay attention to the case where NextPacketNumber = ReportPacketRequest/PacketNumber, indicating the server is not yet able to return the requested packet number and the client should retry that packet at a later time.

ReportObjects MUST be present when NextPacketNumber = ReportPacketRequest/PacketNumber + 1 or NextPacketNumber = 0. Otherwise ReportObjects MUST be omitted.

SIFVersion01xs:token This defines the SIF version that dictates the structure of the supplied SIF_ReportObjects, if any. Clients that support more than a single SIF version can use this version as a processing flag for validating/interpreting the returned SIF objects, rather than supporting separate service definitions bound to individual SIF versions.
ReportObjects01 

ReportObjects MUST be present when NextPacketNumber = ReportPacketRequest/PacketNumber + 1 or NextPacketNumber = 0. Otherwise ReportObjects MUST be omitted.

ReportObjects MAY be empty when there is no generated data for a report submission in the only or final packet.

ReportObjects/SIF_ReportObject0unboundedsif:ReportObjectA packet of report data for a given report submission. First packet MAY contain SIF_ReportObject/ReportInfo as opposed to SIF_ReportObject/ReportData.
HTTP/1.1 200 OK Server: SIF Reporting Server Date: Sat, 16 Sep 2006 13:16:06 GMT Content-Type: text/xml; charset=utf-8 Content-Length: ... <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ReportResults xmlns="http://specification.sifinfo.org/WebServices/Reporting/1.0"> <SIFVersion>2.0</SIFVersion> <NextPacketNumber>0</NextPacketNumber> <ReportObjects> <SIF_ReportObject RefId="EB714C4D2D074166B4AEAEB4C08D3279" xmlns="http://www.sifinfo.org/infrastructure/1.x"> <ReportData> <ReportManifest RefId="DC5EFAA2AFAD4C45A37365EDAED10FC5" ReportAuthorityInfoRefId="0C6AE3594F2B452EB0579F1869A2A700"> <SIF_Version>1.5r1</SIF_Version> <SIF_MaxBufferSize>65536</SIF_MaxBufferSize> <ReportName>Student Graduation Years</ReportName> <ReportDefinitionSource Type="SIF_Query" /> <SIF_QueryGroup> <SIF_Query> <SIF_QueryObject ObjectName="StudentSnapshot"> <SIF_Element>GradYear</SIF_Element> </SIF_QueryObject> </SIF_Query> </SIF_QueryGroup> </ReportManifest> </ReportData> </SIF_ReportObject> </ReportObjects> </ReportResults> </soap:Body> </soap:Envelope>
Example 4.4.2-1

4.5 CloseReport

A client at any time can close a report; the server may terminate any processing associated with the corresponding report submission and may delete any information associated with the report token, as well as the token itself.

ParameterminOccursmaxOccursTypeDescription
ReportIDToClose11xs:token The token from RequestReport identifying the report submission.

4.5.1 Request

POST /SIFReporting HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "http://specification.sifinfo.org/WebServices/Reporting/1.0/CloseReport" Host: services.sifinfo.org Content-Length: ... <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ReportIDToClose xmlns="http://specification.sifinfo.org/WebServices/Reporting/1.0">urn:uuid:09d537b4-b535-4b18-b01c-d3184e75af4a</ReportIDToClose> </soap:Body> </soap:Envelope>
Example 4.5.1-1

4.6 CancelReport

A client at any time may cancel a report; the server may have special processing associated with this request that distinguishes it from a CloseReport or the processing may be identical. The results of both methods should appear the same to the client, though servers MAY return a ReportStatus/Code of Cancelled when a client requests the status of a cancelled report.

4.6.1 Request

ParameterminOccursmaxOccursTypeDescription
ReportIDToCancel11xs:token The token from RequestReport identifying the report submission.
POST /SIFReporting HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "http://specification.sifinfo.org/WebServices/Reporting/1.0/CancelReport" Host: services.sifinfo.org Content-Length: ... <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ReportIDToCancel xmlns="http://specification.sifinfo.org/WebServices/Reporting/1.0">urn:uuid:09d537b4-b535-4b18-b01c-d3184e75af4a</ReportIDToCancel> </soap:Body> </soap:Envelope>
Example 4.6.1-1

Appendix A: SIF Agent Implementation (non-normative)

While some Reporting Service implementations will likely bypass the data distributed across SIF Applications in a Zone and service report requests directly against, for instance, data warehouses, there is a natural standard SIF Agent-based Reporting service implementation that routes incoming ReportManifests to a SIF Zone and listens for corresponding SIF_ReportObject reports that result in a Zone, making those reports available to Reporting Service clients. This appendix presents a very high-level functional specification for such an Agent, called SIF Reporting Agent here. It is by no means definitive and creative implementations could provide richer functionality.

A.1 Assumptions

There exists a SIF Zone that is the source for ReportManifest objects, and there exists a Zone that is the source for SIF_ReportObject reports that are submitted in response to available report manifests. These may be the same Zone, two Zones or a multitude of Zones. For the sake of this appendix they will be referred to as a single Zone. An actual implementation can easily support multiple Zones as a configuration option.

A.2 Preconditions

The SIF Reporting Agent must have permissions in the Zone to publish events for ReportManifest and ReportAuthorityInfo. It must have permissions to send requests for ReportManifest and SIF_ReportObject and to receive events for SIF_ReportObject. If there is no Provider in the Zone for ReportManifest or if the Provider does not update its database to reflect ReportManifests added to the Zone, the Reporting Agent may need permissions to respond to requests for and/or provide ReportManifest. The same applies for ReportAuthorityInfo.

Given these permissions, it is assumed the Agent has then registered in the Zone and announced subscriptions for SIF_ReportObject and optionally ReportManifest and ReportAuthorityInfo if it wishes to dynamically track added/changed/deleted ReportManifest and ReportAuthorityInfo objects rather then sending requests for these objects as needed. If it maintains its own database of these objects, the Agent has synchronized/requested all necessary objects accordingly. Finally, it maintains a database of tokens that correspond to ReportManifests it has submitted/will submit to the Zone, along with the RefId of the ReportManifest and any related status information (e.g. status, state of handling SIF_ReportObjects, etc.

A.3 Reporting Service Operation/Message Handling

A.3.1 GetResponderCapabilities

The Reporting Agent needs to return its capabilities, but as the Agent is essentially a go-between between a Reporting client and one or more SIF Zones and for the most part is not creating reports in response to submitted ReportManifests, the Agent needs to return the SIF versions of any Zones to which it is connected in ResponderCapabilities/SupportsSIFVersion. It should return false in ResponderCapabilities/SupportsOutOfOrderPacketRequests unless it will locally store SIF_ReportObject responses without discarding them after being returned, in which case it should be able to support out-of-order packet requests, within the bounds of current packets received. As it is other Agents in the Zone that actually produce SIF_ReportObjects, determining the query languages supported in the Zone is difficult--it is best left to a configuration option how to populate ResponderCapabilities/SupportsQueryLanguage, though if the Reporting Agent will itself produce a report of available ReportManifests, it could include that it supports SIF_Query and/or SIF_ExtendedQuery. SupportsQueryLanguage MAY be omitted, if necessary.

A.3.2 RequestReport

If the Agent wishes to handle report generation for ReportManifest-related reports and the incoming Manifest/ReportManifest specifies query conditions isolated to ReportManifest, it may handle the ReportManifest itself or forward it on as any other report (below) to the Zone if it is known that an Agent will handle such a ReportManifest (possible configuration option). If it does generate the report itself, no events need be published to the Zone and the Agent bypasses related steps below with generation of the report locally, either from its own database of ReportManifests in the Zone or by sending out a request for ReportManifests in the Zone.

The Reporting Agent allocates a new report token in its database.

Upon receipt of a report request, the Reporting Agent should submit Add event(s) for the submitted Manifest/ReportManifest and optional Authority/ReportAuthorityInfo. The Agent must have a buffer size compatible with the SIF_MaxBufferSize in the submitted ReportManifest, or reduce the SIF_MaxBufferSize in the ReportManifest accordingly. The Agent must never increase the SIF_MaxBufferSize, otherwise it may exceed the client's buffer capabilities. It is intended that Reporting clients submitting ReportAuthorityInfo use the same RefId for ReportAuthorityInfo structures used consistently, so the Agent could check the Zone or its local database of ReportAuthorityInfo objects before adding the ReportAuthorityInfo to the Zone, as it may already exist.

The Agent updates the status associated with this report token/submission depending on the success/failure of these Add events.

The Agent returns the allocated token in ReportID.

A.3.3 GetReportStatus

The Agent refers to its database of report tokens. If the supplied ReportIDForStatus does not exist, it returns a ReportStatus/Code of NoSuchReport. Otherwise it checks the current status associated with the token. If a corresponding report is available, the Agent returns Ready, otherwise if no error has occurred with regard to the submission, NotReady is returned. If the client has cancelled the report or for some reason the Reporting Agent has cancelled the report, the Agent returns Cancelled. Otherwise the Agent returns an appropriate error condition, currently either Error or Rejected, the latter due primarily to configured permissions.

A.3.4 GetReportResults

If the submitted ReportPacketRequest/ReportID does not match a report token in the Agent's database or if the status of the report is an error condition or if the submitted PacketNumber is invalid (e.g. not equal to the current available packet number when out-of-order packets aren't supported, or when the packet number is out of bounds when they are), it returns a SOAP fault. If the status of the report is NotReady, the Agent returns a NextPacketNumber equal to the submitted PacketNumber. Otherwise the Agent attempts to retrieve the packet from a local database or its message queue. If the packet is available, it returns a NextPacketNumber of PacketNumber + 1 unless this is the last packet (the corresponding SIF_Response with SIF_MorePackets of No has been reached), in which case it returns a NextPacketNumber of 0. If the packet is not yet available, the Agent returns a NextPacketNumber of PacketNumber. Otherwise the Agent supplies the SIF version of the corresponding packet (SIF_Response) in SIF_Version and any SIF_ReportObjects from the response in ReportObjects. The Agent updates any state information with regard to the packet stream.

A.3.5 CloseReport

If the submitted ReportPacketRequest/ReportID matches a report token in the Agent's database, it deletes the associated ReportManifest from the Zone and the associated ReportAuthorityInfo, if any, and clears any associated state information related to the token, then deletes the token from its database.

A.3.6 CancelReport

The Agent performs the same functionality as for CloseReport.

A.4 SIF_Event Handling

A.4.1 SIF_ReportObject Add

If ReportInfo/@ReportManifestRefId is equal to the ReportManifest/@RefId submitted to the Zone by the Agent, it sets the status associated with the corresponding report token to Ready. This SIF_ReportObject is the first SIF_ReportObject in the packet stream; it may be stored or it may be discarded, as when the Agent sends out a request for the report, this same SIF_ReportObject will be the first SIF_ReportObject in the response stream. The Agent does then indeed send out a SIF_Request for the SIF_ReportObject, specifying SIF_ReportObject/@RefId from this SIF_ReportObject in the query condition for the request. Each SIF_Response received is a packet. The Agent may store these locally as they arrive, referring to the local store when handling GetReportResults, or, less likely, could pull them out of its queue as needed when handling GetReportResults.

Appendix B: WS-Security Examples (non-normative)

For implementers undertaking a secure SIF Reporting implementation with WS-Security opposed to or in addition to HTTPS, two examples of a SIF Reporting SOAP invocation (GetResponderCapabilities), one signed using an X.509 certificate and one encrypted using an X.509 certificate, are provided here.

B.1 Unencrypted

POST /SIFReporting HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "http://specification.sifinfo.org/WebServices/Reporting/1.0/GetResponderCapabilities" Host: services.sifinfo.org Content-Length: ... <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <wsa:Action wsu:Id="Id-e1224ff7-80d2-4ffc-be2c-365e6aadd599" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://specification.sifinfo.org/WebServices/Reporting/1.0/GetResponderCapabilities</wsa:Action> <wsa:MessageID wsu:Id="Id-b046c87e-aef6-45d0-aeef-91bc839037d4" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:bdb29011-2d06-4c78-b593-0407c8b3f9c3</wsa:MessageID> <wsa:ReplyTo wsu:Id="Id-026657a6-9d3f-4256-9966-53bb9c8377a9" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"> <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address> </wsa:ReplyTo> <wsa:To wsu:Id="Id-35679891-c419-490f-8753-d5de20a94e20" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://localhost/SIFReporting2/Service.asmx</wsa:To> <wsse:Security soap:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <wsu:Timestamp wsu:Id="Timestamp-c6739cea-53f8-4236-81a0-a24ba4462404" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsu:Created>2006-09-16T14:47:52Z</wsu:Created> <wsu:Expires>2006-09-16T14:52:52Z</wsu:Expires> </wsu:Timestamp> <wsse:BinarySecurityToken ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" wsu:Id="SecurityToken-b6e803ac-2687-4b0a-8e4c-8f8a1d864dc1" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">MIIBxDCCAW6gAwIBAgIQxUSXFzWJYYtOZnmmuOMKkjANBgkqhkiG9w0BAQQFADAWMRQwEgYDVQQDEwtSb290IEFnZW5jeTAeFw0wMzA3MDgxODQ3NTlaFw0zOTEyMzEyMzU5NTlaMB8xHTAbBgNVBAMTFFdTRTJRdWlja1N0YXJ0Q2xpZW50MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+L6aB9x928noY4+0QBsXnxkQE4quJl7c3PUPdVu7k9A02hRG481XIfWhrDY5i7OEB7KGW7qFJotLLeMec/UkKUwCgv3VvJrs2nE9xO3SSWIdNzADukYh+Cxt+FUU6tUkDeqg7dqwivOXhuOTRyOI3HqbWTbumaLdc8jufz2LhaQIDAQABo0swSTBHBgNVHQEEQDA+gBAS5AktBh0dTwCNYSHcFmRjoRgwFjEUMBIGA1UEAxMLUm9vdCBBZ2VuY3mCEAY3bACqAGSKEc+41KpcNfQwDQYJKoZIhvcNAQEEBQADQQAfIbnMPVYkNNfX1tG1F+qfLhHwJdfDUZuPyRPucWF5qkh6sSdWVBY5sT/txBnVJGziyO8DPYdu2fPMER8ajJfl</wsse:BinarySecurityToken> <xenc:EncryptedKey Id="SecurityToken-01d7ec43-dfa9-4e8a-ad74-343a01a898c4" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"> <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" /> </xenc:EncryptionMethod> <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> <wsse:SecurityTokenReference> <wsse:KeyIdentifier ValueType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#ThumbprintSHA1" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">h9ksyrcUww2w4LrmubC2W11t988=</wsse:KeyIdentifier> </wsse:SecurityTokenReference> </KeyInfo> <xenc:CipherData> <xenc:CipherValue>aesnvW5C4xigeCPJr0U1zp4PVB+y61B31BObrNdsDGoL+c7Xa2NzQU7jYT3/6Aknog6VpOt7Zmz63ipbnkC9ojO97S8wLQU4bMWSR1ioOPxhx70nyEsXuWTm76kr2r4SDpl82dV5sfEwfGOf2yhFzNoQil5U7awZCM0+K0srbPQ=</xenc:CipherValue> </xenc:CipherData> </xenc:EncryptedKey> <Signature Id="Sig-8dca79ab-98c0-463b-bc2c-3a30239b19cf" xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" /> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1" /> <Reference URI="#Id-e1224ff7-80d2-4ffc-be2c-365e6aadd599"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>1WCbswPnCiCC7S4oeoBSyP8J7oo=</DigestValue> </Reference> <Reference URI="#Id-b046c87e-aef6-45d0-aeef-91bc839037d4"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>wnPQxNgvZ/EcHojm0aHMEHcgYMg=</DigestValue> </Reference> <Reference URI="#Id-026657a6-9d3f-4256-9966-53bb9c8377a9"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>Dmik8PHLzQX0FEkcsxk+y7nenek=</DigestValue> </Reference> <Reference URI="#Id-35679891-c419-490f-8753-d5de20a94e20"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>e5oWFKtyh78ygWFyxMWU3ys5F7I=</DigestValue> </Reference> <Reference URI="#Timestamp-c6739cea-53f8-4236-81a0-a24ba4462404"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>YY61Ozr6A76jI7HGnnrSAN8kV+w=</DigestValue> </Reference> <Reference URI="#Id-c8ec081a-68bc-41cf-a433-aa133af652b2"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>WfCTTxywDsgnjc+fIoL6Rde/+/Y=</DigestValue> </Reference> </SignedInfo> <SignatureValue>JKMmuerB8rCT2+dddbW7iRpiFHI=</SignatureValue> <KeyInfo> <wsse:SecurityTokenReference> <wsse:Reference URI="#SecurityToken-01d7ec43-dfa9-4e8a-ad74-343a01a898c4" ValueType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKey" /> </wsse:SecurityTokenReference> </KeyInfo> </Signature> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" /> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /> <Reference URI="#Sig-8dca79ab-98c0-463b-bc2c-3a30239b19cf"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>/36tVktkEcVVnsDAufo05xbZVHc=</DigestValue> </Reference> </SignedInfo> <SignatureValue>AvwpVx7yRWHPVQSC+A3BzRgvafDMwju/bxNdKcAM3t9jD9rc8scDgfJDxZdP520nBEHYPaod4BW76aaprhDHMmIR5yxffNtmsyrYr5JdOBMyC/+ON3bYcmt8gH+IhTIijyK2EwhwPUipQwloIWWAgE7UjSee3b86ERGjh+p8SRA=</SignatureValue> <KeyInfo> <wsse:SecurityTokenReference> <wsse:Reference URI="#SecurityToken-b6e803ac-2687-4b0a-8e4c-8f8a1d864dc1" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" /> </wsse:SecurityTokenReference> </KeyInfo> </Signature> </wsse:Security> </soap:Header> <soap:Body wsu:Id="Id-c8ec081a-68bc-41cf-a433-aa133af652b2" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" /> </soap:Envelope>
Example B.1-1
HTTP/1.1 200 OK Server: SIF Reporting Server Date: Sat, 16 Sep 2006 10:52:01 GMT Content-Type: text/xml; charset=utf-8 Content-Length: ... <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <wsa:Action wsu:Id="Id-e91488e5-50e2-4888-b867-862f629f3492" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://specification.sifinfo.org/WebServices/Reporting/1.0/GetResponderCapabilitiesResponse</wsa:Action> <wsa:MessageID wsu:Id="Id-ce415332-b9cc-47da-8c2a-5ddc17beee9e" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:36fdd966-3424-4689-ba2b-a1f0a18ea9b2</wsa:MessageID> <wsa:RelatesTo wsu:Id="Id-1b008808-d0d7-4f7f-a806-3099337f13b8" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:bdb29011-2d06-4c78-b593-0407c8b3f9c3</wsa:RelatesTo> <wsa:To wsu:Id="Id-1403f216-e78e-4776-bd0d-de55ab82e623" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To> <wsse:Security soap:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <wsu:Timestamp wsu:Id="Timestamp-f3fa7786-2ff8-4ed7-bbe5-10904f66bb80" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsu:Created>2006-09-16T14:47:53Z</wsu:Created> <wsu:Expires>2006-09-16T14:52:53Z</wsu:Expires> </wsu:Timestamp> <wsse11:SignatureConfirmation wsu:Id="SignatureConfirmation-815cb394-7205-44ce-ab89-78aaf4dea4b5" Value="JKMmuerB8rCT2+dddbW7iRpiFHI=" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsse11="http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd" /> <wsse11:SignatureConfirmation wsu:Id="SignatureConfirmation-fffa4a8c-0568-4154-bcbf-e78f071a0d8f" Value="AvwpVx7yRWHPVQSC+A3BzRgvafDMwju/bxNdKcAM3t9jD9rc8scDgfJDxZdP520nBEHYPaod4BW76aaprhDHMmIR5yxffNtmsyrYr5JdOBMyC/+ON3bYcmt8gH+IhTIijyK2EwhwPUipQwloIWWAgE7UjSee3b86ERGjh+p8SRA=" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsse11="http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd" /> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" /> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1" /> <Reference URI="#Id-e91488e5-50e2-4888-b867-862f629f3492"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>nc29BCj+4x+5XSr3+NIpmQS2L4c=</DigestValue> </Reference> <Reference URI="#Id-ce415332-b9cc-47da-8c2a-5ddc17beee9e"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>vmClU/UcVnO6pyt1zaTN4toHaS4=</DigestValue> </Reference> <Reference URI="#Id-1b008808-d0d7-4f7f-a806-3099337f13b8"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>+WX89S5RK2oeVhCwK3s63nzlzEs=</DigestValue> </Reference> <Reference URI="#Id-1403f216-e78e-4776-bd0d-de55ab82e623"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>9p4olxhrzJ0G2myUGTNWg+cEjWo=</DigestValue> </Reference> <Reference URI="#Timestamp-f3fa7786-2ff8-4ed7-bbe5-10904f66bb80"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>OPCOwTebD4h8j2lL+EUH/0zcHuQ=</DigestValue> </Reference> <Reference URI="#SignatureConfirmation-815cb394-7205-44ce-ab89-78aaf4dea4b5"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>gETqzicO0ZI9iJ7hIVFjFUNCC0Q=</DigestValue> </Reference> <Reference URI="#SignatureConfirmation-fffa4a8c-0568-4154-bcbf-e78f071a0d8f"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>5FxmHDOmZOMFan+n0JoJVa3hpiQ=</DigestValue> </Reference> <Reference URI="#Id-ab7bae97-36c8-45c0-a7d0-d4bbc2d609ac"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>9GEo99dZzO11FR8XWfM6Fixh0dk=</DigestValue> </Reference> </SignedInfo> <SignatureValue>9mIGYODjfAeCObBEflXdEzjehS8=</SignatureValue> <KeyInfo> <wsse:SecurityTokenReference> <wsse:KeyIdentifier ValueType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKeySHA1" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">614bVmN3aG6X47u3tD4bIxcvtnM=</wsse:KeyIdentifier> </wsse:SecurityTokenReference> </KeyInfo> </Signature> </wsse:Security> </soap:Header> <soap:Body wsu:Id="Id-ab7bae97-36c8-45c0-a7d0-d4bbc2d609ac" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <ResponderCapabilities xmlns="http://specification.sifinfo.org/WebServices/Reporting/1.0"> <SupportsSIFVersion>1.5r1</SupportsSIFVersion> <SupportsSIFVersion>2.0</SupportsSIFVersion> <SupportsQueryLanguage>SIF_Query</SupportsQueryLanguage> <SupportsQueryLanguage>SIF_ExtendedQuery</SupportsQueryLanguage> <SupportsOutOfOrderPacketRequests>false</SupportsOutOfOrderPacketRequests> </ResponderCapabilities> </soap:Body> </soap:Envelope>
Example B.1-2

B.2 Encrypted

POST /SIFReporting HTTP/1.1 Content-Type: text/xml; charset=utf-8 SOAPAction: "http://specification.sifinfo.org/WebServices/Reporting/1.0/GetResponderCapabilities" Host: services.sifinfo.org Content-Length: ... <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <wsa:Action wsu:Id="Id-a527a957-6b93-4a4b-927b-db7ec6a22c37" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://specification.sifinfo.org/WebServices/Reporting/1.0/GetResponderCapabilities</wsa:Action> <wsa:MessageID wsu:Id="Id-c53a3e3b-68d7-4361-8e46-c9b223c2b1e3" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:a4440000-5042-4cdb-92cb-ea691c6cc0d9</wsa:MessageID> <wsa:ReplyTo wsu:Id="Id-5c7e7134-1fce-42f6-bf21-b4ff9f030d78" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"> <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address> </wsa:ReplyTo> <wsa:To wsu:Id="Id-927ccfbf-a49b-47d8-8d28-8fec434fdf6f" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://localhost/SIFReporting2/Service.asmx</wsa:To> <wsse:Security soap:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <wsu:Timestamp wsu:Id="Timestamp-992f7b2d-3335-46a8-81da-6c5b883473fc" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsu:Created>2006-09-16T14:56:49Z</wsu:Created> <wsu:Expires>2006-09-16T15:01:49Z</wsu:Expires> </wsu:Timestamp> <wsse:BinarySecurityToken ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" wsu:Id="SecurityToken-a18cd77a-7383-475f-9474-64e3574aef7d" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">MIIBxDCCAW6gAwIBAgIQxUSXFzWJYYtOZnmmuOMKkjANBgkqhkiG9w0BAQQFADAWMRQwEgYDVQQDEwtSb290IEFnZW5jeTAeFw0wMzA3MDgxODQ3NTlaFw0zOTEyMzEyMzU5NTlaMB8xHTAbBgNVBAMTFFdTRTJRdWlja1N0YXJ0Q2xpZW50MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+L6aB9x928noY4+0QBsXnxkQE4quJl7c3PUPdVu7k9A02hRG481XIfWhrDY5i7OEB7KGW7qFJotLLeMec/UkKUwCgv3VvJrs2nE9xO3SSWIdNzADukYh+Cxt+FUU6tUkDeqg7dqwivOXhuOTRyOI3HqbWTbumaLdc8jufz2LhaQIDAQABo0swSTBHBgNVHQEEQDA+gBAS5AktBh0dTwCNYSHcFmRjoRgwFjEUMBIGA1UEAxMLUm9vdCBBZ2VuY3mCEAY3bACqAGSKEc+41KpcNfQwDQYJKoZIhvcNAQEEBQADQQAfIbnMPVYkNNfX1tG1F+qfLhHwJdfDUZuPyRPucWF5qkh6sSdWVBY5sT/txBnVJGziyO8DPYdu2fPMER8ajJfl</wsse:BinarySecurityToken> <xenc:EncryptedKey Id="SecurityToken-dd1aa0a1-38f6-40dc-a312-67ea527c782e" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"> <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" /> </xenc:EncryptionMethod> <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> <wsse:SecurityTokenReference> <wsse:KeyIdentifier ValueType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#ThumbprintSHA1" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">h9ksyrcUww2w4LrmubC2W11t988=</wsse:KeyIdentifier> </wsse:SecurityTokenReference> </KeyInfo> <xenc:CipherData> <xenc:CipherValue>gsslW5Ys9l7v55pP8lGQMvLvSfl0ISPfi5NtGzGm6sPBZMlBukH9hGdq6YocyuoaUqmLp0/W++QaO9IHmE0OQV/2imT1/kkSeboW0F6gMYtCqUmhmxRi80mI931jwzY69kS8vB3DWLm6+TmMAkjr4hIZvpZVqOl/Kg9w05jxKv4=</xenc:CipherValue> </xenc:CipherData> <xenc:ReferenceList> <xenc:DataReference URI="#Enc-60700fa0-87e2-4404-ab55-78cc542e1d58" /> </xenc:ReferenceList> </xenc:EncryptedKey> <Signature Id="Sig-a7d14135-92f0-4561-9362-88d6e65324ed" xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" /> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1" /> <Reference URI="#Id-a527a957-6b93-4a4b-927b-db7ec6a22c37"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>WsqtCfAsrIdwH1W8x5wtgtMvvrg=</DigestValue> </Reference> <Reference URI="#Id-c53a3e3b-68d7-4361-8e46-c9b223c2b1e3"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>IEUpTgcJQJ5+2nq2jPmQg2wyHDY=</DigestValue> </Reference> <Reference URI="#Id-5c7e7134-1fce-42f6-bf21-b4ff9f030d78"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>uc3Oj4gk9XOrlDiNqSoTfLCpx8c=</DigestValue> </Reference> <Reference URI="#Id-927ccfbf-a49b-47d8-8d28-8fec434fdf6f"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>NYnIrenfS79dj6p9GmrMT3jsqfc=</DigestValue> </Reference> <Reference URI="#Timestamp-992f7b2d-3335-46a8-81da-6c5b883473fc"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>Bbd+Mq8f2euQALiW7Lw8vbnz+yo=</DigestValue> </Reference> <Reference URI="#Id-d4a2c02e-f427-49de-866c-b0b635a333b0"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>AlidB2InZjV+5K/ecxd7mEoCZY4=</DigestValue> </Reference> </SignedInfo> <SignatureValue>LH/+jYME1HAQQTlolB5HDn5md7s=</SignatureValue> <KeyInfo> <wsse:SecurityTokenReference> <wsse:Reference URI="#SecurityToken-dd1aa0a1-38f6-40dc-a312-67ea527c782e" ValueType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKey" /> </wsse:SecurityTokenReference> </KeyInfo> </Signature> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" /> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /> <Reference URI="#Sig-a7d14135-92f0-4561-9362-88d6e65324ed"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>w+cboswP4YDD1+8oZvkJ2KTBzXY=</DigestValue> </Reference> </SignedInfo> <SignatureValue>Zpxtf54w2trIpyeyrSV4KuQ6u0XvGjjJYq55ZHRHM0utaB/yR0pWzm08l7bJ8l88RASJZViEsoIDbyAX5GD2DtDkc510cIwHcCqB7n7WRIMAoNasX61bJqiprTXzu8To9ONcDarMqf9JB9s9+zn5hvym//S76I2eVvYnojnJjGk=</SignatureValue> <KeyInfo> <wsse:SecurityTokenReference> <wsse:Reference URI="#SecurityToken-a18cd77a-7383-475f-9474-64e3574aef7d" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" /> </wsse:SecurityTokenReference> </KeyInfo> </Signature> </wsse:Security> </soap:Header> <soap:Body wsu:Id="Id-d4a2c02e-f427-49de-866c-b0b635a333b0" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <xenc:EncryptedData Id="Enc-60700fa0-87e2-4404-ab55-78cc542e1d58" Type="http://www.w3.org/2001/04/xmlenc#Content" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"> <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc" /> <xenc:CipherData> <xenc:CipherValue>FSjq4EBxK4YtzFs+q6LIDU5QqxnSMPjJaeG51M8Rkz0=</xenc:CipherValue> </xenc:CipherData> </xenc:EncryptedData> </soap:Body> </soap:Envelope>
Example B.2-1
HTTP/1.1 200 OK Server: SIF Reporting Server Date: Sat, 16 Sep 2006 10:52:01 GMT Content-Type: text/xml; charset=utf-8 Content-Length: ... <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <wsa:Action wsu:Id="Id-9d38ada6-5a5c-49a2-aede-c69f533f2785" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://specification.sifinfo.org/WebServices/Reporting/1.0/GetResponderCapabilitiesResponse</wsa:Action> <wsa:MessageID wsu:Id="Id-4f302371-695a-48e4-baba-c0132daa5a57" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:af9a1ec5-a36b-4cc4-9243-c385bdfce481</wsa:MessageID> <wsa:RelatesTo wsu:Id="Id-3cff01b1-0c49-4511-8f30-1a2f42a132df" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">urn:uuid:a4440000-5042-4cdb-92cb-ea691c6cc0d9</wsa:RelatesTo> <wsa:To wsu:Id="Id-e753336f-330a-4a60-a956-65ff86a8da07" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To> <wsse:Security soap:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <wsu:Timestamp wsu:Id="Timestamp-bb7039a9-7fec-4bad-bb92-fc7f10b0e463" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsu:Created>2006-09-16T14:56:51Z</wsu:Created> <wsu:Expires>2006-09-16T15:01:51Z</wsu:Expires> </wsu:Timestamp> <wsse11:SignatureConfirmation wsu:Id="SignatureConfirmation-642fb638-c0b7-48f5-822b-90adf6498ae5" Value="LH/+jYME1HAQQTlolB5HDn5md7s=" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsse11="http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd" /> <wsse11:SignatureConfirmation wsu:Id="SignatureConfirmation-4cdf52ac-bdbf-43dc-8d55-ce4e7d511cbe" Value="Zpxtf54w2trIpyeyrSV4KuQ6u0XvGjjJYq55ZHRHM0utaB/yR0pWzm08l7bJ8l88RASJZViEsoIDbyAX5GD2DtDkc510cIwHcCqB7n7WRIMAoNasX61bJqiprTXzu8To9ONcDarMqf9JB9s9+zn5hvym//S76I2eVvYnojnJjGk=" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsse11="http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd" /> <xenc:ReferenceList xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"> <xenc:DataReference URI="#Enc-8a1b5489-5fbb-4a37-9294-5f6890ad290c" /> </xenc:ReferenceList> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" /> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1" /> <Reference URI="#Id-9d38ada6-5a5c-49a2-aede-c69f533f2785"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>0F9yUNSdQzBA6QSbVbYq5dwhxZc=</DigestValue> </Reference> <Reference URI="#Id-4f302371-695a-48e4-baba-c0132daa5a57"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>60RPrdLgGJru/zq7FFniHfe6/CQ=</DigestValue> </Reference> <Reference URI="#Id-3cff01b1-0c49-4511-8f30-1a2f42a132df"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>8jjZ1GBTAS1POZJb3PbKeITihUA=</DigestValue> </Reference> <Reference URI="#Id-e753336f-330a-4a60-a956-65ff86a8da07"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>NwwVt1vcxF+zgXpd2PxAT6WHmEc=</DigestValue> </Reference> <Reference URI="#Timestamp-bb7039a9-7fec-4bad-bb92-fc7f10b0e463"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>fsMyA0GOy1u57ydmmfpi4E7DJN8=</DigestValue> </Reference> <Reference URI="#SignatureConfirmation-642fb638-c0b7-48f5-822b-90adf6498ae5"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>QdNaiXhIQoXh6fGbvk7yxCtev2Y=</DigestValue> </Reference> <Reference URI="#SignatureConfirmation-4cdf52ac-bdbf-43dc-8d55-ce4e7d511cbe"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>c5tvtiYSJTC1JEOWp8M2CeFmXrI=</DigestValue> </Reference> <Reference URI="#Id-071ead64-219a-4e29-8e00-ec97fbf21714"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>gv6ftmvHO7GCRTjyrjI/VJq543g=</DigestValue> </Reference> </SignedInfo> <SignatureValue>T0/vZuGaBgVp+nRmtGEhmcndRJk=</SignatureValue> <KeyInfo> <wsse:SecurityTokenReference> <wsse:KeyIdentifier ValueType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKeySHA1" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">zekjrcAE2jcMrd8+I6VgOXCNkxM=</wsse:KeyIdentifier> </wsse:SecurityTokenReference> </KeyInfo> </Signature> </wsse:Security> </soap:Header> <soap:Body wsu:Id="Id-071ead64-219a-4e29-8e00-ec97fbf21714" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <xenc:EncryptedData Id="Enc-8a1b5489-5fbb-4a37-9294-5f6890ad290c" Type="http://www.w3.org/2001/04/xmlenc#Content" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"> <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc" /> <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> <wsse:SecurityTokenReference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> <wsse:KeyIdentifier ValueType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKeySHA1" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">zekjrcAE2jcMrd8+I6VgOXCNkxM=</wsse:KeyIdentifier> </wsse:SecurityTokenReference> </KeyInfo> <xenc:CipherData> <xenc:CipherValue>63BRedn3zdJOg7k/RqNieroFQ6w3J+O5n2qnTn5EmY8vRhn0Z/65gfeSWcl5w7cqkuzeRdg5FGj4shxbQXAKwt8z+2cAuFcL+c1IxcNTq5qnii3/myWYisLx/tDept4ydTWjvnNAlz3G3Aw9Ly6NJiUIJL74RRRgDZQKLUUzm9vPcGYOGzucMS5l1ech/1MPHYwHkAWVyesrStsMYW2HkkAZb4coZZ9EFLuj+Hh3prTOkOKhvHl1OT33AR0ujcWUaOAkgtGHO9b/SrwWl0LPy2UBacpeZjMAk57gNPaWbWTR05iP9WbuLTHVYLud3Azggq5rGPqUS2X6nWXLI2y6ojvZtx2+0kFUF6FGZ0qFCY+DjWuTf+Ud9MgwZ0DVWufpapspT+i42HTc6xM1pOGIFw9cJW97XYbLsirQc2dXI9BQ/yMSjd9vbi8nQYsB68H66SnXRH+SzCUbNYw+sCO2JbD8FxCsTcbZVpzJVYJISp5XHGiKsMkb22vpDK1O913OsEVk7oroQ/nfgr2ZtsrNXP9cbBAvRv2k/Mp2VNqI9RM=</xenc:CipherValue> </xenc:CipherData> </xenc:EncryptedData> </soap:Body> </soap:Envelope>
Example B.2-2

Appendix C: Index of Tables

Table 4.1.1.1 
Table 4.1.2.1ResponderCapabilities
Table 4.2.1.1ReportRequest
Table 4.2.2.1 
Table 4.3.1.1 
Table 4.3.2.1ReportStatus
Table 4.4.1.1ReportPacketRequest
Table 4.4.2.1ReportResults
Table 4.5.1 
Table 4.6.1.1 

Appendix D: Index of Examples

Example 2.2.3‑1Examples Convention
Example 4.1.1‑1 
Example 4.1.2‑1 
Example 4.2.1‑1 
Example 4.2.2‑1 
Example 4.3.1‑1 
Example 4.3.2‑1 
Example 4.4.1‑1 
Example 4.4.2‑1 
Example 4.5.1‑1 
Example 4.6.1‑1 
Example B.1‑1 
Example B.1‑2 
Example B.2‑1 
Example B.2‑2 

Appendix E: References

KeyCitation
Basic Profile

Web Services Interoperability Organization (WS-I). Basic Profile Version 1.1. 17 August 2006 <http://www.ws-i.org/Profiles/BasicProfile-1.1.html>.

Basic Security Profile

Web Services Interoperability Organization (WS-I). Basic Security Profile Version 1.0. 17 August 2006 <http://www.ws-i.org/Profiles/BasicSecurityProfile-1.0.html>.

RFC 2119

IETF (Internet Engineering Task Force). RFC 2045: Key words for use in RFCs to Indicate Requirement Levels. 28 June 2006 <http://www.ietf.org/rfc/rfc2045.txt>.

SIF 1.5

Schools Interoperability Framework Association (SIFA). Schools Interoperability Framework™ Implementation Specification 1.5r1. 16 September 2006 <http://specification.sifinfo.org/Implementation/1.5r1/>.

SIF 2.0

Schools Interoperability Framework Association (SIFA). Schools Interoperability Framework™ Implementation Specification 2.0. 16 September 2006 <http://specification.sifinfo.org/Implementation/2.0/>.

SIF VR

Schools Interoperability Framework Association (SIFA). Vertical Reporting Task Force: Best Practice Document 1.0. 16 September 2006 <http://specification.sifinfo.org/Implementation/1.5r1/>.

Valid XHTML 1.0 Transitional