Skip to main content

%SOAP.WSSC.SecurityContextToken

Class %SOAP.WSSC.SecurityContextToken Extends (%SOAP.WST.AbstractToken, %SOAP.Security.Element) [ System = 4 ]

SecurityContextToken from WS-SecureConversation 1.3.

Parameters

XMLFORMAT

Parameter XMLFORMAT = "literal";

NAMESPACE

Parameter NAMESPACE = "http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512";

ELEMENTQUALIFIED

Parameter ELEMENTQUALIFIED = 1;

XMLPREFIX

Parameter XMLPREFIX = "wsc";

Properties

Identifier

Property Identifier As %xsd.anyURI;

Instance

Property Instance As %String(MAXLEN = "");

any

Property any As %XML.ElementExtension(XMLPROJECTION = "group");

ExpiresInSeconds

Property ExpiresInSeconds As %Integer(XMLPROJECTION = "none") [ Internal ];

The expiration in seconds since December 31, 1840

Key

Property Key As %Binary(XMLPROJECTION = "none") [ Internal ];

The symmetric key to be used.

AppliesTo

Property AppliesTo As %xsd.anyURI(XMLPROJECTION = "none") [ Internal ];

The endpoint of the web service to which this token applies

MustNotSendCancel

Property MustNotSendCancel As %Boolean(XMLPROJECTION = "none") [ InitialExpression = 0, Internal ];

If MustNotSendCancel is true, then token may nopt be cancelled.

Methods

%OnNew

Method %OnNew(initvalue As %String = "") As %Status [ Internal ]

Save

Method Save() As %Status [ Internal ]

Save this SecurityContextToken in a system wide global. The global format is: ^SYS("SOAPContext",Identifier,Instance)=$lb(type,ExpiresInSeconds,Key,AppliesTo,any,wsuId as $list,MustNotSendCancel) The index for cleanup is ^SYS("SOAPContext",0,ExpiresInSeconds,Identifier,Instance)="" where Instance is $c(0) if no Instance and type is always = 1 for SecurityContextToken.

Open

ClassMethod Open(identifier As %xsd.anyURI, instance As %String = "") As %SOAP.WSSC.SecurityContextToken [ Internal ]

Retrieve the SecurityContextToken with this identifier for system wide global. See Save method description for details.

Load

Method Load(keepId As %Boolean = 1) As %Boolean [ Internal ]

Retrieve the SecurityContextToken properties for token with this identifier for system wide global. See Save method description for details.

Copy

Method Copy(sct As %SOAP.WSSC.SecurityContextToken) [ Internal ]

Copy the specified token to this token

Log

ClassMethod Log(terminal As %Boolean = 0) [ Internal ]

Log list of SecurityContextTokens

Remove

Method Remove() [ Internal ]

Remove this token from context list

RemoveAll

ClassMethod RemoveAll() [ Internal ]

Remove all security contexts

MakeFault

ClassMethod MakeFault(faultCode As %String) As %SOAP.Fault [ ServerOnly = 1 ]

Create a WS-SecureConversation security fault.

Create

ClassMethod Create() As %SOAP.WSSC.SecurityContextToken

Create a SecurityContextToken with Identifier set

InitializeKey

Method InitializeKey(service As %SOAP.WebBase, algorithm As %String) As %Status [ Internal ]

Initialize the SecurityContextToken key.

ValidateKey

Method ValidateKey(service As %SOAP.WebBase) As %String [ Internal ]

Validate the SecurityContextToken key. If invalid return an error code.

ValidateElement

Method ValidateElement(document As %XML.Document, service As %SOAP.WebBase) As %String [ Internal ]

Validate the security header element. If invalid return an error code.

Reset

Method Reset() [ Internal ]

Reset the element.

Equals

Method Equals(credentials As %SOAP.WSSC.SecurityContextToken) As %Boolean

Return true if the same Key.