public async Task <ActivateSessionResponse> ActivateSessionAsync(ActivateSessionRequest activateSessionRequest) { UpdateRequestHeader(activateSessionRequest, true, "ActivateSession"); ActivateSessionResponse activateSessionResponse = null; try { if (UseTransportChannel) { var serviceResponse = await Task <IServiceResponse> .Factory.FromAsync(TransportChannel.BeginSendRequest, TransportChannel.EndSendRequest, activateSessionRequest, null).ConfigureAwait(false); if (serviceResponse == null) { throw new ServiceResultException(StatusCodes.BadUnknownResponse); } ValidateResponse(serviceResponse.ResponseHeader); activateSessionResponse = (ActivateSessionResponse)serviceResponse; } else { var activateSessionResponseMessage = await Task <ActivateSessionResponseMessage> .Factory.FromAsync(InnerChannel.BeginActivateSession, InnerChannel.EndActivateSession, new ActivateSessionMessage(activateSessionRequest), null).ConfigureAwait(false); if (activateSessionResponseMessage == null || activateSessionResponseMessage.ActivateSessionResponse == null) { throw new ServiceResultException(StatusCodes.BadUnknownResponse); } activateSessionResponse = activateSessionResponseMessage.ActivateSessionResponse; ValidateResponse(activateSessionResponse.ResponseHeader); } } finally { RequestCompleted(activateSessionRequest, activateSessionResponse, "ActivateSession"); } return(activateSessionResponse); }
/// <summary> /// Invokes the ActivateSession service. /// </summary> public IServiceResponse ActivateSession(IServiceRequest incoming) { ActivateSessionResponse response = null; ActivateSessionRequest request = (ActivateSessionRequest)incoming; byte[] serverNonce = null; StatusCodeCollection results = null; DiagnosticInfoCollection diagnosticInfos = null; response = new ActivateSessionResponse(); response.ResponseHeader = ServerInstance.ActivateSession( request.RequestHeader, request.ClientSignature, request.ClientSoftwareCertificates, request.LocaleIds, request.UserIdentityToken, request.UserTokenSignature, out serverNonce, out results, out diagnosticInfos); response.ServerNonce = serverNonce; response.Results = results; response.DiagnosticInfos = diagnosticInfos; return response; }
/// <summary> /// Initializes the message with the body. /// </summary> public ActivateSessionResponseMessage(ActivateSessionResponse ActivateSessionResponse) { this.ActivateSessionResponse = ActivateSessionResponse; }
/// <summary> /// Initializes the message with a service fault. /// </summary> public ActivateSessionResponseMessage(ServiceFault ServiceFault) { this.ActivateSessionResponse = new ActivateSessionResponse(); if (ServiceFault != null) { this.ActivateSessionResponse.ResponseHeader = ServiceFault.ResponseHeader; } }
/// <summary cref="IServiceMessage.CreateResponse" /> public object CreateResponse(IServiceResponse response) { ActivateSessionResponse body = response as ActivateSessionResponse; if (body == null) { body = new ActivateSessionResponse(); body.ResponseHeader = ((ServiceFault)response).ResponseHeader; } return new ActivateSessionResponseMessage(body); }