public static ServiceRequest GetServiceRequest() { RequestMessage request = new RequestMessage(); MessageArgument arg = new MessageArgument(); arg.ArgumentType = "System.String"; arg.Argument = "stub"; request.MessageArgs = new MessageArgument[1]{arg}; byte[] content; using (IBinaryMessageSerializer serializer = MessageSerializerFactory.CreateBinarySerializer(typeof(RequestMessage))) { content = serializer.Serialize(request); } ServiceRequest result = new ServiceRequest(content); result.Message = new RequestMessage(); result.Message.ServiceKey = typeof (FakeProxy).Name; result.Message.MethodKey = "ProxyMethod"; result.Message.MessageArgs = request.MessageArgs; result.Message.SessionTicket = Guid.NewGuid(); return result; }
public void Process() { RequestMessage request = new RequestMessage(); IInvocation invocation = _channelRequest.Invocation; object[] arguments = invocation.Arguments; request.ServiceKey = _channelRequest.ServiceName; request.MethodKey = invocation.Method.Name; request.MessageArgs = new MessageArgument[arguments.Length]; for (int idx = 0; idx < arguments.Length; idx++) { Type argumentType = arguments[idx].GetType(); MessageArgument arg = new MessageArgument(); arg.ArgumentType = argumentType.AssemblyQualifiedName; arg.Argument = arguments[idx]; request.MessageArgs[idx] = arg; } _channelRequest.Message = request; }