Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        /// <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;
        }
Esempio n. 3
0
 /// <summary>
 /// Initializes the message with the body.
 /// </summary>
 public ActivateSessionResponseMessage(ActivateSessionResponse ActivateSessionResponse)
 {
     this.ActivateSessionResponse = ActivateSessionResponse;
 }
Esempio n. 4
0
        /// <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;
            }
        }
Esempio n. 5
0
        /// <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);
        }