/// <summary> /// RealWeb XML HTTP 통신 모듈 설정이다. /// </summary> /// <param name="uri">서버 URI</param> /// <param name="document">요청용 RclXmlDocument</param> /// <param name="isAsync">비동기 통신 여부</param> /// <param name="timeoutMilliseconds">통신 제한시간 (default : System.Threading.Timeout.Infinite)</param> /// <param name="userId"></param> /// <param name="password"></param> /// <returns>응답 XmlDocument</returns> public static XmlDoc Send(string uri, XmlDoc document, bool isAsync = false, int timeoutMilliseconds = System.Threading.Timeout.Infinite, string userId = null, string password = null) { uri.ShouldNotBeWhiteSpace("uri"); document.ShouldNotBeNull("document"); Guard.Assert(document.IsValidDocument(), "document is not valid xml document."); if(IsDebugEnabled) log.Debug("Send... uri=[{0}], isAsync=[{1}], timeoutMilliseconds=[{2}], userId=[{3}], password=[{4}], document=[{5}]", uri, isAsync, timeoutMilliseconds, userId, password, document); var xmlHttp = new XmlHttpClient(uri, isAsync, timeoutMilliseconds, userId, password); return xmlHttp.Send(document); }
/// <summary> /// Posting request xml document to server /// </summary> /// <param name="requestDoc"></param> /// <returns></returns> public XmlDoc Send(XmlDoc requestDoc) { requestDoc.ShouldNotBeNull("requestDoc"); Guard.Assert(requestDoc.IsValidDocument(), @"requestDoc is not valid xml document."); XmlDoc responseDoc = null; try { responseDoc = (XmlDoc)PostXml(requestDoc); } catch(Exception ex) { if(responseDoc.IsValidDocument()) responseDoc.AddElement(responseDoc.Root, "ERROR", ex.Message); else { if(log.IsErrorEnabled) log.ErrorException("Error occurred in Send() method.", ex); throw; } } return responseDoc; }