Exemple #1
0
        static byte[] Encode(TestStackRequest request1, ServiceMessageContext context1, bool binary)
        {
            if (binary)
            {
                return(BinaryEncoder.EncodeMessage(request1, context1));
            }
            else
            {
                ServiceMessageContext.ThreadContext = context1;

                MemoryStream ostrm = new MemoryStream();

                XmlWriterSettings settings = new XmlWriterSettings();
                settings.Encoding = System.Text.Encoding.UTF8;

                using (XmlWriter writer = XmlWriter.Create(ostrm, settings))
                {
                    DataContractSerializer serializer = new DataContractSerializer(typeof(TestStackRequest));
                    serializer.WriteObject(writer, request1);
                }

                return(ostrm.ToArray());
            }
        }
Exemple #2
0
        static byte[] Encode(TestStackRequest request1, ServiceMessageContext context1, bool binary)
        {
            if (binary)
            {
                return BinaryEncoder.EncodeMessage(request1, context1);
            }
            else
            {
                ServiceMessageContext.ThreadContext = context1;

                MemoryStream ostrm = new MemoryStream();

                XmlWriterSettings settings = new XmlWriterSettings();
                settings.Encoding = System.Text.Encoding.UTF8;

                using (XmlWriter writer = XmlWriter.Create(ostrm, settings))
                {
                    DataContractSerializer serializer = new DataContractSerializer(typeof(TestStackRequest));
                    serializer.WriteObject(writer, request1);
                }

                return ostrm.ToArray();
            }
        }
Exemple #3
0
        /// <summary>
        /// Begins an asynchronous invocation of the TestStack service.
        /// </summary>
        public IAsyncResult BeginTestStack(
            RequestHeader requestHeader,
            uint          testId,
            int           iteration,
            Variant       input,
            AsyncCallback callback,
            object        asyncState)
        {
            TestStackRequest request = new TestStackRequest();

            request.RequestHeader = requestHeader;
            request.TestId        = testId;
            request.Iteration     = iteration;
            request.Input         = input;

            UpdateRequestHeader(request, requestHeader == null, "TestStack");

            if (UseTransportChannel)
            {
                return TransportChannel.BeginSendRequest(request, callback, asyncState);
            }

            return InnerChannel.BeginTestStack(new TestStackMessage(request), callback, asyncState);
        }
Exemple #4
0
        /// <summary>
        /// Invokes the TestStack service.
        /// </summary>
        public virtual ResponseHeader TestStack(
            RequestHeader requestHeader,
            uint          testId,
            int           iteration,
            Variant       input,
            out Variant   output)
        {
            TestStackRequest request = new TestStackRequest();
            TestStackResponse response = null;

            request.RequestHeader = requestHeader;
            request.TestId        = testId;
            request.Iteration     = iteration;
            request.Input         = input;

            UpdateRequestHeader(request, requestHeader == null, "TestStack");

            try
            {
                if (UseTransportChannel)
                {
                    IServiceResponse genericResponse = TransportChannel.SendRequest(request);

                    if (genericResponse == null)
                    {
                        throw new ServiceResultException(StatusCodes.BadUnknownResponse);
                    }

                    ValidateResponse(genericResponse.ResponseHeader);
                    response = (TestStackResponse)genericResponse;
                }
                else
                {
                    TestStackResponseMessage responseMessage = InnerChannel.TestStack(new TestStackMessage(request));

                    if (responseMessage == null || responseMessage.TestStackResponse == null)
                    {
                        throw new ServiceResultException(StatusCodes.BadUnknownResponse);
                    }

                    response = responseMessage.TestStackResponse;
                    ValidateResponse(response.ResponseHeader);
                }

                output = response.Output;
            }
            finally
            {
                RequestCompleted(request, response, "TestStack");
            }

            return response.ResponseHeader;
        }
Exemple #5
0
 /// <summary>
 /// Initializes the message with the body.
 /// </summary>
 public TestStackMessage(TestStackRequest TestStackRequest)
 {
     this.TestStackRequest = TestStackRequest;
 }