119 lines
6.3 KiB
C#
119 lines
6.3 KiB
C#
|
//------------------------------------------------------------
|
||
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
||
|
//------------------------------------------------------------
|
||
|
|
||
|
namespace System.ServiceModel.Security
|
||
|
{
|
||
|
using System;
|
||
|
using System.ServiceModel;
|
||
|
using System.ServiceModel.Channels;
|
||
|
|
||
|
/// <summary>
|
||
|
/// Defines the IWSTrustContract for sending WS-Trust messages to an STS.
|
||
|
/// </summary>
|
||
|
[ServiceContract]
|
||
|
public interface IWSTrustContract
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Method for Cancel binding for WS-Trust
|
||
|
/// </summary>
|
||
|
/// <param name="message">The Request Message that contains a RST.</param>
|
||
|
/// <returns>Response message containing the RSTR.</returns>
|
||
|
[OperationContract(Name = "Cancel", Action = "*", ReplyAction = "*")]
|
||
|
Message Cancel(Message message);
|
||
|
|
||
|
/// <summary>
|
||
|
/// Begin Async Method for Cancel binding for WS-Trust
|
||
|
/// </summary>
|
||
|
/// <param name="message">The Request Message that contains a RST.</param>
|
||
|
/// <param name="callback">An optional asynchronous callback, to be called when the send is complete.</param>
|
||
|
/// <param name="asyncState">A user-provided object that distinguishes this particular asynchronous send request from other requests.</param>
|
||
|
/// <returns>An IAsyncResult object that represents the asynchronous send, which could still be pending. </returns>
|
||
|
[OperationContract(AsyncPattern = true, Name = "Cancel", Action = "*", ReplyAction = "*")]
|
||
|
IAsyncResult BeginCancel(Message message, AsyncCallback callback, object asyncState);
|
||
|
|
||
|
/// <summary>
|
||
|
/// End Async Method for Cancel binding for WS-Trust
|
||
|
/// </summary>
|
||
|
/// <param name="asyncResult">A reference to the outstanding asynchronous send request.</param>
|
||
|
/// <returns>Response message containing the RSTR.</returns>
|
||
|
Message EndCancel(IAsyncResult asyncResult);
|
||
|
|
||
|
/// <summary>
|
||
|
/// Method for Issue binding for WS-Trust
|
||
|
/// </summary>
|
||
|
/// <param name="message">The Request Message that contains a RST.</param>
|
||
|
/// <returns>Response message containing the RSTR.</returns>
|
||
|
[OperationContract(Name = "Issue", Action = "*", ReplyAction = "*")]
|
||
|
Message Issue(Message message);
|
||
|
|
||
|
/// <summary>
|
||
|
/// Begin Async Method for Issue binding for WS-Trust
|
||
|
/// </summary>
|
||
|
/// <param name="message">The Request Message that contains a RST.</param>
|
||
|
/// <param name="callback">An optional asynchronous callback, to be called when the send is complete.</param>
|
||
|
/// <param name="asyncState">A user-provided object that distinguishes this particular asynchronous send request from other requests.</param>
|
||
|
/// <returns>An IAsyncResult object that represents the asynchronous send, which could still be pending. </returns>
|
||
|
[OperationContract(AsyncPattern = true, Name = "Issue", Action = "*", ReplyAction = "*")]
|
||
|
IAsyncResult BeginIssue(Message message, AsyncCallback callback, object asyncState);
|
||
|
|
||
|
/// <summary>
|
||
|
/// End Async Method for Issue binding for WS-Trust
|
||
|
/// </summary>
|
||
|
/// <param name="asyncResult">A reference to the outstanding asynchronous send request.</param>
|
||
|
/// <returns>Response message containing the RSTR.</returns>
|
||
|
Message EndIssue(IAsyncResult asyncResult);
|
||
|
|
||
|
/// <summary>
|
||
|
/// Method for Renew binding for WS-Trust
|
||
|
/// </summary>
|
||
|
/// <param name="message">The Request Message that contains a RST.</param>
|
||
|
/// <returns>Response message containing the RSTR.</returns>
|
||
|
[OperationContract(Name = "Renew", Action = "*", ReplyAction = "*")]
|
||
|
Message Renew(Message message);
|
||
|
|
||
|
/// <summary>
|
||
|
/// Begin Async Method for Renew binding for WS-Trust
|
||
|
/// </summary>
|
||
|
/// <param name="message">The Request Message that contains a RST.</param>
|
||
|
/// <param name="callback">An optional asynchronous callback, to be called when the send is complete.</param>
|
||
|
/// <param name="asyncState">A user-provided object that distinguishes this particular asynchronous send request from other requests.</param>
|
||
|
/// <returns>An IAsyncResult object that represents the asynchronous send, which could still be pending. </returns>
|
||
|
[OperationContract(AsyncPattern = true, Name = "Renew", Action = "*", ReplyAction = "*")]
|
||
|
IAsyncResult BeginRenew(Message message, AsyncCallback callback, object asyncState);
|
||
|
|
||
|
/// <summary>
|
||
|
/// End Async Method for Renew binding for WS-Trust
|
||
|
/// </summary>
|
||
|
/// <param name="asyncResult">A reference to the outstanding asynchronous send request.</param>
|
||
|
/// <returns>Response message containing the RSTR.</returns>
|
||
|
Message EndRenew(IAsyncResult asyncResult);
|
||
|
|
||
|
/// <summary>
|
||
|
/// Method for Validate binding for WS-Trust
|
||
|
/// </summary>
|
||
|
/// <param name="message">The Request Message that contains a RST.</param>
|
||
|
/// <returns>Response message containing the RSTR.</returns>
|
||
|
[OperationContract(Name = "Validate", Action = "*", ReplyAction = "*")]
|
||
|
Message Validate(Message message);
|
||
|
|
||
|
/// <summary>
|
||
|
/// Begin Async Method for Validate binding for WS-Trust
|
||
|
/// </summary>
|
||
|
/// <param name="message">The Request Message that contains a RST.</param>
|
||
|
/// <param name="callback">An optional asynchronous callback, to be called when the send is complete.</param>
|
||
|
/// <param name="asyncState">A user-provided object that distinguishes this particular asynchronous send request from other requests.</param>
|
||
|
/// <returns>An IAsyncResult object that represents the asynchronous send, which could still be pending. </returns>
|
||
|
[OperationContract(AsyncPattern = true, Name = "Validate", Action = "*", ReplyAction = "*")]
|
||
|
IAsyncResult BeginValidate(Message message, AsyncCallback callback, object asyncState);
|
||
|
|
||
|
/// <summary>
|
||
|
/// End Async Method for Validate binding for WS-Trust
|
||
|
/// </summary>
|
||
|
/// <param name="asyncResult">A reference to the outstanding asynchronous send request.</param>
|
||
|
/// <returns>Response message containing the RSTR.</returns>
|
||
|
Message EndValidate(IAsyncResult asyncResult);
|
||
|
|
||
|
}
|
||
|
}
|