예제 #1
0
        /// <summary>
        /// Builds an IMessage using MethodReturn.
        /// </summary>
        /// <param name="methodReturn">Servers return message</param>
        /// <param name="callMessage">Method an parameters</param>
        /// <returns>The result of the Message</returns>
        protected IMessage ToMessage(IMethodResult methodReturn, IMethodCallMessage callMessage)
        {
            Logger.Info("Convert method call to String method and send it to the OpenEngSB");
            switch (methodReturn.Type)
            {
            case ReturnType.Exception:
            {
                return(new ReturnMessage(new BridgeException("Received an Excetion from the bridge", new OpenEngSBException(methodReturn.Arg.ToString(), new OpenEngSBException(methodReturn.ToString()))), callMessage));
            }

            case ReturnType.Void:
            case ReturnType.Object:
            {
                return(new ReturnMessage(methodReturn.Arg, null, 0, null, callMessage));
            }

            default:
            {
                return(null);
            }
            }
        }