Exemplo n.º 1
0
        private MethodCall DeserializeRequest(
            ITransportHeaders requestHeaders,
            Stream requestStream)
        {
            var requestUri   = (string)requestHeaders["__RequestUri"];
            var svcType      = GetServiceType(requestUri);
            var deserializer = new XmlRpcRequestDeserializer();
            var xmlRpcReq    = deserializer.DeserializeRequest(requestStream, svcType);
            var headers      = GetChannelHeaders(requestHeaders, xmlRpcReq, svcType);
            var mthdCall     = new MethodCall(headers);

            mthdCall.ResolveMethod();
            return(mthdCall);
        }
Exemplo n.º 2
0
        // private methods
        //
        MethodCall DeserializeRequest(
            ITransportHeaders requestHeaders,
            Stream requestStream)
        {
            string           requestUri = (string)requestHeaders["__RequestUri"];
            Type             svcType    = GetServiceType(requestUri);
            XmlRpcSerializer serializer = new XmlRpcSerializer();
            XmlRpcRequest    xmlRpcReq
                = serializer.DeserializeRequest(requestStream, svcType);

            Header[]   headers  = GetChannelHeaders(requestHeaders, xmlRpcReq, svcType);
            MethodCall mthdCall = new MethodCall(headers);

            mthdCall.ResolveMethod();
            return(mthdCall);
        }
        // private methods
        //
        MethodCall DeserializeRequest(
            ITransportHeaders requestHeaders,
            Stream requestStream)
        {
            string           requestUri = (string)requestHeaders["__RequestUri"];
            string           typeName   = GetTypeName(requestUri);
            Type             svcType    = Type.GetType(typeName);
            XmlRpcSerializer serializer = new XmlRpcSerializer();
            XmlRpcRequest    xmlRpcReq
                = serializer.DeserializeRequest(requestStream, svcType);

            // TODO: optimise out two calls to GetRegisteredWellKnownServiceTypes
            Header[]   headers  = GetChannelHeaders(requestHeaders, xmlRpcReq);
            MethodCall mthdCall = new MethodCall(headers);

            mthdCall.ResolveMethod();
            return(mthdCall);
        }
Exemplo n.º 4
0
        private MethodCall DeserializeRequest(ITransportHeaders requestHeaders, Stream requestStream, IXmlRpcStreamRequestConfig config)
        {
            String requestUri = GetRequestUri(requestHeaders);
            Type   svcType    = GetServerTypeForUri(requestUri);

            if (!_mapping.Has(svcType))
            {
                _mapping.Register(svcType);
            }
            IXmlRpcRequest request = GetRequest(config, requestStream);
            IXmlRpcHandler handler = GetHandler(request);

            Header[]   headers = GetChannelHeaders(requestUri, request, handler, svcType);
            MethodCall call    = new MethodCall(headers);

            call.ResolveMethod();
            return(call);
        }