public NProgDistributed.TheIce.MessageDto Send(NProgDistributed.TheIce.MessageDto message, _System.Collections.Generic.Dictionary <string, string> context__, Ice.Instrumentation.InvocationObserver observer__)
 {
     IceInternal.Outgoing og__ = handler__.getOutgoing("Send", Ice.OperationMode.Normal, context__, observer__);
     try
     {
         try
         {
             IceInternal.BasicStream os__ = og__.startWriteParams(Ice.FormatType.DefaultFormat);
             os__.writeObject(message);
             os__.writePendingObjects();
             og__.endWriteParams();
         }
         catch (Ice.LocalException ex__)
         {
             og__.abort(ex__);
         }
         bool ok__ = og__.invoke();
         try
         {
             if (!ok__)
             {
                 try
                 {
                     og__.throwUserException();
                 }
                 catch (Ice.UserException ex__)
                 {
                     throw new Ice.UnknownUserException(ex__.ice_name(), ex__);
                 }
             }
             IceInternal.BasicStream            is__ = og__.startReadParams();
             NProgDistributed.TheIce.MessageDto ret__;
             IceInternal.ParamPatcher <NProgDistributed.TheIce.MessageDto> ret__PP = new IceInternal.ParamPatcher <NProgDistributed.TheIce.MessageDto>(NProgDistributed.TheIce.MessageDto.ice_staticId());
             is__.readObject(ret__PP);
             is__.readPendingObjects();
             og__.endReadParams();
             ret__ = ret__PP.value;
             return(ret__);
         }
         catch (Ice.LocalException ex__)
         {
             throw new IceInternal.LocalExceptionWrapper(ex__, false);
         }
     }
     finally
     {
         handler__.reclaimOutgoing(og__);
     }
 }
 public static Ice.DispatchStatus Send___(IMessageService obj__, IceInternal.Incoming inS__, Ice.Current current__)
 {
     checkMode__(Ice.OperationMode.Normal, current__.mode);
     IceInternal.BasicStream is__ = inS__.startReadParams();
     IceInternal.ParamPatcher <NProgDistributed.TheIce.MessageDto> message__PP = new IceInternal.ParamPatcher <NProgDistributed.TheIce.MessageDto>(NProgDistributed.TheIce.MessageDto.ice_staticId());
     is__.readObject(message__PP);
     is__.readPendingObjects();
     inS__.endReadParams();
     NProgDistributed.TheIce.MessageDto ret__ = obj__.Send(message__PP.value, current__);
     IceInternal.BasicStream            os__  = inS__.startWriteParams__(Ice.FormatType.DefaultFormat);
     os__.writeObject(ret__);
     os__.writePendingObjects();
     inS__.endWriteParams__(true);
     return(Ice.DispatchStatus.DispatchOK);
 }
 private Ice.AsyncResult <NProgDistributed.TheIce.Callback_IMessageService_Send> begin_Send(NProgDistributed.TheIce.MessageDto message, _System.Collections.Generic.Dictionary <string, string> ctx__, bool explicitContext__, Ice.AsyncCallback cb__, object cookie__)
 {
     checkAsyncTwowayOnly__(__Send_name);
     IceInternal.TwowayOutgoingAsync <NProgDistributed.TheIce.Callback_IMessageService_Send> result__ = new IceInternal.TwowayOutgoingAsync <NProgDistributed.TheIce.Callback_IMessageService_Send>(this, __Send_name, Send_completed__, cookie__);
     if (cb__ != null)
     {
         result__.whenCompletedWithAsyncCallback(cb__);
     }
     try
     {
         result__.prepare__(__Send_name, Ice.OperationMode.Normal, ctx__, explicitContext__);
         IceInternal.BasicStream os__ = result__.startWriteParams__(Ice.FormatType.DefaultFormat);
         os__.writeObject(message);
         os__.writePendingObjects();
         result__.endWriteParams__();
         result__.send__(true);
     }
     catch (Ice.LocalException ex__)
     {
         result__.exceptionAsync__(ex__);
     }
     return(result__);
 }