Exemplo n.º 1
0
        internal MethodResponse(IMethodCallMessage msg, CADMethodReturnMessage retmsg)
        {
            _callMsg = msg;

            _methodBase = msg.MethodBase;
            //_typeName = msg.TypeName;
            _uri        = msg.Uri;
            _methodName = msg.MethodName;

            // Get unmarshalled arguments
            ArrayList args = retmsg.GetArguments();

            _exception   = retmsg.GetException(args);
            _returnValue = retmsg.GetReturnValue(args);
            _args        = retmsg.GetArgs(args);

            _callContext = retmsg.GetLogicalCallContext(args);
            if (_callContext == null)
            {
                _callContext = new LogicalCallContext();
            }

            if (retmsg.PropertiesCount > 0)
            {
                CADMessageBase.UnmarshalProperties(Properties, retmsg.PropertiesCount, args);
            }
        }
Exemplo n.º 2
0
        internal MethodResponse(IMethodCallMessage msg, CADMethodReturnMessage retmsg)
        {
            this._callMsg    = msg;
            this._methodBase = msg.MethodBase;
            this._uri        = msg.Uri;
            this._methodName = msg.MethodName;
            ArrayList arguments = retmsg.GetArguments();

            this._exception   = retmsg.GetException(arguments);
            this._returnValue = retmsg.GetReturnValue(arguments);
            this._args        = retmsg.GetArgs(arguments);
            this._callContext = retmsg.GetLogicalCallContext(arguments);
            if (this._callContext == null)
            {
                this._callContext = new LogicalCallContext();
            }
            if (retmsg.PropertiesCount > 0)
            {
                CADMessageBase.UnmarshalProperties(this.Properties, retmsg.PropertiesCount, arguments);
            }
        }
Exemplo n.º 3
0
		internal void ProcessMessageInDomain (byte[] arrRequest, CADMethodCallMessage cadMsg,
		                                      out byte[] arrResponse, out CADMethodReturnMessage cadMrm)
		{
			IMessage reqDomMsg;

			if (null != arrRequest)
				reqDomMsg = CADSerializer.DeserializeMessage (new MemoryStream(arrRequest), null);
			else
				reqDomMsg = new MethodCall (cadMsg);

			IMessage retDomMsg = ChannelServices.SyncDispatchMessage (reqDomMsg);

			cadMrm = CADMethodReturnMessage.Create (retDomMsg);
			if (null == cadMrm) {
				arrResponse = CADSerializer.SerializeMessage (retDomMsg).GetBuffer();
			} 
			else
				arrResponse = null;
		}
Exemplo n.º 4
0
		internal MethodResponse (IMethodCallMessage msg, CADMethodReturnMessage retmsg) {
			_callMsg = msg;

			_methodBase = msg.MethodBase;
			//_typeName = msg.TypeName;
			_uri = msg.Uri;
			_methodName = msg.MethodName;
			
			// Get unmarshalled arguments
			ArrayList args = retmsg.GetArguments ();

			_exception = retmsg.GetException (args);
			_returnValue = retmsg.GetReturnValue (args);
			_args = retmsg.GetArgs (args);

			_callContext = retmsg.GetLogicalCallContext (args);
			if (_callContext == null) _callContext = new LogicalCallContext ();
			
			if (retmsg.PropertiesCount > 0)
				CADMessageBase.UnmarshalProperties (Properties, retmsg.PropertiesCount, args);
		}