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.
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 Convention2.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:
-
The reader is familiar with SIF [SIF 1.5, and/or SIF 2.0] and its
(vertical) reporting functionality (also in [SIF VR]).
-
The reader is familiar with the WS-I Basic Profile [Basic Profile] and its relationship to all
referenced standards and specifications. This is a formidable list, including but not limited to WSDL 1.1, SOAP 1.1, HTTP 1.1, XML 1.0,
XML Schema, TLS 1.0, SSL 3.0 and X.509.
-
If the reader is considering a WS-Security-based implementation in addition to or as opposed to an HTTPS (TLS 1.0/SSL 3.0) one, the reader is also familiar
with WS-I Basic Security Profile [Basic Security Profile] and its relationship to all referenced standards
and specifications. This is a formidable list, including those associated with the Basic Profile, plus WS-Security and its associated
token profiles (primarily X.509 Certificate), XML-Signature and XML Encryption.
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
-
While the WS-I profiles allow for either HTTP 1.0 or HTTP 1.1, this specification leverages SIF HTTP(S) as defined in
[SIF 1.5] and [SIF 2.0],
excluding support for SSL 2.0 client hellos in the case of SIF HTTPS. Implementations
of this service MUST use HTTP/1.1 and clients/servers MUST be
able to operate in the presence of the minimal set of HTTP headers defined for SIF HTTP(S), with the addition of
SOAPAction
for HTTP requests associated with this specification. This specification relaxes the SIF HTTP(S) requirement of Content-Type:
application/xml;charset=utf-8 to also include Content-Type: text/xml;charset=utf-8 and equivalent forms.
- Given the maturity of standards/specifications/implementations related to HTTPS and the still draft interoperability efforts with regard to
WS-Security, it is RECOMMENDED that clients/servers support HTTPS as a secure transport with X.509
certificates for any authentication needs. Clients/servers MAY support
[Basic Security Profile].
-
If leveraging the [Basic Security Profile] in an implementation, clients/servers
MUST support X.509 certificate tokens, given their ubiquity in HTTPS,
but MAY support other tokens (e.g. username).
- It is RECOMMENDED that all
communication be securely encrypted, with all parties authenticated as necessary, given the sometimes sensitive nature of the data being
communicated.
- [Basic Profile] states as a clarification in a forward reference to SOAP 1.2
that a receiver MUST NOT rely on the value of the
SOAPAction HTTP header to correctly process the message.
As SOAP 1.2 is currently unsupported by the [Basic Profile], for the purposes of this specification,
receivers MUST rely on the quoted value of the SOAPAction HTTP header to correctly process messages.
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
|
| Parameter | minOccurs | maxOccurs | Type | Description |
|---|
| | | | | |
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-14.1.2 Response
ResponderCapabilities returns the capabilities of the server to the client.
| ResponderCapabilities |
| Parameter | minOccurs | maxOccurs | Type | Description |
|---|
| SupportsSIFVersion | 1 | unbounded | xs: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.
|
| SupportsQueryLanguage | 0 | unbounded | xs: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.
|
| SupportsOutOfOrderPacketRequests | 1 | 1 | xs: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-14.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 |
| Parameter | minOccurs | maxOccurs | Type | Description |
|---|
| SIFVersion | 1 | 1 | xs: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.
|
| Authority | 0 | 1 | | |
| Authority/ReportAuthorityInfo | 1 | 1 | sif: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.
|
| Manifest | 1 | 1 | | |
| Manifest/ReportManifest | 1 | 1 | sif: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-14.2.2 Response
|
| Parameter | minOccurs | maxOccurs | Type | Description |
|---|
| ReportID | 1 | 1 | xs: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-14.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
|
| Parameter | minOccurs | maxOccurs | Type | Description |
|---|
| ReportIDForStatus | 1 | 1 | xs: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-14.3.2 Response
| ReportStatus |
| Parameter | minOccurs | maxOccurs | Type | Description |
|---|
| Code | 1 | 1 | tns: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.
|
| Message | 0 | 1 | xs:string | A textual description of the status. Primarily used for Error and Rejected.
|
| NumberOfPacketsInResult | 0 | 1 | xs: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-14.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 |
| Parameter | minOccurs | maxOccurs | Type | Description |
|---|
| ReportID | 1 | 1 | xs:token | The token associated with the report submission, from RequestReport.
|
| PacketNumber | 1 | 1 | xs: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-14.4.2 Response
| ReportResults |
| Parameter | minOccurs | maxOccurs | Type | Description |
|---|
| NextPacketNumber | 1 | 1 | xs: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.
|
| SIFVersion | 0 | 1 | xs: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.
|
| ReportObjects | 0 | 1 | | 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_ReportObject | 0 | unbounded | sif:ReportObject | A 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-14.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.
|
| Parameter | minOccurs | maxOccurs | Type | Description |
|---|
| ReportIDToClose | 1 | 1 | xs: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-14.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
|
| Parameter | minOccurs | maxOccurs | Type | Description |
|---|
| ReportIDToCancel | 1 | 1 | xs: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-1Appendix 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-2B.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-2Appendix C: Index of Tables
Appendix D: Index of Examples
Appendix E: References
