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; }
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; }
/// <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; }
/// <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() ); } }
/// <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; }