示例#1
0
		public XmlApi.scheduleReportType ModifyConference( XmlApi.conferenceType conference )
		{
			if( conference == null )
				throw new ArgumentNullException( "conference" );

			XmlApi.modifyConferenceRequestType	request				= new XmlApi.modifyConferenceRequestType();
												request.Conference	= conference;

                                                conference.clientSpecified = true;
                                                conference.client = XmlApi.clientType.OUTLOOK_CLIENTLESS;
			XmlApi.modifyConferenceResponseType	response			= this._Connector.Request( request ) as XmlApi.modifyConferenceResponseType;

			return response.Report;
		}
示例#2
0
		public XmlApi.scheduleReportType ScheduleConference( XmlApi.conferenceType conference )
		{
			if( conference == null )
				throw new ArgumentNullException( "conference" );
            if (conference.ConferenceId == null)
                conference.ConferenceId = "";
            if( conference.LocationId == null)
                conference.LocationId = "";

            if (conference.TimeZoneId == null) {
                conference.TimeZoneId = TimeZoneInfo.Local.Id;
            }

            conference.clientSpecified = true;
            conference.client = XmlApi.clientType.OUTLOOK_CLIENTLESS;

			XmlApi.scheduleConferenceRequestType	request				= new XmlApi.scheduleConferenceRequestType();
													request.Conference	= conference;

			XmlApi.scheduleConferenceResponseType	response			= this._Connector.Request( request ) as XmlApi.scheduleConferenceResponseType;

			return response.Report;
		}
示例#3
0
		/// <summary>
		/// Prepare full Xml API Request message
		/// </summary>
		/// <param name="request">ICM request object</param>
		/// <returns>Full Xml API Request message</returns>
		private XmlApi.mcuXmlApiType PrepareMcuXmlApiTypeMessage( XmlApi.MCURequestType request )
		{
			if( request == null )
				throw new ArgumentNullException( "request" );
		
			//
			//
			//
			XmlApi.requestType		requestType			= new XmlApi.requestType();
									requestType.Item	= request;

			XmlApi.mcuXmlApiType	mcuXmlApiType		= new XmlApi.mcuXmlApiType();
									mcuXmlApiType.Item	= requestType;

			//
			// Fill account info
			// 
			if( this._AccountCredential != null )
			{
				mcuXmlApiType.Account	= this._AccountCredential.Username;
				mcuXmlApiType.Password	= this._AccountCredential.Password;
			}

			//
			// Fill Request ID
			//
			request.RequestID = ( ++Connector._RequestID ).ToString();

			//
			//
			//
			return mcuXmlApiType;

		}
示例#4
0
		/// <summary>
		/// Serelize mcuXmlApiType object to XML.
		/// </summary>
		/// <param name="mcuXmlApiType">Object for serelize to XML</param>
		/// <returns>XML string</returns>
		
        private string SerializeMcuXmlApiTypeMessage( XmlApi.mcuXmlApiType mcuXmlApiType )
		{
			using( MemoryStream memoryStream = new MemoryStream() )
			{
                using (ConformWriter xmlWriter = new ConformWriter(memoryStream, this._XmlEncoding))
				{
					//xmlWriter.Formatting = Formatting.Indented;
					this._XmlSerializer.Serialize( xmlWriter, mcuXmlApiType );
				}

				return this._XmlEncoding.GetString( memoryStream.ToArray() );
			}
		}
示例#5
0
		/// <summary>
		/// Send the specified request object to the ICM server and return response.
		/// </summary>
		/// <param name="request">ICM request object</param>
		/// <returns>ICM response object</returns>
		public XmlApi.MCUResponseType Request( XmlApi.MCURequestType request )
		{
			if( request == null )
				throw new ArgumentNullException( "request" );

			//
			// Serelize
			//
			string xmlRequest = this.SerializeMcuXmlApiTypeMessage( this.PrepareMcuXmlApiTypeMessage( request ) );
            /*string simpleRequest = xmlRequest;
            if (request is XmlApi.scheduleConferenceRequestType) { 
                XmlApi.scheduleConferenceRequestType requestType = (XmlApi.scheduleConferenceRequestType) request;
                if(requestType.Conference != null){
                    StringBuilder sb = new StringBuilder("");
                    sb.Append("Schedule_Conference_Request  ")
                        .Append("RequestID: ")
                        .Append(requestType.RequestID)
                        .Append("  ")
                        .Append("Subject: ")
                        .Append(requestType.Conference.Subject);
                    simpleRequest = sb.ToString();
                }
            }*/
            RvLogger.Write(LogModule.ICM, LogLevel.Verbose, "OUTGOING MESSAGE --> ICM\r\n{0}", xmlRequest);

			//
			// Disable Expected 100 Continue, because iView http server don't support it.
			//
			ServicePointManager.Expect100Continue = false;

			//
			// Request
			//
            this._Client.Headers.Add("Accept-Language", getAcceptLanguage());
            this._Client.Headers.Add("Content-Type", "application/x-www-form-urlencoded");

            string xmlResponse = this._XmlEncoding.GetString(this._Client.UploadData("/xmlservice/entry", "POST", this._XmlEncoding.GetBytes(xmlRequest)));

            if (request is XmlApi.getDialingInfoRequestType)
                RvLogger.Write(LogModule.ICM, LogLevel.Verbose, "INCOMMING MESSAGE <-- ICM\r\n{0}", "GetDialingInfo Response returned.");
            else if (request is XmlApi.getVirtualRoomRequestType)
                RvLogger.Write(LogModule.ICM, LogLevel.Verbose, "INCOMMING MESSAGE <-- ICM\r\n{0}", "GetVirtualRoom Response returned.");
            else
                RvLogger.Write( LogModule.ICM, LogLevel.Verbose, "INCOMMING MESSAGE <-- ICM\r\n{0}", xmlResponse );
			//
			// Deserilize
			//

            object obj = this.DeserializeMcuXmlApiTypeMessage(xmlResponse).Item;

			return ( ( XmlApi.responseType ) this.DeserializeMcuXmlApiTypeMessage( xmlResponse ).Item ).Item;
		}