]> Information technology — Telecommunications and information exchange between systems — WS-Session — Web services for application session services

INTERNATIONAL
STANDARD
ISO/IEC
25437

Third edition


Information technology — Telecommunications and information exchange between systems — WS-Session — Web services for application session services

Technologies de l'information — Télécommunications et échange d'information entre systèmes — Session WS — Services web pour services de session d'application


Reference number
ISO/IEC 25437:2012(E)

© ISO/IEC 2012

Foreword

ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the specialized system for worldwide standardization. National bodies that are members of ISO or IEC participate in the development of International Standards through technical committees established by the respective organization to deal with particular fields of technical activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other international organizations, governmental and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.

International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.

The main task of the joint technical committee is to prepare International Standards. Draft International Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as an International Standard requires approval by at least 75 % of the national bodies casting a vote.

Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.

ISO/IEC 25437 was prepared by Ecma International (as ECMA-366) and was adopted, under a special “fast-track procedure”, by Joint Technical Committee ISO/IEC JTC 1, Information technology, Subcommittee SC 6, Telecommunications and information exchange between systems, in parallel with its approval by national bodies of ISO and IEC.

This third edition cancels and replaces the second edition (ISO/IEC 25437:2009), which has been technically revised.

Introduction

ISO/IEC 22534, Application Session Services, specifies XML protocols that can be used to create and manage application sessions that are independent of the transport layer protocols. This International Standard (WS-Session) specifies Web services for ISO/IEC 22534.

For Service Requester to receive the event notification from the Service Provider and from web services (e.g. ECMA-348) that use this International Standard for session management, this International Standard introduces WS-Eventing as the mandatory mechanism and WS-BaseNotification as an Option to manage the event channel. This International Standard uses the approach in A.2 of WS-Eventing to specify the ApplicationSessionTerminated as an operation in the Notification WSDL.

Since WS-Eventing has advanced to a W3C Proposed Recommendation at W3C, the 3rd edition of this International Standard incorporates and complies with the latest edition of WS-Eventing.

Heeding the guidance in the WS-I Profiles that WS-Eventing adopted, this Standard only uses a subset of WSDL Services, in particular, this Standard does not use the WSDL 1.1 Notification and Solicit-response operations.


INTERNATIONAL STANDARD ISO/IEC 25437:2012(E)

Information technology — Telecommunications and information exchange between systems — WS-Session — Web services for application session services

1 Scope

This International Standard specifies Web Services (in WSDL, in Clause 5) and SOAP bindings (in Clause 6) for the Application Session Services defined in ISO/IEC 22534. The Application Session Services allow Applications to create and maintain a relationship with Servers termed Application Session. The Web services specified herein, allow Service Requesters (Applications in ISO/IEC 22534) and Service Providers (Servers in ISO/IEC 22534) to create and maintain such Application Sessions.

This International Standard builds upon and imports the XML schema definitions from ISO/IEC 22534. The method of making the WSDL description of the specified services available to Service Provider and Requester is out of the scope of this International Standard.

The Notification WSDL specifies the ApplicationSessionTerminated operation. The operation specifies one input message for the event notification that Service Requesters receive from the Service Provider. Service Requesters may also receive the event notifications from web services, e.g. ECMA-348, that use this International Standard for session management.

2 Conformance

The Service Requester and Service Provider conform to the Application and Server conformance specified in ISO/IEC 22534, using the WSDL definitions, SOAP bindings, and event subscription and notification specified in Clause 5, 6 and 7 respectively.

The Service Provider implements and publishes the operations in the Provider WSDL in 5.1 and the Notification WSDL in 5.2. The Service Provider implements and publishes the required operations from Annex A and it may additionally implement and publish operations from Annex B.

The Service Requester implements the operation in the Notification WSDL in 5.2.

The Service Provider supports synchronous responses to Event Subscriptions and may also implement the asynchronous response Option specified in Annex C.

3 Normative references

The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.

ISO/IEC 22534:2005 (ECMA-354),
Information technology — Telecommunications and information exchange between systems — Application session services
SOAP 1.1
Simple Object Access Protocol 1.1, W3C Note 08 May 2000
WSDL 1.1
Web Service Description Language 1.1, W3C Note 15 March 2001
XML Schema 1.0:
XML Schema Language Part 1: Structure, W3C Recommendation 28 October 2004
XML Schema Language Part 2: Data Types, W3C Recommendation 28 October 2004
WS-Addressing 1.0
Web Services Addressing 1.0 – Core W3C Recommendation (ISO/IEC 40240:2011)
Web Services Addressing 1.0 – SOAP Binding W3C Recommendation (ISO/IEC 40250:2011)
Web Services Addressing 1.0 – Metadata, W3C (ISO/IEC 40260:2011)
Web Services Eventing (WS-Eventing),
W3C Recommendation 13 December 2011, http://www.w3.org/TR/ws-eventing/
WS-BaseNotification 1.3
Web Services Base Notification 1.3 (WS-BaseNotification) OASIS Standard, 1 October 2006

4 Terms, definitions and namespaces

4.1 Terms and definitions

For the purposes of this document, the terms and definitions given in ISO/IEC 22534 and the following apply.

4.1.1
Service Requester

Web Service equivalent of Application in ISO/IEC 22534

4.1.2
Service Provider

Web Service equivalent of Server in ISO/IEC 22534

4.2 Prefixes and namespaces

This International Standard uses the following Ecma prefixes and namespaces.

  1. aps (http://www.ecma-international.org/standards/ecma-354/appl_session): This International Standard imports all XML messages defined in ISO/IEC 22534 from the aps namespace.
  2. wss (http://www.ecma-international.org/standards/ecma-366/ws-session/ed3): The WSDL target namespace for this International Standard.

This International Standard refers to these other prefixes and namespaces.

  1. wsdl (http://schemas.xmlsoap.org/wsdl/): This contains the W3C WSDL 1.1 schema.
  2. xs (http://www.w3.org/2001/XMLSchema): This contains the W3C XML Schema definition.
  3. S (http://schemas.xmlsoap.org/wsdl/soap): This contains the W3C SOAP 1.1 bindings for WSDL 1.1.
  4. wsa (http://www.w3.org/2005/08/addressing): The namespace for WS-Addressing 1.0.
  5. wse (http://www.w3.org/2011/03/ws-evt): The target namespace for WS-Eventing.
  6. wsnt (http://docs.oasis-open.org/wsn/b-2): The target namespace for WS-BaseNotfication 1.3.

5 Abstract WSDL Definitions

This Clause specifies the abstract WSDL definitions to support the services specified in ISO/IEC 22534. There are two abstract WSDL definitions and both of them are specified by the Service Provider: 1) “Provider WSDL” that specifies the interface the Service Provider shall implement; 2) “Notification WSDL” that specifies the interface the Service Requester shall implement in order to receive the event in a particular format using Annex A and the Option in Annex B.

5.1 Provider WSDL

 

	 
		 
			 
			 
			 
		 
	 

	 
		 
	 
	 
		 
	 
	 
		 
	 
	 
		 
	 
	 
		 
	 
	 
		 
	 
	 
		 
	 
	 
		 
	 
	 
		 
	

	 
		 
			 
			 
			 
		 
		 
			 
			 
			 
		 
		 
			 
			 
			 
		 
	 
]]>

5.2 Notification WSDL

 
	 
		 
		  
		 
	 
	 
		 
	
	
	 
		 
		  
		 
	 
]]>

6 SOAP Binding

This Clause specifies the binding templates of the abstract WSDL definitions in Clause 5 with SOAP Messages without a specific transport protocol. Any SOAP binding to transport shall contain elements and attributes in this binding template.

6.1 SOAP Binding for Provider WSDL

 
	 
	 
		 
		 
			 
			  
			 
		 
		 
			 
			  
			 
		 
		 
			 
			  
			 
		 
	 
]]>

6.2 SOAP Binding for Notification WSDL

 
	 
	 
		 
		 
			 
		 
	 
]]>

6.3 SOAP Binding of sessionID

The aps:sessionID element shall be included as a direct child element of the SOAP header for each application SOAP message, such as event notification message, exchanged over the application session. The recipient (Service Provider or Requester) of the application message shall verify that the sessionID is valid; otherwise it shall ignore the message or send a fault.

6.4 SOAP Fault Messages

The negative responses from Service Providers shall be bound to the SOAP 1.1 fault properties: faultcode, faultstring and detail, using the following template.

 
	 
		 
			[faultcode] 
			[faultstring] 
			[detail] 
		 
	 
]]>

The contents of fault properties are defined by the following table for each type of negative response.

Table 1 — Fault names and properties for WS-Session services
Fault Name StartFault
faultcode ISO/IEC 22534 defined standard error names: invalidApplicationInfo, requestedProtocolVersionNotSupported, serverResourcesBusy, maxNumberSessions, or application error name.
faultstring For ISO/IEC 22534 standard errors, it is the Description of corresponding error in Table 4-3 of ISO/IEC 22534. Additonal text can be provided to elaborate the error message, for example, the maximal session number allowed by the service provider. For application errors, a proper English description shall be provided.
detail Element aps:StartApplicationSessionNegResponse.
Fault Name StartFault
faultcode ISO/IEC 22534 defined standard error names: invalidSessionID, or application error name.
faultstring For ISO/IEC 22534 standard errors, it is the Description of corresponding error in Table 4-6 of ISO/IEC 22534. Additonal text can be provided to elaborate the error message, for example, the valid session ID format allowed by the service provider. For application errors, a proper English description shall be provided.
detail Element aps:StopApplicationSessionNegResponse.
Fault Name ResetFault
faultcode ISO/IEC 22534 defined standard error names: invalidSessionID, serverCannotResetSessionDuration, or application error name.
faultstring For ISO/IEC 22534 standard errors, it is the Description of corresponding error in Table 4-9 of ISO/IEC 22534. Additonal text can be provided to elaborate the error message, for example, the duration allowed by the service provider. For application errors, a proper English description shall be provided.
detail Element aps:ResetApplicationSessionTimerNegResponse.

7 Event Subscription and Notification

A Service Provider’s endpoint of the session is an event source that generates the ApplicationSessionTerminated event notification. That session may also contain other event sources, e.g. CSTA monitors, which generate event notifications within the session.

The Service Requester shall subscribe to a particular session in a Service Provider to receive event notifications from the session and its contained event sources. The Service Requester shall use the event subscription mechanism of the Service Provider as defined in Annex A and may optionally use the mechanism specified in Annex B if the Service Provider supports it.

The Service Requester shall subscribe to a session immediately after receiving the positive response of the StartApplicationSession operation.

To associate an event sink endpoint with a session, the event subscription message shall include the unique aps:sessionID obtained from the StartApplicationSession operation (see Clause 6).

The Service Provider shall only send notifications for events from a session and its contained event sources to each of the valid event sink endpoints associated with that session.

Any subscription to an invalid session shall result in a SOAP fault message as defined in Annex A and B.

When a session terminates, any subscription associated with the session is deemed invalid.

Annex A
(normative)

Event Subscription Using WS-Eventing

A.1 General

The Service Requester and Provider shall conform to WS-Eventing and support the wse:NotifyTo element of WS-Eventing.

For wrapped format event delivery, the Service Provider shall implement the SOAP 1.1 binding to the WSDL for Standard Wrapped Delivery specified in Annex D of WS-Eventing. For unwrapped format event delivery, the Service Provider shall implement the SOAP 1.1 binding to the Notification WSDL specified in Clause 5 of this Standard according to section A.2 of WS-Eventing.

The Service Requester shall subscribe to a session (see Clause 7) for either wrapped or unwrapped event delivery format and implement the WSDL and SOAP binding 1.1 required by the Service Provider for the selected format.

All notifications from event sources within a session shall include sessionID as specified in Clause 6.

A.2 Subscription Fault

If the aps:sessionID [sessionID] in the event subscription request is invalid, the Service Provider shall return a SOAP 1.1 fault message with these properties:

  • [faultcode]=UnknownEventSource
  • [faultstring]=The session [sessionID] is invalid
  • [detail]=invalidSessionID:[sessionID]

Annex B
(normative)

Subscription Using WS-BaseNotification Option

B.1 General

In addition to implementing and publishing the required operations from Annex A, the Service Provider may also implement and publish operations as specified in this Annex.

The Service Requester and Provider shall conform to WS-BaseNotification. They shall support the push-style of WS-BaseNotification to deliver the event notifications. The Service Provider shall implement the wsnt:Subscribe operation defined in the NotificationProducer portType of WS-BaseNotification WSDL and may implement other operations, such as wsnt:Unsubscribe, defined in the SubscriptionManager portType [WS-BaseNotification 1.3].

For Wrapped Delivery mode, the Service Requesters shall implement SOAP 1.1 binding to the Notification Consumer Interface specified in Section 3 and Appedix C of WS-BaseNotification. For unwrapped mode (a.k.a. raw in WS-BaseNotification), the Service Provider shall implement the SOAP 1.1 binding to the Notification WSDL specified in Clause 5 of this Standard according to Section 3 of WS-BaseNotification.

The Service Requester shall subscribe to a session (see Clause 7) for either wrapped or unwrapped event notification form and implement the WSDL and SOAP 1.1 binding required by the Service Provider for the selected format.

All notifications from event sources within a session shall include sessionID as specified in Clause 6.

Annex C
(normative)

Asynchronous Response to Subscription Request Option

The Service Provider and Requester shall follow WS-Addressing [WS-Addressing 1.0] to annotate and correlate event subscription messages for asynchronous message exchange. If the Service Provider only supports synchronous response, it shall return a SOAP fault message with faultcode set to wsa:OnlyAnonymousAddressSupported [WS-Addressing 1.0 SOAP Binding].

An asynchronous event subscription SOAP message template, applicable to both WS-Eventing and WS-BaseNotification, is shown below.

 
	 
		xs:anyURI 
		xs:string 
		[message_id] 
		[reply_address] 
		xs:anyURI 
		xs:any* 
	 
	 
]]>

The template for the reply message (response or fault) is shown below.

 
	 
		[reply_address] 
		[message_id] 
		xs:anyURI 
		xs:any* 
	 
	 
]]>

Annex D
(informative)

Example WS-Session WSDL binding with SOAP/HTTP

D.1 Service Provider WSDL with SOAP/HTTP Binding

This Annex provides a more specific and complete binding of the SOAP binding specified in 6.1 by adding the HTTP transport and Service Element.

 
	 
		 
		 
		 
			 
				 
			 
			 
				 
			 
			 
				 
			 
		 
		 
			 
				 
			 
			 
				 
			 
			 
				 
			 
		 
		 
			 
				 
			 
			 
				 
			 
			 
				 
			 
		 
	 
	 
		 
			 
		
	
]]>

D.2 Notification WSDL with SOAP/HTTP Binding

This Annex provides a more specific and complete binding of the SOAP binding specified in 6.2 by adding the HTTP transport.

 
	 
		 
		 
		 
			 
		 
	 
]]>

Annex E
(informative)

SOAP XML Templates for ISO/IEC 22534 (ECMA-354) Messages

E.1 StartApplicationSession request message template

 
	aps:StartApplicationSession 
]]>

E.1.1 StartApplicationSession Positive response message template

 
	aps:StartApplicationSessionPosResponse 
]]>

E.1.2 StartApplicationSession negative response message template

An example of negative response due to maximum session limit.

 
	 
		 
			maxNumberSessions 
			 
				the server cannot create an application session because  
				it has reached the maximum number of allowed application sessions 
			 
			 
				 
					 
						maxNumberSessions 
					 
				 
			 
		 
	
]]>

E.2 StopApplicationSession request message template

 
	aps:StopApplicationSession 
]]>

E.2.1 StopApplicationSession positive response message template

 
	aps:StopApplicationSessionPosResponse 
]]>

E.2.2 StopApplicationSession negative response message template

An example negative response due to invalid session reference.

 
	 
		 
			invalidSessionID 
				the sessionID is not valid or known by the server 
			 
				 
					 
						invalidSessionID 
					 
				 
			 
		 
	 
]]>

E.3 ResetApplicationSessionTimer request message template

 
	aps:ResetApplicationSessionTimer 
]]>

E.3.1 ResetApplicationSessionTimer positive response message template

 
	aps:ResetApplicationSessionTimerPosResponse 
]]>

E.3.2 Reset Application Session Timer negative response message template

An example negative response due to invalid session reference.

 
	 
		 
			invalidSessionID 
			the sessionID is not valid or known by the server 
			 
				 
					 
						invalidSessionID 
					 
				 
			 
		 
	 
]]>

E.4 ApplicationSessionTerminated

E.4.1 Template of ApplicationSessionTerminated event notification for unwrapped event sink which applies to both WS-Eventing and WS-BaseNotification options

 
	 
		http://www.ecma-international.org/standards/ecma-366/ws-
session/ed3/ApplicationSessionSinkPortType/ApplicationSessionTerminated 
		xs:any* 
	 
	aps:ApplicationSessionTerminated 
]]>

E.4.2 Template of ApplicationSessionTerminated event notification to wrapped event sink of WS-Eventing

 
	 
		http://www.w3.org/2011/03/ws-evt/WrappedSinkPortType/NotifyEvent 
			xs:any* 
	 
	 
		 
			aps:ApplicationSessionTerminated 
		 
	 

				]]>

E.4.3 Template of ApplicationSessionTerminated event notification to wrapped event sink of WS-BaseNotification

 
	 
		http://docs.oasis-open.org/wsn/bw-2/NotificationConsumer/Notify 
			xs:any* 
	 
	 
		 
			      
				 
					aps:ApplicationSessionTerminated 
				 
			 
		  
	 
]]>

Annex F
(informative)

WS-Eventing SOAP XML Message Templates

F.1 ApplicationSessionTerminated Event Subscription SOAP message template

The subscription to the ApplicationSessionTerminated event is shown below.

 
	 
		xs:anyURI 
		xs:string 
			http://www.w3.org/2011/03/ws-evt/Subscribe 
		xs:any*  
	 
  
 	 
 		 
 			 
 				xs:anyURI 
 				 
 			 
 			 
 		 
 	 
  
]]>

F.2 Template of positive response to the event subscription

The positive response to the ApplicationSessionTerminated event subscription is shown below.

 
	 
		http://www.w3.org/2011/03/ws-evt/SubscribeResponse 
		xs:any* 
	 
	 
		 
			 
				wsa:EndpointReferenceType 
			 
		 
	 
]]>

F.3 Template of negative response (fault) to event subscription

The negative response to the ApplicationSessionTerminated event subscription is shown below.

 
	 
		http://www.w3.org/2011/03/ws-evt/fault 
		xs:any* 
	 
	 
		 
			UnknownEventSource
			The session [sessionID] is invalid 
			invalidSessionID:[sessionID] 
		 
	 
]]>

F.4 Template of Unsubscribe message

The request to unsubscribe an existing subscription is shown below.

 
	 
		xs:anyURI 
		http://www.w3.org/2011/03/ws-evt/Unsubscribe 
		xs:any* 
	 
	 
		 
	 
]]>

F.5 Template of positive response to Unsubscribe message

The positive response to unsubscribing an existing subscription is shown below.

 
	 
		http://www.w3.org/2011/03/ws-evt/UnsubscribeResponse 
		xs:any* 
	 
	 
]]>